From afc9910d03d30bde16fac0c8b83e0f35a089c919 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Mon, 25 Nov 2024 09:45:48 +0100 Subject: [PATCH 01/21] update --- packages/mb-genql/generated/schema.graphql | 462 +++ packages/mb-genql/generated/schema.ts | 432 ++- packages/mb-genql/generated/types.ts | 3909 ++++++++++++-------- 3 files changed, 3170 insertions(+), 1633 deletions(-) diff --git a/packages/mb-genql/generated/schema.graphql b/packages/mb-genql/generated/schema.graphql index 332aac4d..d6e41f9a 100644 --- a/packages/mb-genql/generated/schema.graphql +++ b/packages/mb-genql/generated/schema.graphql @@ -5619,6 +5619,184 @@ input ReferralUpdates { where: ReferralBoolExp! } +""" +This junction table records social following relationships between users. Each record represents a follower-followee relationship. +""" +type SocialFollowing { + createdAt: timestamptz! + followeeId: uuid! + followerId: uuid! + + """An object relationship""" + user: User! + + """An object relationship""" + userByFollowerId: User! +} + +""" +aggregated selection of "social_following" +""" +type SocialFollowingAggregate { + aggregate: SocialFollowingAggregateFields + nodes: [SocialFollowing!]! +} + +input SocialFollowingAggregateBoolExp { + count: socialFollowingAggregateBoolExpCount +} + +""" +aggregate fields of "social_following" +""" +type SocialFollowingAggregateFields { + count(columns: [SocialFollowingSelectColumn!], distinct: Boolean): Int! + max: SocialFollowingMaxFields + min: SocialFollowingMinFields +} + +""" +order by aggregate values of table "social_following" +""" +input SocialFollowingAggregateOrderBy { + count: OrderBy + max: SocialFollowingMaxOrderBy + min: SocialFollowingMinOrderBy +} + +""" +input type for inserting array relation for remote table "social_following" +""" +input SocialFollowingArrRelInsertInput { + data: [SocialFollowingInsertInput!]! +} + +""" +Boolean expression to filter rows from the table "social_following". All fields are combined with a logical 'AND'. +""" +input SocialFollowingBoolExp { + _and: [SocialFollowingBoolExp!] + _not: SocialFollowingBoolExp + _or: [SocialFollowingBoolExp!] + createdAt: TimestamptzComparisonExp + followeeId: UuidComparisonExp + followerId: UuidComparisonExp + user: UserBoolExp + userByFollowerId: UserBoolExp +} + +""" +input type for inserting data into table "social_following" +""" +input SocialFollowingInsertInput { + createdAt: timestamptz + followeeId: uuid + followerId: uuid + user: UserObjRelInsertInput + userByFollowerId: UserObjRelInsertInput +} + +"""aggregate max on columns""" +type SocialFollowingMaxFields { + createdAt: timestamptz + followeeId: uuid + followerId: uuid +} + +""" +order by max() on columns of table "social_following" +""" +input SocialFollowingMaxOrderBy { + createdAt: OrderBy + followeeId: OrderBy + followerId: OrderBy +} + +"""aggregate min on columns""" +type SocialFollowingMinFields { + createdAt: timestamptz + followeeId: uuid + followerId: uuid +} + +""" +order by min() on columns of table "social_following" +""" +input SocialFollowingMinOrderBy { + createdAt: OrderBy + followeeId: OrderBy + followerId: OrderBy +} + +""" +response of any mutation on the table "social_following" +""" +type SocialFollowingMutationResponse { + """number of rows affected by the mutation""" + affectedRows: Int! + + """data from the rows affected by the mutation""" + returning: [SocialFollowing!]! +} + +"""Ordering options when selecting data from "social_following".""" +input SocialFollowingOrderBy { + createdAt: OrderBy + followeeId: OrderBy + followerId: OrderBy + user: UserOrderBy + userByFollowerId: UserOrderBy +} + +""" +select columns of table "social_following" +""" +enum SocialFollowingSelectColumn { + """column name""" + createdAt + + """column name""" + followeeId + + """column name""" + followerId +} + +""" +input type for updating data in table "social_following" +""" +input SocialFollowingSetInput { + createdAt: timestamptz + followeeId: uuid + followerId: uuid +} + +""" +Streaming cursor of the table "social_following" +""" +input SocialFollowingStreamCursorInput { + """Stream column input with initial value""" + initialValue: SocialFollowingStreamCursorValueInput! + + """cursor ordering""" + ordering: CursorOrdering +} + +"""Initial value of the column from where the streaming should start""" +input SocialFollowingStreamCursorValueInput { + createdAt: timestamptz + followeeId: uuid + followerId: uuid +} + +input SocialFollowingUpdates { + """sets the columns of the filtered rows to the given values""" + _set: SocialFollowingSetInput + + """filter the rows which have to be updated""" + where: SocialFollowingBoolExp! +} + """ Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. """ @@ -6854,6 +7032,8 @@ input TypeEnumUpdates { """Table storing information about registered users.""" type User { + bio: String + """An array relationship""" chats( """distinct select on columns""" @@ -6891,6 +7071,79 @@ type User { ): ChatAggregate! dateJoined: timestamptz! email: String! + favouriteTopic: String + + """An array relationship""" + followers( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): [SocialFollowing!]! + + """An aggregate relationship""" + followersAggregate( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): SocialFollowingAggregate! + + """An array relationship""" + following( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): [SocialFollowing!]! + + """An aggregate relationship""" + followingAggregate( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): SocialFollowingAggregate! getFreeMonth: Boolean isBlocked: Boolean isVerified: Boolean @@ -7042,6 +7295,7 @@ type User { """filter the rows returned""" where: ReferralBoolExp ): ReferralAggregate! + role: user_role! slug: String! """An array relationship""" @@ -7143,10 +7397,16 @@ input UserBoolExp { _and: [UserBoolExp!] _not: UserBoolExp _or: [UserBoolExp!] + bio: StringComparisonExp chats: ChatBoolExp chatsAggregate: ChatAggregateBoolExp dateJoined: TimestamptzComparisonExp email: StringComparisonExp + favouriteTopic: StringComparisonExp + followers: SocialFollowingBoolExp + followersAggregate: SocialFollowingAggregateBoolExp + following: SocialFollowingBoolExp + followingAggregate: SocialFollowingAggregateBoolExp getFreeMonth: BooleanComparisonExp isBlocked: BooleanComparisonExp isVerified: BooleanComparisonExp @@ -7162,6 +7422,7 @@ input UserBoolExp { referralsAggregate: ReferralAggregateBoolExp referralsByUserId: ReferralBoolExp referralsByUserIdAggregate: ReferralAggregateBoolExp + role: UserRoleComparisonExp slug: StringComparisonExp threads: ThreadBoolExp threadsAggregate: ThreadAggregateBoolExp @@ -7200,9 +7461,13 @@ enum UserConstraint { input type for inserting data into table "user" """ input UserInsertInput { + bio: String chats: ChatArrRelInsertInput dateJoined: timestamptz email: String + favouriteTopic: String + followers: SocialFollowingArrRelInsertInput + following: SocialFollowingArrRelInsertInput getFreeMonth: Boolean isBlocked: Boolean isVerified: Boolean @@ -7214,6 +7479,7 @@ input UserInsertInput { prompts: PromptUserArrRelInsertInput referrals: ReferralArrRelInsertInput referralsByUserId: ReferralArrRelInsertInput + role: user_role slug: String threads: ThreadArrRelInsertInput userId: uuid @@ -7223,12 +7489,15 @@ input UserInsertInput { """aggregate max on columns""" type UserMaxFields { + bio: String dateJoined: timestamptz email: String + favouriteTopic: String lastLogin: timestamptz password: String proUserSubscriptionId: String profilePicture: String + role: user_role slug: String userId: uuid username: String @@ -7236,12 +7505,15 @@ type UserMaxFields { """aggregate min on columns""" type UserMinFields { + bio: String dateJoined: timestamptz email: String + favouriteTopic: String lastLogin: timestamptz password: String proUserSubscriptionId: String profilePicture: String + role: user_role slug: String userId: uuid username: String @@ -7279,9 +7551,13 @@ input UserOnConflict { """Ordering options when selecting data from "user".""" input UserOrderBy { + bio: OrderBy chatsAggregate: ChatAggregateOrderBy dateJoined: OrderBy email: OrderBy + favouriteTopic: OrderBy + followersAggregate: SocialFollowingAggregateOrderBy + followingAggregate: SocialFollowingAggregateOrderBy getFreeMonth: OrderBy isBlocked: OrderBy isVerified: OrderBy @@ -7293,6 +7569,7 @@ input UserOrderBy { promptsAggregate: PromptUserAggregateOrderBy referralsAggregate: ReferralAggregateOrderBy referralsByUserIdAggregate: ReferralAggregateOrderBy + role: OrderBy slug: OrderBy threadsAggregate: ThreadAggregateOrderBy userId: OrderBy @@ -7305,16 +7582,37 @@ input UserPkColumnsInput { userId: uuid! } +""" +Boolean expression to compare columns of type "user_role". All fields are combined with logical 'AND'. +""" +input UserRoleComparisonExp { + _eq: user_role + _gt: user_role + _gte: user_role + _in: [user_role!] + _isNull: Boolean + _lt: user_role + _lte: user_role + _neq: user_role + _nin: [user_role!] +} + """ select columns of table "user" """ enum UserSelectColumn { + """column name""" + bio + """column name""" dateJoined """column name""" email + """column name""" + favouriteTopic + """column name""" getFreeMonth @@ -7336,6 +7634,9 @@ enum UserSelectColumn { """column name""" profilePicture + """column name""" + role + """column name""" slug @@ -7350,8 +7651,10 @@ enum UserSelectColumn { input type for updating data in table "user" """ input UserSetInput { + bio: String dateJoined: timestamptz email: String + favouriteTopic: String getFreeMonth: Boolean isBlocked: Boolean isVerified: Boolean @@ -7359,6 +7662,7 @@ input UserSetInput { password: String proUserSubscriptionId: String profilePicture: String + role: user_role slug: String userId: uuid username: String @@ -7377,8 +7681,10 @@ input UserStreamCursorInput { """Initial value of the column from where the streaming should start""" input UserStreamCursorValueInput { + bio: String dateJoined: timestamptz email: String + favouriteTopic: String getFreeMonth: Boolean isBlocked: Boolean isVerified: Boolean @@ -7386,6 +7692,7 @@ input UserStreamCursorValueInput { password: String proUserSubscriptionId: String profilePicture: String + role: user_role slug: String userId: uuid username: String @@ -7597,12 +7904,18 @@ input UserTokenUpdates { update columns of table "user" """ enum UserUpdateColumn { + """column name""" + bio + """column name""" dateJoined """column name""" email + """column name""" + favouriteTopic + """column name""" getFreeMonth @@ -7624,6 +7937,9 @@ enum UserUpdateColumn { """column name""" profilePicture + """column name""" + role + """column name""" slug @@ -7915,6 +8231,14 @@ type mutation_root { """ deleteReferralByPk(referralCode: String!): Referral + """ + delete data from the table: "social_following" + """ + deleteSocialFollowing( + """filter the rows which have to be deleted""" + where: SocialFollowingBoolExp! + ): SocialFollowingMutationResponse + """ delete data from the table: "thread" """ @@ -8367,6 +8691,22 @@ type mutation_root { onConflict: ReferralOnConflict ): Referral + """ + insert data into the table: "social_following" + """ + insertSocialFollowing( + """the rows to be inserted""" + objects: [SocialFollowingInsertInput!]! + ): SocialFollowingMutationResponse + + """ + insert a single row into the table: "social_following" + """ + insertSocialFollowingOne( + """the row to be inserted""" + object: SocialFollowingInsertInput! + ): SocialFollowing + """ insert data into the table: "thread" """ @@ -9035,6 +9375,25 @@ type mutation_root { updates: [ReferralUpdates!]! ): [ReferralMutationResponse] + """ + update data of the table: "social_following" + """ + updateSocialFollowing( + """sets the columns of the filtered rows to the given values""" + _set: SocialFollowingSetInput + + """filter the rows which have to be updated""" + where: SocialFollowingBoolExp! + ): SocialFollowingMutationResponse + + """ + update multiples rows of table: "social_following" + """ + updateSocialFollowingMany( + """updates to execute, in order""" + updates: [SocialFollowingUpdates!]! + ): [SocialFollowingMutationResponse] + """ update data of the table: "thread" """ @@ -9992,6 +10351,46 @@ type query_root { """fetch data from the table: "referral" using primary key columns""" referralByPk(referralCode: String!): Referral + """ + fetch data from the table: "social_following" + """ + socialFollowing( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): [SocialFollowing!]! + + """ + fetch aggregated fields from the table: "social_following" + """ + socialFollowingAggregate( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): SocialFollowingAggregate! + """ fetch data from the table: "thread" """ @@ -10258,6 +10657,13 @@ input referralAggregateBoolExpCount { predicate: IntComparisonExp! } +input socialFollowingAggregateBoolExpCount { + arguments: [SocialFollowingSelectColumn!] + distinct: Boolean + filter: SocialFollowingBoolExp + predicate: IntComparisonExp! +} + type subscription_root { """ fetch data from the table: "category" @@ -11236,6 +11642,60 @@ type subscription_root { where: ReferralBoolExp ): [Referral!]! + """ + fetch data from the table: "social_following" + """ + socialFollowing( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): [SocialFollowing!]! + + """ + fetch aggregated fields from the table: "social_following" + """ + socialFollowingAggregate( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): SocialFollowingAggregate! + + """ + fetch data from the table in a streaming manner: "social_following" + """ + socialFollowingStream( + """maximum number of rows returned in a single batch""" + batchSize: Int! + + """cursor to stream the results returned by the query""" + cursor: [SocialFollowingStreamCursorInput]! + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): [SocialFollowing!]! + """ fetch data from the table: "thread" """ @@ -11609,4 +12069,6 @@ input userTokenAggregateBoolExpCount { predicate: IntComparisonExp! } +scalar user_role + scalar uuid \ No newline at end of file diff --git a/packages/mb-genql/generated/schema.ts b/packages/mb-genql/generated/schema.ts index eb5213d2..abb0bc9f 100644 --- a/packages/mb-genql/generated/schema.ts +++ b/packages/mb-genql/generated/schema.ts @@ -9,6 +9,7 @@ export type Scalars = { Int: number, String: string, timestamptz: any, + user_role: any, uuid: any, } @@ -1976,6 +1977,68 @@ export type ReferralSelectColumn = 'referralCode' | 'referrerId' | 'userId' export type ReferralUpdateColumn = 'referralCode' | 'referrerId' | 'userId' +/** This junction table records social following relationships between users. Each record represents a follower-followee relationship. */ +export interface SocialFollowing { + createdAt: Scalars['timestamptz'] + followeeId: Scalars['uuid'] + followerId: Scalars['uuid'] + /** An object relationship */ + user: User + /** An object relationship */ + userByFollowerId: User + __typename: 'SocialFollowing' +} + + +/** aggregated selection of "social_following" */ +export interface SocialFollowingAggregate { + aggregate: (SocialFollowingAggregateFields | null) + nodes: SocialFollowing[] + __typename: 'SocialFollowingAggregate' +} + + +/** aggregate fields of "social_following" */ +export interface SocialFollowingAggregateFields { + count: Scalars['Int'] + max: (SocialFollowingMaxFields | null) + min: (SocialFollowingMinFields | null) + __typename: 'SocialFollowingAggregateFields' +} + + +/** aggregate max on columns */ +export interface SocialFollowingMaxFields { + createdAt: (Scalars['timestamptz'] | null) + followeeId: (Scalars['uuid'] | null) + followerId: (Scalars['uuid'] | null) + __typename: 'SocialFollowingMaxFields' +} + + +/** aggregate min on columns */ +export interface SocialFollowingMinFields { + createdAt: (Scalars['timestamptz'] | null) + followeeId: (Scalars['uuid'] | null) + followerId: (Scalars['uuid'] | null) + __typename: 'SocialFollowingMinFields' +} + + +/** response of any mutation on the table "social_following" */ +export interface SocialFollowingMutationResponse { + /** number of rows affected by the mutation */ + affectedRows: Scalars['Int'] + /** data from the rows affected by the mutation */ + returning: SocialFollowing[] + __typename: 'SocialFollowingMutationResponse' +} + + +/** select columns of table "social_following" */ +export type SocialFollowingSelectColumn = 'createdAt' | 'followeeId' | 'followerId' + + /** columns and relationships of "thread" */ export interface Thread { /** An object relationship */ @@ -2339,12 +2402,22 @@ export type TypeEnumUpdateColumn = 'value' /** Table storing information about registered users. */ export interface User { + bio: (Scalars['String'] | null) /** An array relationship */ chats: Chat[] /** An aggregate relationship */ chatsAggregate: ChatAggregate dateJoined: Scalars['timestamptz'] email: Scalars['String'] + favouriteTopic: (Scalars['String'] | null) + /** An array relationship */ + followers: SocialFollowing[] + /** An aggregate relationship */ + followersAggregate: SocialFollowingAggregate + /** An array relationship */ + following: SocialFollowing[] + /** An aggregate relationship */ + followingAggregate: SocialFollowingAggregate getFreeMonth: (Scalars['Boolean'] | null) isBlocked: (Scalars['Boolean'] | null) isVerified: (Scalars['Boolean'] | null) @@ -2368,6 +2441,7 @@ export interface User { referralsByUserId: Referral[] /** An aggregate relationship */ referralsByUserIdAggregate: ReferralAggregate + role: Scalars['user_role'] slug: Scalars['String'] /** An array relationship */ threads: Thread[] @@ -2379,7 +2453,6 @@ export interface User { /** An aggregate relationship */ userTokensAggregate: UserTokenAggregate username: Scalars['String'] - role: Scalars['String'] __typename: 'User' } @@ -2407,12 +2480,15 @@ export type UserConstraint = 'unique_slug' | 'user_email_key' | 'user_pkey' | 'u /** aggregate max on columns */ export interface UserMaxFields { + bio: (Scalars['String'] | null) dateJoined: (Scalars['timestamptz'] | null) email: (Scalars['String'] | null) + favouriteTopic: (Scalars['String'] | null) lastLogin: (Scalars['timestamptz'] | null) password: (Scalars['String'] | null) proUserSubscriptionId: (Scalars['String'] | null) profilePicture: (Scalars['String'] | null) + role: (Scalars['user_role'] | null) slug: (Scalars['String'] | null) userId: (Scalars['uuid'] | null) username: (Scalars['String'] | null) @@ -2422,12 +2498,15 @@ export interface UserMaxFields { /** aggregate min on columns */ export interface UserMinFields { + bio: (Scalars['String'] | null) dateJoined: (Scalars['timestamptz'] | null) email: (Scalars['String'] | null) + favouriteTopic: (Scalars['String'] | null) lastLogin: (Scalars['timestamptz'] | null) password: (Scalars['String'] | null) proUserSubscriptionId: (Scalars['String'] | null) profilePicture: (Scalars['String'] | null) + role: (Scalars['user_role'] | null) slug: (Scalars['String'] | null) userId: (Scalars['uuid'] | null) username: (Scalars['String'] | null) @@ -2446,7 +2525,7 @@ export interface UserMutationResponse { /** select columns of table "user" */ -export type UserSelectColumn = 'dateJoined' | 'email' | 'getFreeMonth' | 'isBlocked' | 'isVerified' | 'lastLogin' | 'password' | 'proUserSubscriptionId' | 'profilePicture' | 'slug' | 'userId' | 'username' +export type UserSelectColumn = 'bio' | 'dateJoined' | 'email' | 'favouriteTopic' | 'getFreeMonth' | 'isBlocked' | 'isVerified' | 'lastLogin' | 'password' | 'proUserSubscriptionId' | 'profilePicture' | 'role' | 'slug' | 'userId' | 'username' /** user <> token relationship OTP (reset password/activate account) */ @@ -2517,7 +2596,7 @@ export type UserTokenUpdateColumn = 'token' | 'userId' /** update columns of table "user" */ -export type UserUpdateColumn = 'dateJoined' | 'email' | 'getFreeMonth' | 'isBlocked' | 'isVerified' | 'lastLogin' | 'password' | 'proUserSubscriptionId' | 'profilePicture' | 'slug' | 'userId' | 'username' +export type UserUpdateColumn = 'bio' | 'dateJoined' | 'email' | 'favouriteTopic' | 'getFreeMonth' | 'isBlocked' | 'isVerified' | 'lastLogin' | 'password' | 'proUserSubscriptionId' | 'profilePicture' | 'role' | 'slug' | 'userId' | 'username' /** mutation root */ @@ -2590,6 +2669,8 @@ export interface mutation_root { deleteReferral: (ReferralMutationResponse | null) /** delete single row from the table: "referral" */ deleteReferralByPk: (Referral | null) + /** delete data from the table: "social_following" */ + deleteSocialFollowing: (SocialFollowingMutationResponse | null) /** delete data from the table: "thread" */ deleteThread: (ThreadMutationResponse | null) /** delete single row from the table: "thread" */ @@ -2682,6 +2763,10 @@ export interface mutation_root { insertReferral: (ReferralMutationResponse | null) /** insert a single row into the table: "referral" */ insertReferralOne: (Referral | null) + /** insert data into the table: "social_following" */ + insertSocialFollowing: (SocialFollowingMutationResponse | null) + /** insert a single row into the table: "social_following" */ + insertSocialFollowingOne: (SocialFollowing | null) /** insert data into the table: "thread" */ insertThread: (ThreadMutationResponse | null) /** insert a single row into the table: "thread" */ @@ -2808,6 +2893,10 @@ export interface mutation_root { updateReferralByPk: (Referral | null) /** update multiples rows of table: "referral" */ updateReferralMany: ((ReferralMutationResponse | null)[] | null) + /** update data of the table: "social_following" */ + updateSocialFollowing: (SocialFollowingMutationResponse | null) + /** update multiples rows of table: "social_following" */ + updateSocialFollowingMany: ((SocialFollowingMutationResponse | null)[] | null) /** update data of the table: "thread" */ updateThread: (ThreadMutationResponse | null) /** update single row of the table: "thread" */ @@ -2950,6 +3039,10 @@ export interface query_root { referralAggregate: ReferralAggregate /** fetch data from the table: "referral" using primary key columns */ referralByPk: (Referral | null) + /** fetch data from the table: "social_following" */ + socialFollowing: SocialFollowing[] + /** fetch aggregated fields from the table: "social_following" */ + socialFollowingAggregate: SocialFollowingAggregate /** fetch data from the table: "thread" */ thread: Thread[] /** fetch aggregated fields from the table: "thread" */ @@ -3126,6 +3219,12 @@ export interface subscription_root { referralByPk: (Referral | null) /** fetch data from the table in a streaming manner: "referral" */ referralStream: Referral[] + /** fetch data from the table: "social_following" */ + socialFollowing: SocialFollowing[] + /** fetch aggregated fields from the table: "social_following" */ + socialFollowingAggregate: SocialFollowingAggregate + /** fetch data from the table in a streaming manner: "social_following" */ + socialFollowingStream: SocialFollowing[] /** fetch data from the table: "thread" */ thread: Thread[] /** fetch aggregated fields from the table: "thread" */ @@ -6761,6 +6860,122 @@ _set?: (ReferralSetInput | null), where: ReferralBoolExp} +/** This junction table records social following relationships between users. Each record represents a follower-followee relationship. */ +export interface SocialFollowingGenqlSelection{ + createdAt?: boolean | number + followeeId?: boolean | number + followerId?: boolean | number + /** An object relationship */ + user?: UserGenqlSelection + /** An object relationship */ + userByFollowerId?: UserGenqlSelection + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** aggregated selection of "social_following" */ +export interface SocialFollowingAggregateGenqlSelection{ + aggregate?: SocialFollowingAggregateFieldsGenqlSelection + nodes?: SocialFollowingGenqlSelection + __typename?: boolean | number + __scalar?: boolean | number +} + +export interface SocialFollowingAggregateBoolExp {count?: (socialFollowingAggregateBoolExpCount | null)} + + +/** aggregate fields of "social_following" */ +export interface SocialFollowingAggregateFieldsGenqlSelection{ + count?: { __args: {columns?: (SocialFollowingSelectColumn[] | null), distinct?: (Scalars['Boolean'] | null)} } | boolean | number + max?: SocialFollowingMaxFieldsGenqlSelection + min?: SocialFollowingMinFieldsGenqlSelection + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by aggregate values of table "social_following" */ +export interface SocialFollowingAggregateOrderBy {count?: (OrderBy | null),max?: (SocialFollowingMaxOrderBy | null),min?: (SocialFollowingMinOrderBy | null)} + + +/** input type for inserting array relation for remote table "social_following" */ +export interface SocialFollowingArrRelInsertInput {data: SocialFollowingInsertInput[]} + + +/** Boolean expression to filter rows from the table "social_following". All fields are combined with a logical 'AND'. */ +export interface SocialFollowingBoolExp {_and?: (SocialFollowingBoolExp[] | null),_not?: (SocialFollowingBoolExp | null),_or?: (SocialFollowingBoolExp[] | null),createdAt?: (TimestamptzComparisonExp | null),followeeId?: (UuidComparisonExp | null),followerId?: (UuidComparisonExp | null),user?: (UserBoolExp | null),userByFollowerId?: (UserBoolExp | null)} + + +/** input type for inserting data into table "social_following" */ +export interface SocialFollowingInsertInput {createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followerId?: (Scalars['uuid'] | null),user?: (UserObjRelInsertInput | null),userByFollowerId?: (UserObjRelInsertInput | null)} + + +/** aggregate max on columns */ +export interface SocialFollowingMaxFieldsGenqlSelection{ + createdAt?: boolean | number + followeeId?: boolean | number + followerId?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by max() on columns of table "social_following" */ +export interface SocialFollowingMaxOrderBy {createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followerId?: (OrderBy | null)} + + +/** aggregate min on columns */ +export interface SocialFollowingMinFieldsGenqlSelection{ + createdAt?: boolean | number + followeeId?: boolean | number + followerId?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by min() on columns of table "social_following" */ +export interface SocialFollowingMinOrderBy {createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followerId?: (OrderBy | null)} + + +/** response of any mutation on the table "social_following" */ +export interface SocialFollowingMutationResponseGenqlSelection{ + /** number of rows affected by the mutation */ + affectedRows?: boolean | number + /** data from the rows affected by the mutation */ + returning?: SocialFollowingGenqlSelection + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** Ordering options when selecting data from "social_following". */ +export interface SocialFollowingOrderBy {createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followerId?: (OrderBy | null),user?: (UserOrderBy | null),userByFollowerId?: (UserOrderBy | null)} + + +/** input type for updating data in table "social_following" */ +export interface SocialFollowingSetInput {createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followerId?: (Scalars['uuid'] | null)} + + +/** Streaming cursor of the table "social_following" */ +export interface SocialFollowingStreamCursorInput { +/** Stream column input with initial value */ +initialValue: SocialFollowingStreamCursorValueInput, +/** cursor ordering */ +ordering?: (CursorOrdering | null)} + + +/** Initial value of the column from where the streaming should start */ +export interface SocialFollowingStreamCursorValueInput {createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followerId?: (Scalars['uuid'] | null)} + +export interface SocialFollowingUpdates { +/** sets the columns of the filtered rows to the given values */ +_set?: (SocialFollowingSetInput | null), +/** filter the rows which have to be updated */ +where: SocialFollowingBoolExp} + + /** Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. */ export interface StringComparisonExp {_eq?: (Scalars['String'] | null),_gt?: (Scalars['String'] | null),_gte?: (Scalars['String'] | null), /** does the column match the given case-insensitive pattern */ @@ -7498,6 +7713,7 @@ where: TypeEnumBoolExp} /** Table storing information about registered users. */ export interface UserGenqlSelection{ + bio?: boolean | number /** An array relationship */ chats?: (ChatGenqlSelection & { __args?: { /** distinct select on columns */ @@ -7524,6 +7740,55 @@ export interface UserGenqlSelection{ where?: (ChatBoolExp | null)} }) dateJoined?: boolean | number email?: boolean | number + favouriteTopic?: boolean | number + /** An array relationship */ + followers?: (SocialFollowingGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) + /** An aggregate relationship */ + followersAggregate?: (SocialFollowingAggregateGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) + /** An array relationship */ + following?: (SocialFollowingGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) + /** An aggregate relationship */ + followingAggregate?: (SocialFollowingAggregateGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) getFreeMonth?: boolean | number isBlocked?: boolean | number isVerified?: boolean | number @@ -7627,6 +7892,7 @@ export interface UserGenqlSelection{ orderBy?: (ReferralOrderBy[] | null), /** filter the rows returned */ where?: (ReferralBoolExp | null)} }) + role?: boolean | number slug?: boolean | number /** An array relationship */ threads?: (ThreadGenqlSelection & { __args?: { @@ -7703,21 +7969,24 @@ export interface UserAggregateFieldsGenqlSelection{ /** Boolean expression to filter rows from the table "user". All fields are combined with a logical 'AND'. */ -export interface UserBoolExp {_and?: (UserBoolExp[] | null),_not?: (UserBoolExp | null),_or?: (UserBoolExp[] | null),chats?: (ChatBoolExp | null),chatsAggregate?: (ChatAggregateBoolExp | null),dateJoined?: (TimestamptzComparisonExp | null),email?: (StringComparisonExp | null),getFreeMonth?: (BooleanComparisonExp | null),isBlocked?: (BooleanComparisonExp | null),isVerified?: (BooleanComparisonExp | null),lastLogin?: (TimestamptzComparisonExp | null),password?: (StringComparisonExp | null),preferences?: (PreferenceBoolExp | null),preferencesAggregate?: (PreferenceAggregateBoolExp | null),proUserSubscriptionId?: (StringComparisonExp | null),profilePicture?: (StringComparisonExp | null),prompts?: (PromptUserBoolExp | null),promptsAggregate?: (PromptUserAggregateBoolExp | null),referrals?: (ReferralBoolExp | null),referralsAggregate?: (ReferralAggregateBoolExp | null),referralsByUserId?: (ReferralBoolExp | null),referralsByUserIdAggregate?: (ReferralAggregateBoolExp | null),slug?: (StringComparisonExp | null),threads?: (ThreadBoolExp | null),threadsAggregate?: (ThreadAggregateBoolExp | null),userId?: (UuidComparisonExp | null),userTokens?: (UserTokenBoolExp | null),userTokensAggregate?: (UserTokenAggregateBoolExp | null),username?: (StringComparisonExp | null)} +export interface UserBoolExp {_and?: (UserBoolExp[] | null),_not?: (UserBoolExp | null),_or?: (UserBoolExp[] | null),bio?: (StringComparisonExp | null),chats?: (ChatBoolExp | null),chatsAggregate?: (ChatAggregateBoolExp | null),dateJoined?: (TimestamptzComparisonExp | null),email?: (StringComparisonExp | null),favouriteTopic?: (StringComparisonExp | null),followers?: (SocialFollowingBoolExp | null),followersAggregate?: (SocialFollowingAggregateBoolExp | null),following?: (SocialFollowingBoolExp | null),followingAggregate?: (SocialFollowingAggregateBoolExp | null),getFreeMonth?: (BooleanComparisonExp | null),isBlocked?: (BooleanComparisonExp | null),isVerified?: (BooleanComparisonExp | null),lastLogin?: (TimestamptzComparisonExp | null),password?: (StringComparisonExp | null),preferences?: (PreferenceBoolExp | null),preferencesAggregate?: (PreferenceAggregateBoolExp | null),proUserSubscriptionId?: (StringComparisonExp | null),profilePicture?: (StringComparisonExp | null),prompts?: (PromptUserBoolExp | null),promptsAggregate?: (PromptUserAggregateBoolExp | null),referrals?: (ReferralBoolExp | null),referralsAggregate?: (ReferralAggregateBoolExp | null),referralsByUserId?: (ReferralBoolExp | null),referralsByUserIdAggregate?: (ReferralAggregateBoolExp | null),role?: (UserRoleComparisonExp | null),slug?: (StringComparisonExp | null),threads?: (ThreadBoolExp | null),threadsAggregate?: (ThreadAggregateBoolExp | null),userId?: (UuidComparisonExp | null),userTokens?: (UserTokenBoolExp | null),userTokensAggregate?: (UserTokenAggregateBoolExp | null),username?: (StringComparisonExp | null)} /** input type for inserting data into table "user" */ -export interface UserInsertInput {chats?: (ChatArrRelInsertInput | null),dateJoined?: (Scalars['timestamptz'] | null),email?: (Scalars['String'] | null),getFreeMonth?: (Scalars['Boolean'] | null),isBlocked?: (Scalars['Boolean'] | null),isVerified?: (Scalars['Boolean'] | null),lastLogin?: (Scalars['timestamptz'] | null),password?: (Scalars['String'] | null),preferences?: (PreferenceArrRelInsertInput | null),proUserSubscriptionId?: (Scalars['String'] | null),profilePicture?: (Scalars['String'] | null),prompts?: (PromptUserArrRelInsertInput | null),referrals?: (ReferralArrRelInsertInput | null),referralsByUserId?: (ReferralArrRelInsertInput | null),slug?: (Scalars['String'] | null),threads?: (ThreadArrRelInsertInput | null),userId?: (Scalars['uuid'] | null),userTokens?: (UserTokenArrRelInsertInput | null),username?: (Scalars['String'] | null)} +export interface UserInsertInput {bio?: (Scalars['String'] | null),chats?: (ChatArrRelInsertInput | null),dateJoined?: (Scalars['timestamptz'] | null),email?: (Scalars['String'] | null),favouriteTopic?: (Scalars['String'] | null),followers?: (SocialFollowingArrRelInsertInput | null),following?: (SocialFollowingArrRelInsertInput | null),getFreeMonth?: (Scalars['Boolean'] | null),isBlocked?: (Scalars['Boolean'] | null),isVerified?: (Scalars['Boolean'] | null),lastLogin?: (Scalars['timestamptz'] | null),password?: (Scalars['String'] | null),preferences?: (PreferenceArrRelInsertInput | null),proUserSubscriptionId?: (Scalars['String'] | null),profilePicture?: (Scalars['String'] | null),prompts?: (PromptUserArrRelInsertInput | null),referrals?: (ReferralArrRelInsertInput | null),referralsByUserId?: (ReferralArrRelInsertInput | null),role?: (Scalars['user_role'] | null),slug?: (Scalars['String'] | null),threads?: (ThreadArrRelInsertInput | null),userId?: (Scalars['uuid'] | null),userTokens?: (UserTokenArrRelInsertInput | null),username?: (Scalars['String'] | null)} /** aggregate max on columns */ export interface UserMaxFieldsGenqlSelection{ + bio?: boolean | number dateJoined?: boolean | number email?: boolean | number + favouriteTopic?: boolean | number lastLogin?: boolean | number password?: boolean | number proUserSubscriptionId?: boolean | number profilePicture?: boolean | number + role?: boolean | number slug?: boolean | number userId?: boolean | number username?: boolean | number @@ -7728,12 +7997,15 @@ export interface UserMaxFieldsGenqlSelection{ /** aggregate min on columns */ export interface UserMinFieldsGenqlSelection{ + bio?: boolean | number dateJoined?: boolean | number email?: boolean | number + favouriteTopic?: boolean | number lastLogin?: boolean | number password?: boolean | number proUserSubscriptionId?: boolean | number profilePicture?: boolean | number + role?: boolean | number slug?: boolean | number userId?: boolean | number username?: boolean | number @@ -7764,15 +8036,19 @@ export interface UserOnConflict {constraint: UserConstraint,updateColumns?: User /** Ordering options when selecting data from "user". */ -export interface UserOrderBy {chatsAggregate?: (ChatAggregateOrderBy | null),dateJoined?: (OrderBy | null),email?: (OrderBy | null),getFreeMonth?: (OrderBy | null),isBlocked?: (OrderBy | null),isVerified?: (OrderBy | null),lastLogin?: (OrderBy | null),password?: (OrderBy | null),preferencesAggregate?: (PreferenceAggregateOrderBy | null),proUserSubscriptionId?: (OrderBy | null),profilePicture?: (OrderBy | null),promptsAggregate?: (PromptUserAggregateOrderBy | null),referralsAggregate?: (ReferralAggregateOrderBy | null),referralsByUserIdAggregate?: (ReferralAggregateOrderBy | null),slug?: (OrderBy | null),threadsAggregate?: (ThreadAggregateOrderBy | null),userId?: (OrderBy | null),userTokensAggregate?: (UserTokenAggregateOrderBy | null),username?: (OrderBy | null)} +export interface UserOrderBy {bio?: (OrderBy | null),chatsAggregate?: (ChatAggregateOrderBy | null),dateJoined?: (OrderBy | null),email?: (OrderBy | null),favouriteTopic?: (OrderBy | null),followersAggregate?: (SocialFollowingAggregateOrderBy | null),followingAggregate?: (SocialFollowingAggregateOrderBy | null),getFreeMonth?: (OrderBy | null),isBlocked?: (OrderBy | null),isVerified?: (OrderBy | null),lastLogin?: (OrderBy | null),password?: (OrderBy | null),preferencesAggregate?: (PreferenceAggregateOrderBy | null),proUserSubscriptionId?: (OrderBy | null),profilePicture?: (OrderBy | null),promptsAggregate?: (PromptUserAggregateOrderBy | null),referralsAggregate?: (ReferralAggregateOrderBy | null),referralsByUserIdAggregate?: (ReferralAggregateOrderBy | null),role?: (OrderBy | null),slug?: (OrderBy | null),threadsAggregate?: (ThreadAggregateOrderBy | null),userId?: (OrderBy | null),userTokensAggregate?: (UserTokenAggregateOrderBy | null),username?: (OrderBy | null)} /** primary key columns input for table: user */ export interface UserPkColumnsInput {userId: Scalars['uuid']} +/** Boolean expression to compare columns of type "user_role". All fields are combined with logical 'AND'. */ +export interface UserRoleComparisonExp {_eq?: (Scalars['user_role'] | null),_gt?: (Scalars['user_role'] | null),_gte?: (Scalars['user_role'] | null),_in?: (Scalars['user_role'][] | null),_isNull?: (Scalars['Boolean'] | null),_lt?: (Scalars['user_role'] | null),_lte?: (Scalars['user_role'] | null),_neq?: (Scalars['user_role'] | null),_nin?: (Scalars['user_role'][] | null)} + + /** input type for updating data in table "user" */ -export interface UserSetInput {dateJoined?: (Scalars['timestamptz'] | null),email?: (Scalars['String'] | null),getFreeMonth?: (Scalars['Boolean'] | null),isBlocked?: (Scalars['Boolean'] | null),isVerified?: (Scalars['Boolean'] | null),lastLogin?: (Scalars['timestamptz'] | null),password?: (Scalars['String'] | null),proUserSubscriptionId?: (Scalars['String'] | null),profilePicture?: (Scalars['String'] | null),slug?: (Scalars['String'] | null),userId?: (Scalars['uuid'] | null),username?: (Scalars['String'] | null)} +export interface UserSetInput {bio?: (Scalars['String'] | null),dateJoined?: (Scalars['timestamptz'] | null),email?: (Scalars['String'] | null),favouriteTopic?: (Scalars['String'] | null),getFreeMonth?: (Scalars['Boolean'] | null),isBlocked?: (Scalars['Boolean'] | null),isVerified?: (Scalars['Boolean'] | null),lastLogin?: (Scalars['timestamptz'] | null),password?: (Scalars['String'] | null),proUserSubscriptionId?: (Scalars['String'] | null),profilePicture?: (Scalars['String'] | null),role?: (Scalars['user_role'] | null),slug?: (Scalars['String'] | null),userId?: (Scalars['uuid'] | null),username?: (Scalars['String'] | null)} /** Streaming cursor of the table "user" */ @@ -7784,7 +8060,7 @@ ordering?: (CursorOrdering | null)} /** Initial value of the column from where the streaming should start */ -export interface UserStreamCursorValueInput {dateJoined?: (Scalars['timestamptz'] | null),email?: (Scalars['String'] | null),getFreeMonth?: (Scalars['Boolean'] | null),isBlocked?: (Scalars['Boolean'] | null),isVerified?: (Scalars['Boolean'] | null),lastLogin?: (Scalars['timestamptz'] | null),password?: (Scalars['String'] | null),proUserSubscriptionId?: (Scalars['String'] | null),profilePicture?: (Scalars['String'] | null),slug?: (Scalars['String'] | null),userId?: (Scalars['uuid'] | null),username?: (Scalars['String'] | null)} +export interface UserStreamCursorValueInput {bio?: (Scalars['String'] | null),dateJoined?: (Scalars['timestamptz'] | null),email?: (Scalars['String'] | null),favouriteTopic?: (Scalars['String'] | null),getFreeMonth?: (Scalars['Boolean'] | null),isBlocked?: (Scalars['Boolean'] | null),isVerified?: (Scalars['Boolean'] | null),lastLogin?: (Scalars['timestamptz'] | null),password?: (Scalars['String'] | null),proUserSubscriptionId?: (Scalars['String'] | null),profilePicture?: (Scalars['String'] | null),role?: (Scalars['user_role'] | null),slug?: (Scalars['String'] | null),userId?: (Scalars['uuid'] | null),username?: (Scalars['String'] | null)} /** user <> token relationship OTP (reset password/activate account) */ @@ -8034,6 +8310,10 @@ export interface mutation_rootGenqlSelection{ where: ReferralBoolExp} }) /** delete single row from the table: "referral" */ deleteReferralByPk?: (ReferralGenqlSelection & { __args: {referralCode: Scalars['String']} }) + /** delete data from the table: "social_following" */ + deleteSocialFollowing?: (SocialFollowingMutationResponseGenqlSelection & { __args: { + /** filter the rows which have to be deleted */ + where: SocialFollowingBoolExp} }) /** delete data from the table: "thread" */ deleteThread?: (ThreadMutationResponseGenqlSelection & { __args: { /** filter the rows which have to be deleted */ @@ -8274,6 +8554,14 @@ export interface mutation_rootGenqlSelection{ object: ReferralInsertInput, /** upsert condition */ onConflict?: (ReferralOnConflict | null)} }) + /** insert data into the table: "social_following" */ + insertSocialFollowing?: (SocialFollowingMutationResponseGenqlSelection & { __args: { + /** the rows to be inserted */ + objects: SocialFollowingInsertInput[]} }) + /** insert a single row into the table: "social_following" */ + insertSocialFollowingOne?: (SocialFollowingGenqlSelection & { __args: { + /** the row to be inserted */ + object: SocialFollowingInsertInput} }) /** insert data into the table: "thread" */ insertThread?: (ThreadMutationResponseGenqlSelection & { __args: { /** the rows to be inserted */ @@ -8624,6 +8912,16 @@ export interface mutation_rootGenqlSelection{ updateReferralMany?: (ReferralMutationResponseGenqlSelection & { __args: { /** updates to execute, in order */ updates: ReferralUpdates[]} }) + /** update data of the table: "social_following" */ + updateSocialFollowing?: (SocialFollowingMutationResponseGenqlSelection & { __args: { + /** sets the columns of the filtered rows to the given values */ + _set?: (SocialFollowingSetInput | null), + /** filter the rows which have to be updated */ + where: SocialFollowingBoolExp} }) + /** update multiples rows of table: "social_following" */ + updateSocialFollowingMany?: (SocialFollowingMutationResponseGenqlSelection & { __args: { + /** updates to execute, in order */ + updates: SocialFollowingUpdates[]} }) /** update data of the table: "thread" */ updateThread?: (ThreadMutationResponseGenqlSelection & { __args: { /** increments the numeric columns with given value of the filtered values */ @@ -9171,6 +9469,30 @@ export interface query_rootGenqlSelection{ where?: (ReferralBoolExp | null)} }) /** fetch data from the table: "referral" using primary key columns */ referralByPk?: (ReferralGenqlSelection & { __args: {referralCode: Scalars['String']} }) + /** fetch data from the table: "social_following" */ + socialFollowing?: (SocialFollowingGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) + /** fetch aggregated fields from the table: "social_following" */ + socialFollowingAggregate?: (SocialFollowingAggregateGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) /** fetch data from the table: "thread" */ thread?: (ThreadGenqlSelection & { __args?: { /** distinct select on columns */ @@ -9333,6 +9655,8 @@ export interface query_rootGenqlSelection{ export interface referralAggregateBoolExpCount {arguments?: (ReferralSelectColumn[] | null),distinct?: (Scalars['Boolean'] | null),filter?: (ReferralBoolExp | null),predicate: IntComparisonExp} +export interface socialFollowingAggregateBoolExpCount {arguments?: (SocialFollowingSelectColumn[] | null),distinct?: (Scalars['Boolean'] | null),filter?: (SocialFollowingBoolExp | null),predicate: IntComparisonExp} + export interface subscription_rootGenqlSelection{ /** fetch data from the table: "category" */ category?: (CategoryGenqlSelection & { __args?: { @@ -9912,6 +10236,38 @@ export interface subscription_rootGenqlSelection{ cursor: (ReferralStreamCursorInput | null)[], /** filter the rows returned */ where?: (ReferralBoolExp | null)} }) + /** fetch data from the table: "social_following" */ + socialFollowing?: (SocialFollowingGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) + /** fetch aggregated fields from the table: "social_following" */ + socialFollowingAggregate?: (SocialFollowingAggregateGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) + /** fetch data from the table in a streaming manner: "social_following" */ + socialFollowingStream?: (SocialFollowingGenqlSelection & { __args: { + /** maximum number of rows returned in a single batch */ + batchSize: Scalars['Int'], + /** cursor to stream the results returned by the query */ + cursor: (SocialFollowingStreamCursorInput | null)[], + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) /** fetch data from the table: "thread" */ thread?: (ThreadGenqlSelection & { __args?: { /** distinct select on columns */ @@ -11589,6 +11945,54 @@ export type SubscriptionGenqlSelection = subscription_rootGenqlSelection + const SocialFollowing_possibleTypes: string[] = ['SocialFollowing'] + export const isSocialFollowing = (obj?: { __typename?: any } | null): obj is SocialFollowing => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowing"') + return SocialFollowing_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingAggregate_possibleTypes: string[] = ['SocialFollowingAggregate'] + export const isSocialFollowingAggregate = (obj?: { __typename?: any } | null): obj is SocialFollowingAggregate => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingAggregate"') + return SocialFollowingAggregate_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingAggregateFields_possibleTypes: string[] = ['SocialFollowingAggregateFields'] + export const isSocialFollowingAggregateFields = (obj?: { __typename?: any } | null): obj is SocialFollowingAggregateFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingAggregateFields"') + return SocialFollowingAggregateFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingMaxFields_possibleTypes: string[] = ['SocialFollowingMaxFields'] + export const isSocialFollowingMaxFields = (obj?: { __typename?: any } | null): obj is SocialFollowingMaxFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingMaxFields"') + return SocialFollowingMaxFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingMinFields_possibleTypes: string[] = ['SocialFollowingMinFields'] + export const isSocialFollowingMinFields = (obj?: { __typename?: any } | null): obj is SocialFollowingMinFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingMinFields"') + return SocialFollowingMinFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingMutationResponse_possibleTypes: string[] = ['SocialFollowingMutationResponse'] + export const isSocialFollowingMutationResponse = (obj?: { __typename?: any } | null): obj is SocialFollowingMutationResponse => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingMutationResponse"') + return SocialFollowingMutationResponse_possibleTypes.includes(obj.__typename) + } + + + const Thread_possibleTypes: string[] = ['Thread'] export const isThread = (obj?: { __typename?: any } | null): obj is Thread => { if (!obj?.__typename) throw new Error('__typename is missing in "isThread"') @@ -12282,6 +12686,12 @@ export const enumReferralUpdateColumn = { userId: 'userId' as const } +export const enumSocialFollowingSelectColumn = { + createdAt: 'createdAt' as const, + followeeId: 'followeeId' as const, + followerId: 'followerId' as const +} + export const enumThreadConstraint = { thread_id_key: 'thread_id_key' as const, thread_pkey: 'thread_pkey' as const @@ -12369,8 +12779,10 @@ export const enumUserConstraint = { } export const enumUserSelectColumn = { + bio: 'bio' as const, dateJoined: 'dateJoined' as const, email: 'email' as const, + favouriteTopic: 'favouriteTopic' as const, getFreeMonth: 'getFreeMonth' as const, isBlocked: 'isBlocked' as const, isVerified: 'isVerified' as const, @@ -12378,6 +12790,7 @@ export const enumUserSelectColumn = { password: 'password' as const, proUserSubscriptionId: 'proUserSubscriptionId' as const, profilePicture: 'profilePicture' as const, + role: 'role' as const, slug: 'slug' as const, userId: 'userId' as const, username: 'username' as const @@ -12398,8 +12811,10 @@ export const enumUserTokenUpdateColumn = { } export const enumUserUpdateColumn = { + bio: 'bio' as const, dateJoined: 'dateJoined' as const, email: 'email' as const, + favouriteTopic: 'favouriteTopic' as const, getFreeMonth: 'getFreeMonth' as const, isBlocked: 'isBlocked' as const, isVerified: 'isVerified' as const, @@ -12407,6 +12822,7 @@ export const enumUserUpdateColumn = { password: 'password' as const, proUserSubscriptionId: 'proUserSubscriptionId' as const, profilePicture: 'profilePicture' as const, + role: 'role' as const, slug: 'slug' as const, userId: 'userId' as const, username: 'username' as const diff --git a/packages/mb-genql/generated/types.ts b/packages/mb-genql/generated/types.ts index 850835bf..217d00d6 100644 --- a/packages/mb-genql/generated/types.ts +++ b/packages/mb-genql/generated/types.ts @@ -59,15 +59,13 @@ export default { 514, 524, 528, - 530, - 541, - 553, - 554, - 555, - 567, - 580, - 589, - 593, + 544, + 549, + 560, + 572, + 573, + 574, + 586, 599, 608, 612, @@ -76,12 +74,16 @@ export default { 631, 637, 646, - 657, - 667, - 671, - 673, + 650, + 656, + 666, + 677, + 687, 691, - 693 + 693, + 712, + 714, + 715 ], "types": { "Boolean": {}, @@ -114,7 +116,7 @@ export default { 0 ], "__typename": [ - 530 + 549 ] }, "Category": { @@ -210,10 +212,10 @@ export default { } ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "CategoryAggregate": { @@ -224,7 +226,7 @@ export default { 2 ], "__typename": [ - 530 + 549 ] }, "CategoryAggregateFields": { @@ -271,7 +273,7 @@ export default { 29 ], "__typename": [ - 530 + 549 ] }, "CategoryAvgFields": { @@ -279,7 +281,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "CategoryBoolExp": { @@ -308,10 +310,10 @@ export default { 181 ], "name": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "CategoryConstraint": {}, @@ -320,7 +322,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "CategoryInsertInput": { @@ -334,10 +336,10 @@ export default { 184 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "CategoryMaxFields": { @@ -345,10 +347,10 @@ export default { 172 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "CategoryMinFields": { @@ -356,10 +358,10 @@ export default { 172 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "CategoryMutationResponse": { @@ -370,7 +372,7 @@ export default { 2 ], "__typename": [ - 530 + 549 ] }, "CategoryObjRelInsertInput": { @@ -381,7 +383,7 @@ export default { 14 ], "__typename": [ - 530 + 549 ] }, "CategoryOnConflict": { @@ -395,7 +397,7 @@ export default { 6 ], "__typename": [ - 530 + 549 ] }, "CategoryOrderBy": { @@ -412,7 +414,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "CategoryPkColumnsInput": { @@ -420,7 +422,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "CategorySelectColumn": {}, @@ -429,10 +431,10 @@ export default { 172 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "CategoryStddevFields": { @@ -440,7 +442,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "CategoryStddevPopFields": { @@ -448,7 +450,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "CategoryStddevSampFields": { @@ -456,7 +458,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "CategoryStreamCursorInput": { @@ -467,7 +469,7 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "CategoryStreamCursorValueInput": { @@ -475,10 +477,10 @@ export default { 172 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "CategorySumFields": { @@ -486,7 +488,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "CategoryUpdateColumn": {}, @@ -501,7 +503,7 @@ export default { 6 ], "__typename": [ - 530 + 549 ] }, "CategoryVarPopFields": { @@ -509,7 +511,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "CategoryVarSampFields": { @@ -517,7 +519,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "CategoryVarianceFields": { @@ -525,12 +527,12 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "Chat": { "addedBy": [ - 693 + 715 ], "chatId": [ 172 @@ -542,13 +544,13 @@ export default { 172 ], "conversationLink": [ - 530 + 549 ], "user": [ - 633 + 652 ], "__typename": [ - 530 + 549 ] }, "ChatAggregate": { @@ -559,15 +561,15 @@ export default { 30 ], "__typename": [ - 530 + 549 ] }, "ChatAggregateBoolExp": { "count": [ - 676 + 696 ], "__typename": [ - 530 + 549 ] }, "ChatAggregateFields": { @@ -614,7 +616,7 @@ export default { 68 ], "__typename": [ - 530 + 549 ] }, "ChatAggregateOrderBy": { @@ -652,7 +654,7 @@ export default { 69 ], "__typename": [ - 530 + 549 ] }, "ChatArrRelInsertInput": { @@ -663,7 +665,7 @@ export default { 47 ], "__typename": [ - 530 + 549 ] }, "ChatAvgFields": { @@ -674,7 +676,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatAvgOrderBy": { @@ -685,7 +687,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatBoolExp": { @@ -699,7 +701,7 @@ export default { 38 ], "addedBy": [ - 675 + 695 ], "chatId": [ 173 @@ -711,13 +713,13 @@ export default { 173 ], "conversationLink": [ - 531 + 550 ], "user": [ - 636 + 655 ], "__typename": [ - 530 + 549 ] }, "ChatConstraint": {}, @@ -729,12 +731,12 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatInsertInput": { "addedBy": [ - 693 + 715 ], "chatId": [ 172 @@ -746,18 +748,18 @@ export default { 172 ], "conversationLink": [ - 530 + 549 ], "user": [ - 642 + 661 ], "__typename": [ - 530 + 549 ] }, "ChatMaxFields": { "addedBy": [ - 693 + 715 ], "chatId": [ 172 @@ -766,10 +768,10 @@ export default { 172 ], "conversationLink": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ChatMaxOrderBy": { @@ -786,12 +788,12 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatMinFields": { "addedBy": [ - 693 + 715 ], "chatId": [ 172 @@ -800,10 +802,10 @@ export default { 172 ], "conversationLink": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ChatMinOrderBy": { @@ -820,7 +822,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatMutationResponse": { @@ -831,7 +833,7 @@ export default { 30 ], "__typename": [ - 530 + 549 ] }, "ChatOnConflict": { @@ -845,7 +847,7 @@ export default { 38 ], "__typename": [ - 530 + 549 ] }, "ChatOrderBy": { @@ -865,10 +867,10 @@ export default { 324 ], "user": [ - 644 + 663 ], "__typename": [ - 530 + 549 ] }, "ChatPkColumnsInput": { @@ -876,13 +878,13 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatSelectColumn": {}, "ChatSetInput": { "addedBy": [ - 693 + 715 ], "chatId": [ 172 @@ -891,10 +893,10 @@ export default { 172 ], "conversationLink": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ChatStddevFields": { @@ -905,7 +907,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatStddevOrderBy": { @@ -916,7 +918,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatStddevPopFields": { @@ -927,7 +929,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatStddevPopOrderBy": { @@ -938,7 +940,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatStddevSampFields": { @@ -949,7 +951,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatStddevSampOrderBy": { @@ -960,7 +962,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatStreamCursorInput": { @@ -971,12 +973,12 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "ChatStreamCursorValueInput": { "addedBy": [ - 693 + 715 ], "chatId": [ 172 @@ -985,10 +987,10 @@ export default { 172 ], "conversationLink": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ChatSumFields": { @@ -999,7 +1001,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatSumOrderBy": { @@ -1010,7 +1012,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatUpdateColumn": {}, @@ -1025,7 +1027,7 @@ export default { 38 ], "__typename": [ - 530 + 549 ] }, "ChatVarPopFields": { @@ -1036,7 +1038,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatVarPopOrderBy": { @@ -1047,7 +1049,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatVarSampFields": { @@ -1058,7 +1060,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatVarSampOrderBy": { @@ -1069,7 +1071,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatVarianceFields": { @@ -1080,7 +1082,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatVarianceOrderBy": { @@ -1091,12 +1093,12 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "Chatbot": { "avatar": [ - 530 + 549 ], "categories": [ 79, @@ -1193,22 +1195,22 @@ export default { 151 ], "createdBy": [ - 530 + 549 ], "defaultComplexity": [ - 530 + 549 ], "defaultLength": [ - 530 + 549 ], "defaultTone": [ - 530 + 549 ], "defaultType": [ - 530 + 549 ], "description": [ - 530 + 549 ], "lengthEnum": [ 242 @@ -1258,7 +1260,7 @@ export default { } ], "name": [ - 530 + 549 ], "preferences": [ 325, @@ -1349,10 +1351,10 @@ export default { } ], "threads": [ - 532, + 551, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -1362,19 +1364,19 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "threadsAggregate": [ - 533, + 552, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -1384,22 +1386,22 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "toneEnum": [ - 595 + 614 ], "typeEnum": [ - 614 + 633 ], "__typename": [ - 530 + 549 ] }, "ChatbotAggregate": { @@ -1410,15 +1412,15 @@ export default { 70 ], "__typename": [ - 530 + 549 ] }, "ChatbotAggregateBoolExp": { "count": [ - 677 + 697 ], "__typename": [ - 530 + 549 ] }, "ChatbotAggregateFields": { @@ -1465,7 +1467,7 @@ export default { 149 ], "__typename": [ - 530 + 549 ] }, "ChatbotAggregateOrderBy": { @@ -1503,7 +1505,7 @@ export default { 150 ], "__typename": [ - 530 + 549 ] }, "ChatbotArrRelInsertInput": { @@ -1514,7 +1516,7 @@ export default { 128 ], "__typename": [ - 530 + 549 ] }, "ChatbotAvgFields": { @@ -1522,7 +1524,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotAvgOrderBy": { @@ -1530,7 +1532,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotBoolExp": { @@ -1544,7 +1546,7 @@ export default { 78 ], "avatar": [ - 531 + 550 ], "categories": [ 87 @@ -1565,22 +1567,22 @@ export default { 154 ], "createdBy": [ - 531 + 550 ], "defaultComplexity": [ - 531 + 550 ], "defaultLength": [ - 531 + 550 ], "defaultTone": [ - 531 + 550 ], "defaultType": [ - 531 + 550 ], "description": [ - 531 + 550 ], "lengthEnum": [ 245 @@ -1592,7 +1594,7 @@ export default { 181 ], "name": [ - 531 + 550 ], "preferences": [ 333 @@ -1607,19 +1609,19 @@ export default { 378 ], "threads": [ - 540 + 559 ], "threadsAggregate": [ - 534 + 553 ], "toneEnum": [ - 598 + 617 ], "typeEnum": [ - 617 + 636 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategory": { @@ -1636,7 +1638,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryAggregate": { @@ -1647,15 +1649,15 @@ export default { 79 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryAggregateBoolExp": { "count": [ - 678 + 698 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryAggregateFields": { @@ -1702,7 +1704,7 @@ export default { 117 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryAggregateOrderBy": { @@ -1740,7 +1742,7 @@ export default { 118 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryArrRelInsertInput": { @@ -1751,7 +1753,7 @@ export default { 96 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryAvgFields": { @@ -1762,7 +1764,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryAvgOrderBy": { @@ -1773,7 +1775,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryBoolExp": { @@ -1799,7 +1801,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryConstraint": {}, @@ -1811,7 +1813,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryInsertInput": { @@ -1828,7 +1830,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryMaxFields": { @@ -1839,7 +1841,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryMaxOrderBy": { @@ -1850,7 +1852,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryMinFields": { @@ -1861,7 +1863,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryMinOrderBy": { @@ -1872,7 +1874,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryMutationResponse": { @@ -1883,7 +1885,7 @@ export default { 79 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryOnConflict": { @@ -1897,7 +1899,7 @@ export default { 87 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryOrderBy": { @@ -1914,7 +1916,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryPkColumnsInput": { @@ -1925,7 +1927,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategorySelectColumn": {}, @@ -1937,7 +1939,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryStddevFields": { @@ -1948,7 +1950,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryStddevOrderBy": { @@ -1959,7 +1961,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryStddevPopFields": { @@ -1970,7 +1972,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryStddevPopOrderBy": { @@ -1981,7 +1983,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryStddevSampFields": { @@ -1992,7 +1994,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryStddevSampOrderBy": { @@ -2003,7 +2005,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryStreamCursorInput": { @@ -2014,7 +2016,7 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryStreamCursorValueInput": { @@ -2025,7 +2027,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategorySumFields": { @@ -2036,7 +2038,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategorySumOrderBy": { @@ -2047,7 +2049,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryUpdateColumn": {}, @@ -2062,7 +2064,7 @@ export default { 87 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryVarPopFields": { @@ -2073,7 +2075,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryVarPopOrderBy": { @@ -2084,7 +2086,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryVarSampFields": { @@ -2095,7 +2097,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryVarSampOrderBy": { @@ -2106,7 +2108,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryVarianceFields": { @@ -2117,7 +2119,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotCategoryVarianceOrderBy": { @@ -2128,7 +2130,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotConstraint": {}, @@ -2137,12 +2139,12 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotInsertInput": { "avatar": [ - 530 + 549 ], "categories": [ 84 @@ -2157,22 +2159,22 @@ export default { 160 ], "createdBy": [ - 530 + 549 ], "defaultComplexity": [ - 530 + 549 ], "defaultLength": [ - 530 + 549 ], "defaultTone": [ - 530 + 549 ], "defaultType": [ - 530 + 549 ], "description": [ - 530 + 549 ], "lengthEnum": [ 251 @@ -2181,7 +2183,7 @@ export default { 184 ], "name": [ - 530 + 549 ], "preferences": [ 330 @@ -2190,48 +2192,48 @@ export default { 381 ], "threads": [ - 537 + 556 ], "toneEnum": [ - 604 + 623 ], "typeEnum": [ - 623 + 642 ], "__typename": [ - 530 + 549 ] }, "ChatbotMaxFields": { "avatar": [ - 530 + 549 ], "chatbotId": [ 172 ], "createdBy": [ - 530 + 549 ], "defaultComplexity": [ - 530 + 549 ], "defaultLength": [ - 530 + 549 ], "defaultTone": [ - 530 + 549 ], "defaultType": [ - 530 + 549 ], "description": [ - 530 + 549 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ChatbotMaxOrderBy": { @@ -2263,39 +2265,39 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotMinFields": { "avatar": [ - 530 + 549 ], "chatbotId": [ 172 ], "createdBy": [ - 530 + 549 ], "defaultComplexity": [ - 530 + 549 ], "defaultLength": [ - 530 + 549 ], "defaultTone": [ - 530 + 549 ], "defaultType": [ - 530 + 549 ], "description": [ - 530 + 549 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ChatbotMinOrderBy": { @@ -2327,7 +2329,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotMutationResponse": { @@ -2338,7 +2340,7 @@ export default { 70 ], "__typename": [ - 530 + 549 ] }, "ChatbotObjRelInsertInput": { @@ -2349,7 +2351,7 @@ export default { 128 ], "__typename": [ - 530 + 549 ] }, "ChatbotOnConflict": { @@ -2363,7 +2365,7 @@ export default { 78 ], "__typename": [ - 530 + 549 ] }, "ChatbotOrderBy": { @@ -2416,16 +2418,16 @@ export default { 380 ], "threadsAggregate": [ - 536 + 555 ], "toneEnum": [ - 606 + 625 ], "typeEnum": [ - 625 + 644 ], "__typename": [ - 530 + 549 ] }, "ChatbotPkColumnsInput": { @@ -2433,40 +2435,40 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotSelectColumn": {}, "ChatbotSetInput": { "avatar": [ - 530 + 549 ], "chatbotId": [ 172 ], "createdBy": [ - 530 + 549 ], "defaultComplexity": [ - 530 + 549 ], "defaultLength": [ - 530 + 549 ], "defaultTone": [ - 530 + 549 ], "defaultType": [ - 530 + 549 ], "description": [ - 530 + 549 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ChatbotStddevFields": { @@ -2474,7 +2476,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotStddevOrderBy": { @@ -2482,7 +2484,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotStddevPopFields": { @@ -2490,7 +2492,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotStddevPopOrderBy": { @@ -2498,7 +2500,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotStddevSampFields": { @@ -2506,7 +2508,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotStddevSampOrderBy": { @@ -2514,7 +2516,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotStreamCursorInput": { @@ -2525,39 +2527,39 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "ChatbotStreamCursorValueInput": { "avatar": [ - 530 + 549 ], "chatbotId": [ 172 ], "createdBy": [ - 530 + 549 ], "defaultComplexity": [ - 530 + 549 ], "defaultLength": [ - 530 + 549 ], "defaultTone": [ - 530 + 549 ], "defaultType": [ - 530 + 549 ], "description": [ - 530 + 549 ], "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ChatbotSumFields": { @@ -2565,7 +2567,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ChatbotSumOrderBy": { @@ -2573,7 +2575,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotUpdateColumn": {}, @@ -2588,7 +2590,7 @@ export default { 78 ], "__typename": [ - 530 + 549 ] }, "ChatbotVarPopFields": { @@ -2596,7 +2598,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotVarPopOrderBy": { @@ -2604,7 +2606,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotVarSampFields": { @@ -2612,7 +2614,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotVarSampOrderBy": { @@ -2620,7 +2622,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ChatbotVarianceFields": { @@ -2628,7 +2630,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ChatbotVarianceOrderBy": { @@ -2636,7 +2638,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnum": { @@ -2729,10 +2731,10 @@ export default { } ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumAggregate": { @@ -2743,7 +2745,7 @@ export default { 151 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumAggregateFields": { @@ -2766,7 +2768,7 @@ export default { 158 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumBoolExp": { @@ -2792,10 +2794,10 @@ export default { 327 ], "value": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumConstraint": {}, @@ -2807,26 +2809,26 @@ export default { 330 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumMaxFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumMinFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumMutationResponse": { @@ -2837,7 +2839,7 @@ export default { 151 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumObjRelInsertInput": { @@ -2848,7 +2850,7 @@ export default { 161 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumOnConflict": { @@ -2862,7 +2864,7 @@ export default { 154 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumOrderBy": { @@ -2876,24 +2878,24 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumPkColumnsInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumSelectColumn": {}, "ComplexityEnumSetInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumStreamCursorInput": { @@ -2904,15 +2906,15 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumStreamCursorValueInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ComplexityEnumUpdateColumn": {}, @@ -2924,7 +2926,7 @@ export default { 154 ], "__typename": [ - 530 + 549 ] }, "CursorOrdering": {}, @@ -2959,7 +2961,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "Label": { @@ -2967,7 +2969,7 @@ export default { 0 ], "categories": [ - 530 + 549 ], "labelId": [ 172 @@ -3017,16 +3019,16 @@ export default { } ], "questions": [ - 530 + 549 ], "subCategories": [ - 530 + 549 ], "tags": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LabelAggregate": { @@ -3037,7 +3039,7 @@ export default { 174 ], "__typename": [ - 530 + 549 ] }, "LabelAggregateFields": { @@ -3084,7 +3086,7 @@ export default { 241 ], "__typename": [ - 530 + 549 ] }, "LabelAvgFields": { @@ -3092,7 +3094,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelBoolExp": { @@ -3109,7 +3111,7 @@ export default { 1 ], "categories": [ - 531 + 550 ], "labelId": [ 173 @@ -3121,16 +3123,16 @@ export default { 181 ], "questions": [ - 531 + 550 ], "subCategories": [ - 531 + 550 ], "tags": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategory": { @@ -3153,7 +3155,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryAggregate": { @@ -3164,15 +3166,15 @@ export default { 179 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryAggregateBoolExp": { "count": [ - 679 + 699 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryAggregateFields": { @@ -3219,7 +3221,7 @@ export default { 217 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryAggregateOrderBy": { @@ -3257,7 +3259,7 @@ export default { 218 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryArrRelInsertInput": { @@ -3268,7 +3270,7 @@ export default { 196 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryAvgFields": { @@ -3282,7 +3284,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryAvgOrderBy": { @@ -3296,7 +3298,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryBoolExp": { @@ -3328,7 +3330,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryConstraint": {}, @@ -3343,7 +3345,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryInsertInput": { @@ -3366,7 +3368,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryMaxFields": { @@ -3380,7 +3382,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryMaxOrderBy": { @@ -3394,7 +3396,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryMinFields": { @@ -3408,7 +3410,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryMinOrderBy": { @@ -3422,7 +3424,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryMutationResponse": { @@ -3433,7 +3435,7 @@ export default { 179 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryOnConflict": { @@ -3447,7 +3449,7 @@ export default { 187 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryOrderBy": { @@ -3470,7 +3472,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryPkColumnsInput": { @@ -3484,7 +3486,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategorySelectColumn": {}, @@ -3499,7 +3501,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryStddevFields": { @@ -3513,7 +3515,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryStddevOrderBy": { @@ -3527,7 +3529,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryStddevPopFields": { @@ -3541,7 +3543,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryStddevPopOrderBy": { @@ -3555,7 +3557,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryStddevSampFields": { @@ -3569,7 +3571,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryStddevSampOrderBy": { @@ -3583,7 +3585,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryStreamCursorInput": { @@ -3594,7 +3596,7 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryStreamCursorValueInput": { @@ -3608,7 +3610,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategorySumFields": { @@ -3622,7 +3624,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategorySumOrderBy": { @@ -3636,7 +3638,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryUpdateColumn": {}, @@ -3651,7 +3653,7 @@ export default { 187 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryVarPopFields": { @@ -3665,7 +3667,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryVarPopOrderBy": { @@ -3679,7 +3681,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryVarSampFields": { @@ -3693,7 +3695,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryVarSampOrderBy": { @@ -3707,7 +3709,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryVarianceFields": { @@ -3721,7 +3723,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelChatbotCategoryVarianceOrderBy": { @@ -3735,7 +3737,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelConstraint": {}, @@ -3744,7 +3746,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelInsertInput": { @@ -3752,7 +3754,7 @@ export default { 0 ], "categories": [ - 530 + 549 ], "labelId": [ 172 @@ -3761,56 +3763,56 @@ export default { 184 ], "questions": [ - 530 + 549 ], "subCategories": [ - 530 + 549 ], "tags": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LabelMaxFields": { "categories": [ - 530 + 549 ], "labelId": [ 172 ], "questions": [ - 530 + 549 ], "subCategories": [ - 530 + 549 ], "tags": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LabelMinFields": { "categories": [ - 530 + 549 ], "labelId": [ 172 ], "questions": [ - 530 + 549 ], "subCategories": [ - 530 + 549 ], "tags": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LabelMutationResponse": { @@ -3821,7 +3823,7 @@ export default { 174 ], "__typename": [ - 530 + 549 ] }, "LabelObjRelInsertInput": { @@ -3832,7 +3834,7 @@ export default { 226 ], "__typename": [ - 530 + 549 ] }, "LabelOnConflict": { @@ -3846,7 +3848,7 @@ export default { 178 ], "__typename": [ - 530 + 549 ] }, "LabelOrderBy": { @@ -3872,7 +3874,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LabelPkColumnsInput": { @@ -3880,7 +3882,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelSelectColumn": {}, @@ -3889,22 +3891,22 @@ export default { 0 ], "categories": [ - 530 + 549 ], "labelId": [ 172 ], "questions": [ - 530 + 549 ], "subCategories": [ - 530 + 549 ], "tags": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LabelStddevFields": { @@ -3912,7 +3914,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelStddevPopFields": { @@ -3920,7 +3922,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelStddevSampFields": { @@ -3928,7 +3930,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelStreamCursorInput": { @@ -3939,7 +3941,7 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "LabelStreamCursorValueInput": { @@ -3947,22 +3949,22 @@ export default { 0 ], "categories": [ - 530 + 549 ], "labelId": [ 172 ], "questions": [ - 530 + 549 ], "subCategories": [ - 530 + 549 ], "tags": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LabelSumFields": { @@ -3970,7 +3972,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "LabelUpdateColumn": {}, @@ -3985,7 +3987,7 @@ export default { 178 ], "__typename": [ - 530 + 549 ] }, "LabelVarPopFields": { @@ -3993,7 +3995,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelVarSampFields": { @@ -4001,7 +4003,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LabelVarianceFields": { @@ -4009,7 +4011,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "LengthEnum": { @@ -4102,10 +4104,10 @@ export default { } ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LengthEnumAggregate": { @@ -4116,7 +4118,7 @@ export default { 242 ], "__typename": [ - 530 + 549 ] }, "LengthEnumAggregateFields": { @@ -4139,7 +4141,7 @@ export default { 249 ], "__typename": [ - 530 + 549 ] }, "LengthEnumBoolExp": { @@ -4165,10 +4167,10 @@ export default { 327 ], "value": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "LengthEnumConstraint": {}, @@ -4180,26 +4182,26 @@ export default { 330 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LengthEnumMaxFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LengthEnumMinFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LengthEnumMutationResponse": { @@ -4210,7 +4212,7 @@ export default { 242 ], "__typename": [ - 530 + 549 ] }, "LengthEnumObjRelInsertInput": { @@ -4221,7 +4223,7 @@ export default { 252 ], "__typename": [ - 530 + 549 ] }, "LengthEnumOnConflict": { @@ -4235,7 +4237,7 @@ export default { 245 ], "__typename": [ - 530 + 549 ] }, "LengthEnumOrderBy": { @@ -4249,24 +4251,24 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "LengthEnumPkColumnsInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LengthEnumSelectColumn": {}, "LengthEnumSetInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LengthEnumStreamCursorInput": { @@ -4277,15 +4279,15 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "LengthEnumStreamCursorValueInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "LengthEnumUpdateColumn": {}, @@ -4297,33 +4299,33 @@ export default { 245 ], "__typename": [ - 530 + 549 ] }, "Message": { "content": [ - 530 + 549 ], "createdAt": [ - 691 + 712 ], "messageId": [ - 693 + 715 ], "messageTypeEnum": [ 282 ], "role": [ - 530 + 549 ], "thread": [ - 532 + 551 ], "threadId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "MessageAggregate": { @@ -4334,15 +4336,15 @@ export default { 261 ], "__typename": [ - 530 + 549 ] }, "MessageAggregateBoolExp": { "count": [ - 680 + 700 ], "__typename": [ - 530 + 549 ] }, "MessageAggregateFields": { @@ -4365,7 +4367,7 @@ export default { 272 ], "__typename": [ - 530 + 549 ] }, "MessageAggregateOrderBy": { @@ -4379,7 +4381,7 @@ export default { 273 ], "__typename": [ - 530 + 549 ] }, "MessageArrRelInsertInput": { @@ -4390,7 +4392,7 @@ export default { 275 ], "__typename": [ - 530 + 549 ] }, "MessageBoolExp": { @@ -4404,75 +4406,75 @@ export default { 267 ], "content": [ - 531 + 550 ], "createdAt": [ - 575 + 594 ], "messageId": [ - 675 + 695 ], "messageTypeEnum": [ 285 ], "role": [ - 531 + 550 ], "thread": [ - 540 + 559 ], "threadId": [ - 675 + 695 ], "__typename": [ - 530 + 549 ] }, "MessageConstraint": {}, "MessageInsertInput": { "content": [ - 530 + 549 ], "createdAt": [ - 691 + 712 ], "messageId": [ - 693 + 715 ], "messageTypeEnum": [ 291 ], "role": [ - 530 + 549 ], "thread": [ - 549 + 568 ], "threadId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "MessageMaxFields": { "content": [ - 530 + 549 ], "createdAt": [ - 691 + 712 ], "messageId": [ - 693 + 715 ], "role": [ - 530 + 549 ], "threadId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "MessageMaxOrderBy": { @@ -4492,27 +4494,27 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "MessageMinFields": { "content": [ - 530 + 549 ], "createdAt": [ - 691 + 712 ], "messageId": [ - 693 + 715 ], "role": [ - 530 + 549 ], "threadId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "MessageMinOrderBy": { @@ -4532,7 +4534,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "MessageMutationResponse": { @@ -4543,7 +4545,7 @@ export default { 261 ], "__typename": [ - 530 + 549 ] }, "MessageOnConflict": { @@ -4557,7 +4559,7 @@ export default { 267 ], "__typename": [ - 530 + 549 ] }, "MessageOrderBy": { @@ -4577,42 +4579,42 @@ export default { 324 ], "thread": [ - 551 + 570 ], "threadId": [ 324 ], "__typename": [ - 530 + 549 ] }, "MessagePkColumnsInput": { "messageId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "MessageSelectColumn": {}, "MessageSetInput": { "content": [ - 530 + 549 ], "createdAt": [ - 691 + 712 ], "messageId": [ - 693 + 715 ], "role": [ - 530 + 549 ], "threadId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "MessageStreamCursorInput": { @@ -4623,27 +4625,27 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "MessageStreamCursorValueInput": { "content": [ - 530 + 549 ], "createdAt": [ - 691 + 712 ], "messageId": [ - 693 + 715 ], "role": [ - 530 + 549 ], "threadId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnum": { @@ -4692,10 +4694,10 @@ export default { } ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumAggregate": { @@ -4706,7 +4708,7 @@ export default { 282 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumAggregateFields": { @@ -4729,7 +4731,7 @@ export default { 289 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumBoolExp": { @@ -4749,10 +4751,10 @@ export default { 263 ], "value": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumConstraint": {}, @@ -4761,26 +4763,26 @@ export default { 266 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumMaxFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumMinFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumMutationResponse": { @@ -4791,7 +4793,7 @@ export default { 282 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumObjRelInsertInput": { @@ -4802,7 +4804,7 @@ export default { 292 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumOnConflict": { @@ -4816,7 +4818,7 @@ export default { 285 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumOrderBy": { @@ -4827,24 +4829,24 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumPkColumnsInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumSelectColumn": {}, "MessageTypeEnumSetInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumStreamCursorInput": { @@ -4855,15 +4857,15 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumStreamCursorValueInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "MessageTypeEnumUpdateColumn": {}, @@ -4875,7 +4877,7 @@ export default { 285 ], "__typename": [ - 530 + 549 ] }, "MessageUpdateColumn": {}, @@ -4887,18 +4889,18 @@ export default { 267 ], "__typename": [ - 530 + 549 ] }, "ModelsEnum": { "name": [ - 530 + 549 ], "threads": [ - 532, + 551, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -4908,19 +4910,19 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "threadsAggregate": [ - 533, + 552, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -4930,19 +4932,19 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumAggregate": { @@ -4953,7 +4955,7 @@ export default { 303 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumAggregateFields": { @@ -4976,7 +4978,7 @@ export default { 312 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumBoolExp": { @@ -4990,19 +4992,19 @@ export default { 306 ], "name": [ - 531 + 550 ], "threads": [ - 540 + 559 ], "threadsAggregate": [ - 534 + 553 ], "value": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumConstraint": {}, @@ -5024,43 +5026,43 @@ export default { 308 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumInsertInput": { "name": [ - 530 + 549 ], "threads": [ - 537 + 556 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumMaxFields": { "name": [ - 530 + 549 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumMinFields": { "name": [ - 530 + 549 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumMutationResponse": { @@ -5071,7 +5073,7 @@ export default { 303 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumObjRelInsertInput": { @@ -5082,7 +5084,7 @@ export default { 315 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumOnConflict": { @@ -5096,7 +5098,7 @@ export default { 306 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumOrderBy": { @@ -5104,33 +5106,33 @@ export default { 324 ], "threadsAggregate": [ - 536 + 555 ], "value": [ 324 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumPkColumnsInput": { "name": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumSelectColumn": {}, "ModelsEnumSetInput": { "name": [ - 530 + 549 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumStreamCursorInput": { @@ -5141,18 +5143,18 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumStreamCursorValueInput": { "name": [ - 530 + 549 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ModelsEnumUpdateColumn": {}, @@ -5164,7 +5166,7 @@ export default { 306 ], "__typename": [ - 530 + 549 ] }, "OrderBy": {}, @@ -5188,31 +5190,31 @@ export default { 172 ], "preferredComplexity": [ - 530 + 549 ], "preferredLength": [ - 530 + 549 ], "preferredTone": [ - 530 + 549 ], "preferredType": [ - 530 + 549 ], "toneEnum": [ - 595 + 614 ], "typeEnum": [ - 614 + 633 ], "user": [ - 633 + 652 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PreferenceAggregate": { @@ -5223,21 +5225,21 @@ export default { 325 ], "__typename": [ - 530 + 549 ] }, "PreferenceAggregateBoolExp": { "bool_and": [ - 681 + 701 ], "bool_or": [ - 682 + 702 ], "count": [ - 683 + 703 ], "__typename": [ - 530 + 549 ] }, "PreferenceAggregateFields": { @@ -5284,7 +5286,7 @@ export default { 365 ], "__typename": [ - 530 + 549 ] }, "PreferenceAggregateOrderBy": { @@ -5322,7 +5324,7 @@ export default { 366 ], "__typename": [ - 530 + 549 ] }, "PreferenceArrRelInsertInput": { @@ -5333,7 +5335,7 @@ export default { 342 ], "__typename": [ - 530 + 549 ] }, "PreferenceAvgFields": { @@ -5344,7 +5346,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PreferenceAvgOrderBy": { @@ -5355,7 +5357,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceBoolExp": { @@ -5387,31 +5389,31 @@ export default { 173 ], "preferredComplexity": [ - 531 + 550 ], "preferredLength": [ - 531 + 550 ], "preferredTone": [ - 531 + 550 ], "preferredType": [ - 531 + 550 ], "toneEnum": [ - 598 + 617 ], "typeEnum": [ - 617 + 636 ], "user": [ - 636 + 655 ], "userId": [ - 675 + 695 ], "__typename": [ - 530 + 549 ] }, "PreferenceConstraint": {}, @@ -5423,7 +5425,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PreferenceInsertInput": { @@ -5446,31 +5448,31 @@ export default { 172 ], "preferredComplexity": [ - 530 + 549 ], "preferredLength": [ - 530 + 549 ], "preferredTone": [ - 530 + 549 ], "preferredType": [ - 530 + 549 ], "toneEnum": [ - 604 + 623 ], "typeEnum": [ - 623 + 642 ], "user": [ - 642 + 661 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PreferenceMaxFields": { @@ -5481,22 +5483,22 @@ export default { 172 ], "preferredComplexity": [ - 530 + 549 ], "preferredLength": [ - 530 + 549 ], "preferredTone": [ - 530 + 549 ], "preferredType": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PreferenceMaxOrderBy": { @@ -5522,7 +5524,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceMinFields": { @@ -5533,22 +5535,22 @@ export default { 172 ], "preferredComplexity": [ - 530 + 549 ], "preferredLength": [ - 530 + 549 ], "preferredTone": [ - 530 + 549 ], "preferredType": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PreferenceMinOrderBy": { @@ -5574,7 +5576,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceMutationResponse": { @@ -5585,7 +5587,7 @@ export default { 325 ], "__typename": [ - 530 + 549 ] }, "PreferenceOnConflict": { @@ -5599,7 +5601,7 @@ export default { 333 ], "__typename": [ - 530 + 549 ] }, "PreferenceOrderBy": { @@ -5634,19 +5636,19 @@ export default { 324 ], "toneEnum": [ - 606 + 625 ], "typeEnum": [ - 625 + 644 ], "user": [ - 644 + 663 ], "userId": [ 324 ], "__typename": [ - 530 + 549 ] }, "PreferencePkColumnsInput": { @@ -5654,7 +5656,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PreferenceSelectColumn": {}, @@ -5671,22 +5673,22 @@ export default { 172 ], "preferredComplexity": [ - 530 + 549 ], "preferredLength": [ - 530 + 549 ], "preferredTone": [ - 530 + 549 ], "preferredType": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PreferenceStddevFields": { @@ -5697,7 +5699,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PreferenceStddevOrderBy": { @@ -5708,7 +5710,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceStddevPopFields": { @@ -5719,7 +5721,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PreferenceStddevPopOrderBy": { @@ -5730,7 +5732,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceStddevSampFields": { @@ -5741,7 +5743,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PreferenceStddevSampOrderBy": { @@ -5752,7 +5754,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceStreamCursorInput": { @@ -5763,7 +5765,7 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "PreferenceStreamCursorValueInput": { @@ -5777,22 +5779,22 @@ export default { 172 ], "preferredComplexity": [ - 530 + 549 ], "preferredLength": [ - 530 + 549 ], "preferredTone": [ - 530 + 549 ], "preferredType": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PreferenceSumFields": { @@ -5803,7 +5805,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PreferenceSumOrderBy": { @@ -5814,7 +5816,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceUpdateColumn": {}, @@ -5829,7 +5831,7 @@ export default { 333 ], "__typename": [ - 530 + 549 ] }, "PreferenceVarPopFields": { @@ -5840,7 +5842,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PreferenceVarPopOrderBy": { @@ -5851,7 +5853,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceVarSampFields": { @@ -5862,7 +5864,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PreferenceVarSampOrderBy": { @@ -5873,7 +5875,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PreferenceVarianceFields": { @@ -5884,7 +5886,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PreferenceVarianceOrderBy": { @@ -5895,7 +5897,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "Prompt": { @@ -5944,19 +5946,19 @@ export default { } ], "content": [ - 530 + 549 ], "promptId": [ 172 ], "promptName": [ - 530 + 549 ], "promptTypeEnum": [ 440 ], "type": [ - 530 + 549 ], "users": [ 461, @@ -6003,7 +6005,7 @@ export default { } ], "__typename": [ - 530 + 549 ] }, "PromptAggregate": { @@ -6014,15 +6016,15 @@ export default { 367 ], "__typename": [ - 530 + 549 ] }, "PromptAggregateBoolExp": { "count": [ - 684 + 704 ], "__typename": [ - 530 + 549 ] }, "PromptAggregateFields": { @@ -6069,7 +6071,7 @@ export default { 505 ], "__typename": [ - 530 + 549 ] }, "PromptAggregateOrderBy": { @@ -6107,7 +6109,7 @@ export default { 506 ], "__typename": [ - 530 + 549 ] }, "PromptArrRelInsertInput": { @@ -6118,7 +6120,7 @@ export default { 425 ], "__typename": [ - 530 + 549 ] }, "PromptAvgFields": { @@ -6126,7 +6128,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptAvgOrderBy": { @@ -6134,7 +6136,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptBoolExp": { @@ -6154,19 +6156,19 @@ export default { 378 ], "content": [ - 531 + 550 ], "promptId": [ 173 ], "promptName": [ - 531 + 550 ], "promptTypeEnum": [ 443 ], "type": [ - 531 + 550 ], "users": [ 469 @@ -6175,7 +6177,7 @@ export default { 463 ], "__typename": [ - 530 + 549 ] }, "PromptChatbot": { @@ -6192,7 +6194,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotAggregate": { @@ -6203,15 +6205,15 @@ export default { 376 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotAggregateBoolExp": { "count": [ - 685 + 705 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotAggregateFields": { @@ -6258,7 +6260,7 @@ export default { 414 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotAggregateOrderBy": { @@ -6296,7 +6298,7 @@ export default { 415 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotArrRelInsertInput": { @@ -6307,7 +6309,7 @@ export default { 393 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotAvgFields": { @@ -6318,7 +6320,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotAvgOrderBy": { @@ -6329,7 +6331,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotBoolExp": { @@ -6355,7 +6357,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotConstraint": {}, @@ -6367,7 +6369,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotInsertInput": { @@ -6384,7 +6386,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotMaxFields": { @@ -6395,7 +6397,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotMaxOrderBy": { @@ -6406,7 +6408,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotMinFields": { @@ -6417,7 +6419,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotMinOrderBy": { @@ -6428,7 +6430,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotMutationResponse": { @@ -6439,7 +6441,7 @@ export default { 376 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotOnConflict": { @@ -6453,7 +6455,7 @@ export default { 384 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotOrderBy": { @@ -6470,7 +6472,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotPkColumnsInput": { @@ -6481,7 +6483,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotSelectColumn": {}, @@ -6493,7 +6495,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotStddevFields": { @@ -6504,7 +6506,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotStddevOrderBy": { @@ -6515,7 +6517,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotStddevPopFields": { @@ -6526,7 +6528,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotStddevPopOrderBy": { @@ -6537,7 +6539,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotStddevSampFields": { @@ -6548,7 +6550,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotStddevSampOrderBy": { @@ -6559,7 +6561,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotStreamCursorInput": { @@ -6570,7 +6572,7 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotStreamCursorValueInput": { @@ -6581,7 +6583,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotSumFields": { @@ -6592,7 +6594,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotSumOrderBy": { @@ -6603,7 +6605,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotUpdateColumn": {}, @@ -6618,7 +6620,7 @@ export default { 384 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotVarPopFields": { @@ -6629,7 +6631,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotVarPopOrderBy": { @@ -6640,7 +6642,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotVarSampFields": { @@ -6651,7 +6653,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotVarSampOrderBy": { @@ -6662,7 +6664,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotVarianceFields": { @@ -6673,7 +6675,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptChatbotVarianceOrderBy": { @@ -6684,7 +6686,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptConstraint": {}, @@ -6693,7 +6695,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptInsertInput": { @@ -6701,42 +6703,42 @@ export default { 381 ], "content": [ - 530 + 549 ], "promptId": [ 172 ], "promptName": [ - 530 + 549 ], "promptTypeEnum": [ 449 ], "type": [ - 530 + 549 ], "users": [ 466 ], "__typename": [ - 530 + 549 ] }, "PromptMaxFields": { "content": [ - 530 + 549 ], "promptId": [ 172 ], "promptName": [ - 530 + 549 ], "type": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptMaxOrderBy": { @@ -6753,24 +6755,24 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptMinFields": { "content": [ - 530 + 549 ], "promptId": [ 172 ], "promptName": [ - 530 + 549 ], "type": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptMinOrderBy": { @@ -6787,7 +6789,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptMutationResponse": { @@ -6798,7 +6800,7 @@ export default { 367 ], "__typename": [ - 530 + 549 ] }, "PromptObjRelInsertInput": { @@ -6809,7 +6811,7 @@ export default { 425 ], "__typename": [ - 530 + 549 ] }, "PromptOnConflict": { @@ -6823,7 +6825,7 @@ export default { 375 ], "__typename": [ - 530 + 549 ] }, "PromptOrderBy": { @@ -6849,7 +6851,7 @@ export default { 465 ], "__typename": [ - 530 + 549 ] }, "PromptPkColumnsInput": { @@ -6857,25 +6859,25 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptSelectColumn": {}, "PromptSetInput": { "content": [ - 530 + 549 ], "promptId": [ 172 ], "promptName": [ - 530 + 549 ], "type": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptStddevFields": { @@ -6883,7 +6885,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptStddevOrderBy": { @@ -6891,7 +6893,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptStddevPopFields": { @@ -6899,7 +6901,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptStddevPopOrderBy": { @@ -6907,7 +6909,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptStddevSampFields": { @@ -6915,7 +6917,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptStddevSampOrderBy": { @@ -6923,7 +6925,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptStreamCursorInput": { @@ -6934,24 +6936,24 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "PromptStreamCursorValueInput": { "content": [ - 530 + 549 ], "promptId": [ 172 ], "promptName": [ - 530 + 549 ], "type": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptSumFields": { @@ -6959,7 +6961,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptSumOrderBy": { @@ -6967,7 +6969,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnum": { @@ -7016,10 +7018,10 @@ export default { } ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumAggregate": { @@ -7030,7 +7032,7 @@ export default { 440 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumAggregateFields": { @@ -7053,7 +7055,7 @@ export default { 447 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumBoolExp": { @@ -7073,10 +7075,10 @@ export default { 369 ], "value": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumConstraint": {}, @@ -7085,26 +7087,26 @@ export default { 372 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumMaxFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumMinFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumMutationResponse": { @@ -7115,7 +7117,7 @@ export default { 440 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumObjRelInsertInput": { @@ -7126,7 +7128,7 @@ export default { 450 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumOnConflict": { @@ -7140,7 +7142,7 @@ export default { 443 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumOrderBy": { @@ -7151,24 +7153,24 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumPkColumnsInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumSelectColumn": {}, "PromptTypeEnumSetInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumStreamCursorInput": { @@ -7179,15 +7181,15 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumStreamCursorValueInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "PromptTypeEnumUpdateColumn": {}, @@ -7199,7 +7201,7 @@ export default { 443 ], "__typename": [ - 530 + 549 ] }, "PromptUpdateColumn": {}, @@ -7214,7 +7216,7 @@ export default { 375 ], "__typename": [ - 530 + 549 ] }, "PromptUser": { @@ -7225,13 +7227,13 @@ export default { 172 ], "user": [ - 633 + 652 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PromptUserAggregate": { @@ -7242,15 +7244,15 @@ export default { 461 ], "__typename": [ - 530 + 549 ] }, "PromptUserAggregateBoolExp": { "count": [ - 686 + 706 ], "__typename": [ - 530 + 549 ] }, "PromptUserAggregateFields": { @@ -7297,7 +7299,7 @@ export default { 499 ], "__typename": [ - 530 + 549 ] }, "PromptUserAggregateOrderBy": { @@ -7335,7 +7337,7 @@ export default { 500 ], "__typename": [ - 530 + 549 ] }, "PromptUserArrRelInsertInput": { @@ -7346,7 +7348,7 @@ export default { 478 ], "__typename": [ - 530 + 549 ] }, "PromptUserAvgFields": { @@ -7354,7 +7356,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptUserAvgOrderBy": { @@ -7362,7 +7364,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserBoolExp": { @@ -7382,13 +7384,13 @@ export default { 173 ], "user": [ - 636 + 655 ], "userId": [ - 675 + 695 ], "__typename": [ - 530 + 549 ] }, "PromptUserConstraint": {}, @@ -7397,7 +7399,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptUserInsertInput": { @@ -7408,13 +7410,13 @@ export default { 172 ], "user": [ - 642 + 661 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PromptUserMaxFields": { @@ -7422,10 +7424,10 @@ export default { 172 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PromptUserMaxOrderBy": { @@ -7436,7 +7438,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserMinFields": { @@ -7444,10 +7446,10 @@ export default { 172 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PromptUserMinOrderBy": { @@ -7458,7 +7460,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserMutationResponse": { @@ -7469,7 +7471,7 @@ export default { 461 ], "__typename": [ - 530 + 549 ] }, "PromptUserOnConflict": { @@ -7483,7 +7485,7 @@ export default { 469 ], "__typename": [ - 530 + 549 ] }, "PromptUserOrderBy": { @@ -7494,13 +7496,13 @@ export default { 324 ], "user": [ - 644 + 663 ], "userId": [ 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserPkColumnsInput": { @@ -7508,10 +7510,10 @@ export default { 172 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PromptUserSelectColumn": {}, @@ -7520,10 +7522,10 @@ export default { 172 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PromptUserStddevFields": { @@ -7531,7 +7533,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptUserStddevOrderBy": { @@ -7539,7 +7541,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserStddevPopFields": { @@ -7547,7 +7549,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptUserStddevPopOrderBy": { @@ -7555,7 +7557,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserStddevSampFields": { @@ -7563,7 +7565,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptUserStddevSampOrderBy": { @@ -7571,7 +7573,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserStreamCursorInput": { @@ -7582,7 +7584,7 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "PromptUserStreamCursorValueInput": { @@ -7590,10 +7592,10 @@ export default { 172 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "PromptUserSumFields": { @@ -7601,7 +7603,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "PromptUserSumOrderBy": { @@ -7609,7 +7611,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserUpdateColumn": {}, @@ -7624,7 +7626,7 @@ export default { 469 ], "__typename": [ - 530 + 549 ] }, "PromptUserVarPopFields": { @@ -7632,7 +7634,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptUserVarPopOrderBy": { @@ -7640,7 +7642,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserVarSampFields": { @@ -7648,7 +7650,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptUserVarSampOrderBy": { @@ -7656,7 +7658,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptUserVarianceFields": { @@ -7664,7 +7666,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptUserVarianceOrderBy": { @@ -7672,7 +7674,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptVarPopFields": { @@ -7680,7 +7682,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptVarPopOrderBy": { @@ -7688,7 +7690,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptVarSampFields": { @@ -7696,7 +7698,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptVarSampOrderBy": { @@ -7704,7 +7706,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "PromptVarianceFields": { @@ -7712,7 +7714,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "PromptVarianceOrderBy": { @@ -7720,27 +7722,27 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "Referral": { "referralCode": [ - 530 + 549 ], "referrerId": [ - 693 + 715 ], "user": [ - 633 + 652 ], "userByUserId": [ - 633 + 652 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ReferralAggregate": { @@ -7751,15 +7753,15 @@ export default { 507 ], "__typename": [ - 530 + 549 ] }, "ReferralAggregateBoolExp": { "count": [ - 687 + 707 ], "__typename": [ - 530 + 549 ] }, "ReferralAggregateFields": { @@ -7782,7 +7784,7 @@ export default { 518 ], "__typename": [ - 530 + 549 ] }, "ReferralAggregateOrderBy": { @@ -7796,7 +7798,7 @@ export default { 519 ], "__typename": [ - 530 + 549 ] }, "ReferralArrRelInsertInput": { @@ -7807,7 +7809,7 @@ export default { 521 ], "__typename": [ - 530 + 549 ] }, "ReferralBoolExp": { @@ -7821,57 +7823,57 @@ export default { 513 ], "referralCode": [ - 531 + 550 ], "referrerId": [ - 675 + 695 ], "user": [ - 636 + 655 ], "userByUserId": [ - 636 + 655 ], "userId": [ - 675 + 695 ], "__typename": [ - 530 + 549 ] }, "ReferralConstraint": {}, "ReferralInsertInput": { "referralCode": [ - 530 + 549 ], "referrerId": [ - 693 + 715 ], "user": [ - 642 + 661 ], "userByUserId": [ - 642 + 661 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ReferralMaxFields": { "referralCode": [ - 530 + 549 ], "referrerId": [ - 693 + 715 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ReferralMaxOrderBy": { @@ -7885,21 +7887,21 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ReferralMinFields": { "referralCode": [ - 530 + 549 ], "referrerId": [ - 693 + 715 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ReferralMinOrderBy": { @@ -7913,7 +7915,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ReferralMutationResponse": { @@ -7924,7 +7926,7 @@ export default { 507 ], "__typename": [ - 530 + 549 ] }, "ReferralOnConflict": { @@ -7938,7 +7940,7 @@ export default { 513 ], "__typename": [ - 530 + 549 ] }, "ReferralOrderBy": { @@ -7949,39 +7951,39 @@ export default { 324 ], "user": [ - 644 + 663 ], "userByUserId": [ - 644 + 663 ], "userId": [ 324 ], "__typename": [ - 530 + 549 ] }, "ReferralPkColumnsInput": { "referralCode": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ReferralSelectColumn": {}, "ReferralSetInput": { "referralCode": [ - 530 + 549 ], "referrerId": [ - 693 + 715 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ReferralStreamCursorInput": { @@ -7992,21 +7994,21 @@ export default { 170 ], "__typename": [ - 530 + 549 ] }, "ReferralStreamCursorValueInput": { "referralCode": [ - 530 + 549 ], "referrerId": [ - 693 + 715 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ReferralUpdateColumn": {}, @@ -8018,70 +8020,341 @@ export default { 513 ], "__typename": [ - 530 + 549 ] }, - "String": {}, - "StringComparisonExp": { - "_eq": [ - 530 - ], - "_gt": [ - 530 + "SocialFollowing": { + "createdAt": [ + 712 ], - "_gte": [ - 530 + "followeeId": [ + 715 ], - "_ilike": [ - 530 + "followerId": [ + 715 ], - "_in": [ - 530 + "user": [ + 652 ], - "_iregex": [ - 530 + "userByFollowerId": [ + 652 ], - "_isNull": [ - 0 + "__typename": [ + 549 + ] + }, + "SocialFollowingAggregate": { + "aggregate": [ + 533 ], - "_like": [ + "nodes": [ 530 ], - "_lt": [ - 530 + "__typename": [ + 549 + ] + }, + "SocialFollowingAggregateBoolExp": { + "count": [ + 708 ], - "_lte": [ + "__typename": [ + 549 + ] + }, + "SocialFollowingAggregateFields": { + "count": [ + 172, + { + "columns": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "distinct": [ + 0 + ] + } + ], + "max": [ + 538 + ], + "min": [ + 540 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingAggregateOrderBy": { + "count": [ + 324 + ], + "max": [ + 539 + ], + "min": [ + 541 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingArrRelInsertInput": { + "data": [ + 537 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingBoolExp": { + "_and": [ + 536 + ], + "_not": [ + 536 + ], + "_or": [ + 536 + ], + "createdAt": [ + 594 + ], + "followeeId": [ + 695 + ], + "followerId": [ + 695 + ], + "user": [ + 655 + ], + "userByFollowerId": [ + 655 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingInsertInput": { + "createdAt": [ + 712 + ], + "followeeId": [ + 715 + ], + "followerId": [ + 715 + ], + "user": [ + 661 + ], + "userByFollowerId": [ + 661 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingMaxFields": { + "createdAt": [ + 712 + ], + "followeeId": [ + 715 + ], + "followerId": [ + 715 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingMaxOrderBy": { + "createdAt": [ + 324 + ], + "followeeId": [ + 324 + ], + "followerId": [ + 324 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingMinFields": { + "createdAt": [ + 712 + ], + "followeeId": [ + 715 + ], + "followerId": [ + 715 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingMinOrderBy": { + "createdAt": [ + 324 + ], + "followeeId": [ + 324 + ], + "followerId": [ + 324 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingMutationResponse": { + "affectedRows": [ + 172 + ], + "returning": [ 530 ], + "__typename": [ + 549 + ] + }, + "SocialFollowingOrderBy": { + "createdAt": [ + 324 + ], + "followeeId": [ + 324 + ], + "followerId": [ + 324 + ], + "user": [ + 663 + ], + "userByFollowerId": [ + 663 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingSelectColumn": {}, + "SocialFollowingSetInput": { + "createdAt": [ + 712 + ], + "followeeId": [ + 715 + ], + "followerId": [ + 715 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingStreamCursorInput": { + "initialValue": [ + 547 + ], + "ordering": [ + 170 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingStreamCursorValueInput": { + "createdAt": [ + 712 + ], + "followeeId": [ + 715 + ], + "followerId": [ + 715 + ], + "__typename": [ + 549 + ] + }, + "SocialFollowingUpdates": { + "_set": [ + 545 + ], + "where": [ + 536 + ], + "__typename": [ + 549 + ] + }, + "String": {}, + "StringComparisonExp": { + "_eq": [ + 549 + ], + "_gt": [ + 549 + ], + "_gte": [ + 549 + ], + "_ilike": [ + 549 + ], + "_in": [ + 549 + ], + "_iregex": [ + 549 + ], + "_isNull": [ + 0 + ], + "_like": [ + 549 + ], + "_lt": [ + 549 + ], + "_lte": [ + 549 + ], "_neq": [ - 530 + 549 ], "_nilike": [ - 530 + 549 ], "_nin": [ - 530 + 549 ], "_niregex": [ - 530 + 549 ], "_nlike": [ - 530 + 549 ], "_nregex": [ - 530 + 549 ], "_nsimilar": [ - 530 + 549 ], "_regex": [ - 530 + 549 ], "_similar": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "Thread": { @@ -8092,7 +8365,7 @@ export default { 172 ], "createdAt": [ - 691 + 712 ], "isApproved": [ 0 @@ -8154,55 +8427,55 @@ export default { 303 ], "threadId": [ - 693 + 715 ], "updatedAt": [ - 691 + 712 ], "user": [ - 633 + 652 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ThreadAggregate": { "aggregate": [ - 535 + 554 ], "nodes": [ - 532 + 551 ], "__typename": [ - 530 + 549 ] }, "ThreadAggregateBoolExp": { "bool_and": [ - 688 + 709 ], "bool_or": [ - 689 + 710 ], "count": [ - 690 + 711 ], "__typename": [ - 530 + 549 ] }, "ThreadAggregateFields": { "avg": [ - 538 + 557 ], "count": [ 172, { "columns": [ - 553, + 572, "[ThreadSelectColumn!]" ], "distinct": [ @@ -8211,83 +8484,83 @@ export default { } ], "max": [ - 544 + 563 ], "min": [ - 546 + 565 ], "stddev": [ - 557 + 576 ], "stddevPop": [ - 559 + 578 ], "stddevSamp": [ - 561 + 580 ], "sum": [ - 565 + 584 ], "varPop": [ - 569 + 588 ], "varSamp": [ - 571 + 590 ], "variance": [ - 573 + 592 ], "__typename": [ - 530 + 549 ] }, "ThreadAggregateOrderBy": { "avg": [ - 539 + 558 ], "count": [ 324 ], "max": [ - 545 + 564 ], "min": [ - 547 + 566 ], "stddev": [ - 558 + 577 ], "stddevPop": [ - 560 + 579 ], "stddevSamp": [ - 562 + 581 ], "sum": [ - 566 + 585 ], "varPop": [ - 570 + 589 ], "varSamp": [ - 572 + 591 ], "variance": [ - 574 + 593 ], "__typename": [ - 530 + 549 ] }, "ThreadArrRelInsertInput": { "data": [ - 543 + 562 ], "onConflict": [ - 550 + 569 ], "__typename": [ - 530 + 549 ] }, "ThreadAvgFields": { @@ -8295,7 +8568,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ThreadAvgOrderBy": { @@ -8303,18 +8576,18 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadBoolExp": { "_and": [ - 540 + 559 ], "_not": [ - 540 + 559 ], "_or": [ - 540 + 559 ], "chatbot": [ 78 @@ -8323,7 +8596,7 @@ export default { 173 ], "createdAt": [ - 575 + 594 ], "isApproved": [ 1 @@ -8347,19 +8620,19 @@ export default { 306 ], "threadId": [ - 675 + 695 ], "updatedAt": [ - 575 + 594 ], "user": [ - 636 + 655 ], "userId": [ - 675 + 695 ], "__typename": [ - 530 + 549 ] }, "ThreadConstraint": {}, @@ -8368,7 +8641,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ThreadInsertInput": { @@ -8379,7 +8652,7 @@ export default { 172 ], "createdAt": [ - 691 + 712 ], "isApproved": [ 0 @@ -8400,19 +8673,19 @@ export default { 314 ], "threadId": [ - 693 + 715 ], "updatedAt": [ - 691 + 712 ], "user": [ - 642 + 661 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ThreadMaxFields": { @@ -8420,19 +8693,19 @@ export default { 172 ], "createdAt": [ - 691 + 712 ], "threadId": [ - 693 + 715 ], "updatedAt": [ - 691 + 712 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ThreadMaxOrderBy": { @@ -8452,7 +8725,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadMinFields": { @@ -8460,19 +8733,19 @@ export default { 172 ], "createdAt": [ - 691 + 712 ], "threadId": [ - 693 + 715 ], "updatedAt": [ - 691 + 712 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ThreadMinOrderBy": { @@ -8492,7 +8765,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadMutationResponse": { @@ -8500,35 +8773,35 @@ export default { 172 ], "returning": [ - 532 + 551 ], "__typename": [ - 530 + 549 ] }, "ThreadObjRelInsertInput": { "data": [ - 543 + 562 ], "onConflict": [ - 550 + 569 ], "__typename": [ - 530 + 549 ] }, "ThreadOnConflict": { "constraint": [ - 541 + 560 ], "updateColumns": [ - 567 + 586 ], "where": [ - 540 + 559 ], "__typename": [ - 530 + 549 ] }, "ThreadOrderBy": { @@ -8566,21 +8839,21 @@ export default { 324 ], "user": [ - 644 + 663 ], "userId": [ 324 ], "__typename": [ - 530 + 549 ] }, "ThreadPkColumnsInput": { "threadId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ThreadSelectColumn": {}, @@ -8591,7 +8864,7 @@ export default { 172 ], "createdAt": [ - 691 + 712 ], "isApproved": [ 0 @@ -8606,16 +8879,16 @@ export default { 308 ], "threadId": [ - 693 + 715 ], "updatedAt": [ - 691 + 712 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ThreadStddevFields": { @@ -8623,7 +8896,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ThreadStddevOrderBy": { @@ -8631,7 +8904,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadStddevPopFields": { @@ -8639,7 +8912,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ThreadStddevPopOrderBy": { @@ -8647,7 +8920,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadStddevSampFields": { @@ -8655,7 +8928,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ThreadStddevSampOrderBy": { @@ -8663,18 +8936,18 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadStreamCursorInput": { "initialValue": [ - 564 + 583 ], "ordering": [ 170 ], "__typename": [ - 530 + 549 ] }, "ThreadStreamCursorValueInput": { @@ -8682,7 +8955,7 @@ export default { 172 ], "createdAt": [ - 691 + 712 ], "isApproved": [ 0 @@ -8697,16 +8970,16 @@ export default { 308 ], "threadId": [ - 693 + 715 ], "updatedAt": [ - 691 + 712 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "ThreadSumFields": { @@ -8714,7 +8987,7 @@ export default { 172 ], "__typename": [ - 530 + 549 ] }, "ThreadSumOrderBy": { @@ -8722,22 +8995,22 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadUpdateColumn": {}, "ThreadUpdates": { "_inc": [ - 542 + 561 ], "_set": [ - 556 + 575 ], "where": [ - 540 + 559 ], "__typename": [ - 530 + 549 ] }, "ThreadVarPopFields": { @@ -8745,7 +9018,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ThreadVarPopOrderBy": { @@ -8753,7 +9026,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadVarSampFields": { @@ -8761,7 +9034,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ThreadVarSampOrderBy": { @@ -8769,7 +9042,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ThreadVarianceFields": { @@ -8777,7 +9050,7 @@ export default { 171 ], "__typename": [ - 530 + 549 ] }, "ThreadVarianceOrderBy": { @@ -8785,53 +9058,53 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "TimestamptzComparisonExp": { "_eq": [ - 691 + 712 ], "_gt": [ - 691 + 712 ], "_gte": [ - 691 + 712 ], "_in": [ - 691 + 712 ], "_isNull": [ 0 ], "_lt": [ - 691 + 712 ], "_lte": [ - 691 + 712 ], "_neq": [ - 691 + 712 ], "_nin": [ - 691 + 712 ], "__typename": [ - 530 + 549 ] }, "Token": { "token": [ - 530 + 549 ], "tokenExpiry": [ - 691 + 712 ], "userTokens": [ - 650, + 670, { "distinctOn": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "limit": [ @@ -8841,19 +9114,19 @@ export default { 172 ], "orderBy": [ - 665, + 685, "[UserTokenOrderBy!]" ], "where": [ - 656 + 676 ] } ], "userTokensAggregate": [ - 651, + 671, { "distinctOn": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "limit": [ @@ -8863,27 +9136,27 @@ export default { 172 ], "orderBy": [ - 665, + 685, "[UserTokenOrderBy!]" ], "where": [ - 656 + 676 ] } ], "__typename": [ - 530 + 549 ] }, "TokenAggregate": { "aggregate": [ - 578 + 597 ], "nodes": [ - 576 + 595 ], "__typename": [ - 530 + 549 ] }, "TokenAggregateFields": { @@ -8891,7 +9164,7 @@ export default { 172, { "columns": [ - 589, + 608, "[TokenSelectColumn!]" ], "distinct": [ @@ -8900,76 +9173,76 @@ export default { } ], "max": [ - 582 + 601 ], "min": [ - 583 + 602 ], "__typename": [ - 530 + 549 ] }, "TokenBoolExp": { "_and": [ - 579 + 598 ], "_not": [ - 579 + 598 ], "_or": [ - 579 + 598 ], "token": [ - 531 + 550 ], "tokenExpiry": [ - 575 + 594 ], "userTokens": [ - 656 + 676 ], "userTokensAggregate": [ - 652 + 672 ], "__typename": [ - 530 + 549 ] }, "TokenConstraint": {}, "TokenInsertInput": { "token": [ - 530 + 549 ], "tokenExpiry": [ - 691 + 712 ], "userTokens": [ - 655 + 675 ], "__typename": [ - 530 + 549 ] }, "TokenMaxFields": { "token": [ - 530 + 549 ], "tokenExpiry": [ - 691 + 712 ], "__typename": [ - 530 + 549 ] }, "TokenMinFields": { "token": [ - 530 + 549 ], "tokenExpiry": [ - 691 + 712 ], "__typename": [ - 530 + 549 ] }, "TokenMutationResponse": { @@ -8977,35 +9250,35 @@ export default { 172 ], "returning": [ - 576 + 595 ], "__typename": [ - 530 + 549 ] }, "TokenObjRelInsertInput": { "data": [ - 581 + 600 ], "onConflict": [ - 586 + 605 ], "__typename": [ - 530 + 549 ] }, "TokenOnConflict": { "constraint": [ - 580 + 599 ], "updateColumns": [ - 593 + 612 ], "where": [ - 579 + 598 ], "__typename": [ - 530 + 549 ] }, "TokenOrderBy": { @@ -9016,64 +9289,64 @@ export default { 324 ], "userTokensAggregate": [ - 654 + 674 ], "__typename": [ - 530 + 549 ] }, "TokenPkColumnsInput": { "token": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "TokenSelectColumn": {}, "TokenSetInput": { "token": [ - 530 + 549 ], "tokenExpiry": [ - 691 + 712 ], "__typename": [ - 530 + 549 ] }, "TokenStreamCursorInput": { "initialValue": [ - 592 + 611 ], "ordering": [ 170 ], "__typename": [ - 530 + 549 ] }, "TokenStreamCursorValueInput": { "token": [ - 530 + 549 ], "tokenExpiry": [ - 691 + 712 ], "__typename": [ - 530 + 549 ] }, "TokenUpdateColumn": {}, "TokenUpdates": { "_set": [ - 590 + 609 ], "where": [ - 579 + 598 ], "__typename": [ - 530 + 549 ] }, "ToneEnum": { @@ -9166,21 +9439,21 @@ export default { } ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ToneEnumAggregate": { "aggregate": [ - 597 + 616 ], "nodes": [ - 595 + 614 ], "__typename": [ - 530 + 549 ] }, "ToneEnumAggregateFields": { @@ -9188,7 +9461,7 @@ export default { 172, { "columns": [ - 608, + 627, "[ToneEnumSelectColumn!]" ], "distinct": [ @@ -9197,24 +9470,24 @@ export default { } ], "max": [ - 601 + 620 ], "min": [ - 602 + 621 ], "__typename": [ - 530 + 549 ] }, "ToneEnumBoolExp": { "_and": [ - 598 + 617 ], "_not": [ - 598 + 617 ], "_or": [ - 598 + 617 ], "chatbots": [ 78 @@ -9229,10 +9502,10 @@ export default { 327 ], "value": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "ToneEnumConstraint": {}, @@ -9244,26 +9517,26 @@ export default { 330 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ToneEnumMaxFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ToneEnumMinFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ToneEnumMutationResponse": { @@ -9271,35 +9544,35 @@ export default { 172 ], "returning": [ - 595 + 614 ], "__typename": [ - 530 + 549 ] }, "ToneEnumObjRelInsertInput": { "data": [ - 600 + 619 ], "onConflict": [ - 605 + 624 ], "__typename": [ - 530 + 549 ] }, "ToneEnumOnConflict": { "constraint": [ - 599 + 618 ], "updateColumns": [ - 612 + 631 ], "where": [ - 598 + 617 ], "__typename": [ - 530 + 549 ] }, "ToneEnumOrderBy": { @@ -9313,55 +9586,55 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "ToneEnumPkColumnsInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ToneEnumSelectColumn": {}, "ToneEnumSetInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ToneEnumStreamCursorInput": { "initialValue": [ - 611 + 630 ], "ordering": [ 170 ], "__typename": [ - 530 + 549 ] }, "ToneEnumStreamCursorValueInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "ToneEnumUpdateColumn": {}, "ToneEnumUpdates": { "_set": [ - 609 + 628 ], "where": [ - 598 + 617 ], "__typename": [ - 530 + 549 ] }, "TypeEnum": { @@ -9454,21 +9727,21 @@ export default { } ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "TypeEnumAggregate": { "aggregate": [ - 616 + 635 ], "nodes": [ - 614 + 633 ], "__typename": [ - 530 + 549 ] }, "TypeEnumAggregateFields": { @@ -9476,7 +9749,7 @@ export default { 172, { "columns": [ - 627, + 646, "[TypeEnumSelectColumn!]" ], "distinct": [ @@ -9485,24 +9758,24 @@ export default { } ], "max": [ - 620 + 639 ], "min": [ - 621 + 640 ], "__typename": [ - 530 + 549 ] }, "TypeEnumBoolExp": { "_and": [ - 617 + 636 ], "_not": [ - 617 + 636 ], "_or": [ - 617 + 636 ], "chatbots": [ 78 @@ -9517,10 +9790,10 @@ export default { 327 ], "value": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "TypeEnumConstraint": {}, @@ -9532,26 +9805,26 @@ export default { 330 ], "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "TypeEnumMaxFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "TypeEnumMinFields": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "TypeEnumMutationResponse": { @@ -9559,35 +9832,35 @@ export default { 172 ], "returning": [ - 614 + 633 ], "__typename": [ - 530 + 549 ] }, "TypeEnumObjRelInsertInput": { "data": [ - 619 + 638 ], "onConflict": [ - 624 + 643 ], "__typename": [ - 530 + 549 ] }, "TypeEnumOnConflict": { "constraint": [ - 618 + 637 ], "updateColumns": [ - 631 + 650 ], "where": [ - 617 + 636 ], "__typename": [ - 530 + 549 ] }, "TypeEnumOrderBy": { @@ -9601,58 +9874,61 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "TypeEnumPkColumnsInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "TypeEnumSelectColumn": {}, "TypeEnumSetInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "TypeEnumStreamCursorInput": { "initialValue": [ - 630 + 649 ], "ordering": [ 170 ], "__typename": [ - 530 + 549 ] }, "TypeEnumStreamCursorValueInput": { "value": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "TypeEnumUpdateColumn": {}, "TypeEnumUpdates": { "_set": [ - 628 + 647 ], "where": [ - 617 + 636 ], "__typename": [ - 530 + 549 ] }, "User": { + "bio": [ + 549 + ], "chats": [ 30, { @@ -9698,10 +9974,101 @@ export default { } ], "dateJoined": [ - 691 + 712 ], "email": [ - 530 + 549 + ], + "favouriteTopic": [ + 549 + ], + "followers": [ + 530, + { + "distinctOn": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 543, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 536 + ] + } + ], + "followersAggregate": [ + 531, + { + "distinctOn": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 543, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 536 + ] + } + ], + "following": [ + 530, + { + "distinctOn": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 543, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 536 + ] + } + ], + "followingAggregate": [ + 531, + { + "distinctOn": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 543, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 536 + ] + } ], "getFreeMonth": [ 0 @@ -9713,10 +10080,10 @@ export default { 0 ], "lastLogin": [ - 691 + 712 ], "password": [ - 530 + 549 ], "preferences": [ 325, @@ -9763,10 +10130,10 @@ export default { } ], "proUserSubscriptionId": [ - 530 + 549 ], "profilePicture": [ - 530 + 549 ], "prompts": [ 461, @@ -9900,14 +10267,17 @@ export default { ] } ], + "role": [ + 714 + ], "slug": [ - 530 + 549 ], "threads": [ - 532, + 551, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -9917,19 +10287,19 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "threadsAggregate": [ - 533, + 552, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -9939,22 +10309,22 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "userId": [ - 693 + 715 ], "userTokens": [ - 650, + 670, { "distinctOn": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "limit": [ @@ -9964,19 +10334,19 @@ export default { 172 ], "orderBy": [ - 665, + 685, "[UserTokenOrderBy!]" ], "where": [ - 656 + 676 ] } ], "userTokensAggregate": [ - 651, + 671, { "distinctOn": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "limit": [ @@ -9986,30 +10356,30 @@ export default { 172 ], "orderBy": [ - 665, + 685, "[UserTokenOrderBy!]" ], "where": [ - 656 + 676 ] } ], "username": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "UserAggregate": { "aggregate": [ - 635 + 654 ], "nodes": [ - 633 + 652 ], "__typename": [ - 530 + 549 ] }, "UserAggregateFields": { @@ -10017,7 +10387,7 @@ export default { 172, { "columns": [ - 646, + 666, "[UserSelectColumn!]" ], "distinct": [ @@ -10026,24 +10396,27 @@ export default { } ], "max": [ - 639 + 658 ], "min": [ - 640 + 659 ], "__typename": [ - 530 + 549 ] }, "UserBoolExp": { "_and": [ - 636 + 655 ], "_not": [ - 636 + 655 ], "_or": [ - 636 + 655 + ], + "bio": [ + 550 ], "chats": [ 38 @@ -10052,10 +10425,25 @@ export default { 32 ], "dateJoined": [ - 575 + 594 ], "email": [ - 531 + 550 + ], + "favouriteTopic": [ + 550 + ], + "followers": [ + 536 + ], + "followersAggregate": [ + 532 + ], + "following": [ + 536 + ], + "followingAggregate": [ + 532 ], "getFreeMonth": [ 1 @@ -10067,10 +10455,10 @@ export default { 1 ], "lastLogin": [ - 575 + 594 ], "password": [ - 531 + 550 ], "preferences": [ 333 @@ -10079,10 +10467,10 @@ export default { 327 ], "proUserSubscriptionId": [ - 531 + 550 ], "profilePicture": [ - 531 + 550 ], "prompts": [ 469 @@ -10102,41 +10490,56 @@ export default { "referralsByUserIdAggregate": [ 509 ], + "role": [ + 665 + ], "slug": [ - 531 + 550 ], "threads": [ - 540 + 559 ], "threadsAggregate": [ - 534 + 553 ], "userId": [ - 675 + 695 ], "userTokens": [ - 656 + 676 ], "userTokensAggregate": [ - 652 + 672 ], "username": [ - 531 + 550 ], "__typename": [ - 530 + 549 ] }, "UserConstraint": {}, "UserInsertInput": { + "bio": [ + 549 + ], "chats": [ 35 ], "dateJoined": [ - 691 + 712 ], "email": [ - 530 + 549 + ], + "favouriteTopic": [ + 549 + ], + "followers": [ + 535 + ], + "following": [ + 535 ], "getFreeMonth": [ 0 @@ -10148,19 +10551,19 @@ export default { 0 ], "lastLogin": [ - 691 + 712 ], "password": [ - 530 + 549 ], "preferences": [ 330 ], "proUserSubscriptionId": [ - 530 + 549 ], "profilePicture": [ - 530 + 549 ], "prompts": [ 466 @@ -10171,87 +10574,108 @@ export default { "referralsByUserId": [ 512 ], + "role": [ + 714 + ], "slug": [ - 530 + 549 ], "threads": [ - 537 + 556 ], "userId": [ - 693 + 715 ], "userTokens": [ - 655 + 675 ], "username": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "UserMaxFields": { + "bio": [ + 549 + ], "dateJoined": [ - 691 + 712 ], "email": [ - 530 + 549 + ], + "favouriteTopic": [ + 549 ], "lastLogin": [ - 691 + 712 ], "password": [ - 530 + 549 ], "proUserSubscriptionId": [ - 530 + 549 ], "profilePicture": [ - 530 + 549 + ], + "role": [ + 714 ], "slug": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "username": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "UserMinFields": { + "bio": [ + 549 + ], "dateJoined": [ - 691 + 712 ], "email": [ - 530 + 549 + ], + "favouriteTopic": [ + 549 ], "lastLogin": [ - 691 + 712 ], "password": [ - 530 + 549 ], "proUserSubscriptionId": [ - 530 + 549 ], "profilePicture": [ - 530 + 549 + ], + "role": [ + 714 ], "slug": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "username": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "UserMutationResponse": { @@ -10259,38 +10683,41 @@ export default { 172 ], "returning": [ - 633 + 652 ], "__typename": [ - 530 + 549 ] }, "UserObjRelInsertInput": { "data": [ - 638 + 657 ], "onConflict": [ - 643 + 662 ], "__typename": [ - 530 + 549 ] }, "UserOnConflict": { "constraint": [ - 637 + 656 ], "updateColumns": [ - 673 + 693 ], "where": [ - 636 + 655 ], "__typename": [ - 530 + 549 ] }, "UserOrderBy": { + "bio": [ + 324 + ], "chatsAggregate": [ 34 ], @@ -10300,6 +10727,15 @@ export default { "email": [ 324 ], + "favouriteTopic": [ + 324 + ], + "followersAggregate": [ + 534 + ], + "followingAggregate": [ + 534 + ], "getFreeMonth": [ 324 ], @@ -10333,40 +10769,81 @@ export default { "referralsByUserIdAggregate": [ 511 ], + "role": [ + 324 + ], "slug": [ 324 ], "threadsAggregate": [ - 536 + 555 ], "userId": [ 324 ], "userTokensAggregate": [ - 654 + 674 ], "username": [ 324 ], "__typename": [ - 530 + 549 ] }, "UserPkColumnsInput": { "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 + ] + }, + "UserRoleComparisonExp": { + "_eq": [ + 714 + ], + "_gt": [ + 714 + ], + "_gte": [ + 714 + ], + "_in": [ + 714 + ], + "_isNull": [ + 0 + ], + "_lt": [ + 714 + ], + "_lte": [ + 714 + ], + "_neq": [ + 714 + ], + "_nin": [ + 714 + ], + "__typename": [ + 549 ] }, "UserSelectColumn": {}, "UserSetInput": { + "bio": [ + 549 + ], "dateJoined": [ - 691 + 712 ], "email": [ - 530 + 549 + ], + "favouriteTopic": [ + 549 ], "getFreeMonth": [ 0 @@ -10378,47 +10855,56 @@ export default { 0 ], "lastLogin": [ - 691 + 712 ], "password": [ - 530 + 549 ], "proUserSubscriptionId": [ - 530 + 549 ], "profilePicture": [ - 530 + 549 + ], + "role": [ + 714 ], "slug": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "username": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "UserStreamCursorInput": { "initialValue": [ - 649 + 669 ], "ordering": [ 170 ], "__typename": [ - 530 + 549 ] }, "UserStreamCursorValueInput": { + "bio": [ + 549 + ], "dateJoined": [ - 691 + 712 ], "email": [ - 530 + 549 + ], + "favouriteTopic": [ + 549 ], "getFreeMonth": [ 0 @@ -10430,64 +10916,67 @@ export default { 0 ], "lastLogin": [ - 691 + 712 ], "password": [ - 530 + 549 ], "proUserSubscriptionId": [ - 530 + 549 ], "profilePicture": [ - 530 + 549 + ], + "role": [ + 714 ], "slug": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "username": [ - 530 + 549 ], "__typename": [ - 530 + 549 ] }, "UserToken": { "token": [ - 530 + 549 ], "tokenByToken": [ - 576 + 595 ], "user": [ - 633 + 652 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "UserTokenAggregate": { "aggregate": [ - 653 + 673 ], "nodes": [ - 650 + 670 ], "__typename": [ - 530 + 549 ] }, "UserTokenAggregateBoolExp": { "count": [ - 692 + 713 ], "__typename": [ - 530 + 549 ] }, "UserTokenAggregateFields": { @@ -10495,7 +10984,7 @@ export default { 172, { "columns": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "distinct": [ @@ -10504,13 +10993,13 @@ export default { } ], "max": [ - 659 + 679 ], "min": [ - 661 + 681 ], "__typename": [ - 530 + 549 ] }, "UserTokenAggregateOrderBy": { @@ -10518,79 +11007,79 @@ export default { 324 ], "max": [ - 660 + 680 ], "min": [ - 662 + 682 ], "__typename": [ - 530 + 549 ] }, "UserTokenArrRelInsertInput": { "data": [ - 658 + 678 ], "onConflict": [ - 664 + 684 ], "__typename": [ - 530 + 549 ] }, "UserTokenBoolExp": { "_and": [ - 656 + 676 ], "_not": [ - 656 + 676 ], "_or": [ - 656 + 676 ], "token": [ - 531 + 550 ], "tokenByToken": [ - 579 + 598 ], "user": [ - 636 + 655 ], "userId": [ - 675 + 695 ], "__typename": [ - 530 + 549 ] }, "UserTokenConstraint": {}, "UserTokenInsertInput": { "token": [ - 530 + 549 ], "tokenByToken": [ - 585 + 604 ], "user": [ - 642 + 661 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "UserTokenMaxFields": { "token": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "UserTokenMaxOrderBy": { @@ -10601,18 +11090,18 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "UserTokenMinFields": { "token": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "UserTokenMinOrderBy": { @@ -10623,7 +11112,7 @@ export default { 324 ], "__typename": [ - 530 + 549 ] }, "UserTokenMutationResponse": { @@ -10631,24 +11120,24 @@ export default { 172 ], "returning": [ - 650 + 670 ], "__typename": [ - 530 + 549 ] }, "UserTokenOnConflict": { "constraint": [ - 657 + 677 ], "updateColumns": [ - 671 + 691 ], "where": [ - 656 + 676 ], "__typename": [ - 530 + 549 ] }, "UserTokenOrderBy": { @@ -10656,117 +11145,117 @@ export default { 324 ], "tokenByToken": [ - 587 + 606 ], "user": [ - 644 + 663 ], "userId": [ 324 ], "__typename": [ - 530 + 549 ] }, "UserTokenPkColumnsInput": { "token": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "UserTokenSelectColumn": {}, "UserTokenSetInput": { "token": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "UserTokenStreamCursorInput": { "initialValue": [ - 670 + 690 ], "ordering": [ 170 ], "__typename": [ - 530 + 549 ] }, "UserTokenStreamCursorValueInput": { "token": [ - 530 + 549 ], "userId": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "UserTokenUpdateColumn": {}, "UserTokenUpdates": { "_set": [ - 668 + 688 ], "where": [ - 656 + 676 ], "__typename": [ - 530 + 549 ] }, "UserUpdateColumn": {}, "UserUpdates": { "_set": [ - 647 + 667 ], "where": [ - 636 + 655 ], "__typename": [ - 530 + 549 ] }, "UuidComparisonExp": { "_eq": [ - 693 + 715 ], "_gt": [ - 693 + 715 ], "_gte": [ - 693 + 715 ], "_in": [ - 693 + 715 ], "_isNull": [ 0 ], "_lt": [ - 693 + 715 ], "_lte": [ - 693 + 715 ], "_neq": [ - 693 + 715 ], "_nin": [ - 693 + 715 ], "__typename": [ - 530 + 549 ] }, "chatAggregateBoolExpCount": { @@ -10783,7 +11272,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "chatbotAggregateBoolExpCount": { @@ -10800,7 +11289,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "chatbotCategoryAggregateBoolExpCount": { @@ -10817,7 +11306,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "labelChatbotCategoryAggregateBoolExpCount": { @@ -10834,7 +11323,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "messageAggregateBoolExpCount": { @@ -10851,7 +11340,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "preferenceAggregateBoolExpBool_and": { @@ -10868,7 +11357,7 @@ export default { 1 ], "__typename": [ - 530 + 549 ] }, "preferenceAggregateBoolExpBool_or": { @@ -10885,7 +11374,7 @@ export default { 1 ], "__typename": [ - 530 + 549 ] }, "preferenceAggregateBoolExpCount": { @@ -10902,7 +11391,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "promptAggregateBoolExpCount": { @@ -10919,7 +11408,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "promptChatbotAggregateBoolExpCount": { @@ -10936,7 +11425,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "promptUserAggregateBoolExpCount": { @@ -10953,7 +11442,7 @@ export default { 173 ], "__typename": [ - 530 + 549 ] }, "referralAggregateBoolExpCount": { @@ -10970,78 +11459,96 @@ export default { 173 ], "__typename": [ - 530 + 549 + ] + }, + "socialFollowingAggregateBoolExpCount": { + "arguments": [ + 544 + ], + "distinct": [ + 0 + ], + "filter": [ + 536 + ], + "predicate": [ + 173 + ], + "__typename": [ + 549 ] }, "threadAggregateBoolExpBool_and": { "arguments": [ - 554 + 573 ], "distinct": [ 0 ], "filter": [ - 540 + 559 ], "predicate": [ 1 ], "__typename": [ - 530 + 549 ] }, "threadAggregateBoolExpBool_or": { "arguments": [ - 555 + 574 ], "distinct": [ 0 ], "filter": [ - 540 + 559 ], "predicate": [ 1 ], "__typename": [ - 530 + 549 ] }, "threadAggregateBoolExpCount": { "arguments": [ - 553 + 572 ], "distinct": [ 0 ], "filter": [ - 540 + 559 ], "predicate": [ 173 ], "__typename": [ - 530 + 549 ] }, "timestamptz": {}, "userTokenAggregateBoolExpCount": { "arguments": [ - 667 + 687 ], "distinct": [ 0 ], "filter": [ - 656 + 676 ], "predicate": [ 173 ], "__typename": [ - 530 + 549 ] }, + "user_role": {}, "uuid": {}, "Query": { "category": [ @@ -11308,7 +11815,7 @@ export default { 151, { "value": [ - 530, + 549, "String!" ] } @@ -11475,7 +11982,7 @@ export default { 242, { "value": [ - 530, + 549, "String!" ] } @@ -11528,7 +12035,7 @@ export default { 261, { "messageId": [ - 693, + 715, "uuid!" ] } @@ -11581,7 +12088,7 @@ export default { 282, { "value": [ - 530, + 549, "String!" ] } @@ -11634,7 +12141,7 @@ export default { 303, { "name": [ - 530, + 549, "String!" ] } @@ -11850,7 +12357,7 @@ export default { 440, { "value": [ - 530, + 549, "String!" ] } @@ -11907,7 +12414,7 @@ export default { "Int!" ], "userId": [ - 693, + 715, "uuid!" ] } @@ -11960,16 +12467,60 @@ export default { 507, { "referralCode": [ - 530, + 549, "String!" ] } ], + "socialFollowing": [ + 530, + { + "distinctOn": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 543, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 536 + ] + } + ], + "socialFollowingAggregate": [ + 531, + { + "distinctOn": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 543, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 536 + ] + } + ], "thread": [ - 532, + 551, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -11979,19 +12530,19 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "threadAggregate": [ - 533, + 552, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -12001,28 +12552,28 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "threadByPk": [ - 532, + 551, { "threadId": [ - 693, + 715, "uuid!" ] } ], "token": [ - 576, + 595, { "distinctOn": [ - 589, + 608, "[TokenSelectColumn!]" ], "limit": [ @@ -12032,19 +12583,19 @@ export default { 172 ], "orderBy": [ - 587, + 606, "[TokenOrderBy!]" ], "where": [ - 579 + 598 ] } ], "tokenAggregate": [ - 577, + 596, { "distinctOn": [ - 589, + 608, "[TokenSelectColumn!]" ], "limit": [ @@ -12054,28 +12605,28 @@ export default { 172 ], "orderBy": [ - 587, + 606, "[TokenOrderBy!]" ], "where": [ - 579 + 598 ] } ], "tokenByPk": [ - 576, + 595, { "token": [ - 530, + 549, "String!" ] } ], "toneEnum": [ - 595, + 614, { "distinctOn": [ - 608, + 627, "[ToneEnumSelectColumn!]" ], "limit": [ @@ -12085,19 +12636,19 @@ export default { 172 ], "orderBy": [ - 606, + 625, "[ToneEnumOrderBy!]" ], "where": [ - 598 + 617 ] } ], "toneEnumAggregate": [ - 596, + 615, { "distinctOn": [ - 608, + 627, "[ToneEnumSelectColumn!]" ], "limit": [ @@ -12107,28 +12658,28 @@ export default { 172 ], "orderBy": [ - 606, + 625, "[ToneEnumOrderBy!]" ], "where": [ - 598 + 617 ] } ], "toneEnumByPk": [ - 595, + 614, { "value": [ - 530, + 549, "String!" ] } ], "typeEnum": [ - 614, + 633, { "distinctOn": [ - 627, + 646, "[TypeEnumSelectColumn!]" ], "limit": [ @@ -12138,19 +12689,19 @@ export default { 172 ], "orderBy": [ - 625, + 644, "[TypeEnumOrderBy!]" ], "where": [ - 617 + 636 ] } ], "typeEnumAggregate": [ - 615, + 634, { "distinctOn": [ - 627, + 646, "[TypeEnumSelectColumn!]" ], "limit": [ @@ -12160,28 +12711,28 @@ export default { 172 ], "orderBy": [ - 625, + 644, "[TypeEnumOrderBy!]" ], "where": [ - 617 + 636 ] } ], "typeEnumByPk": [ - 614, + 633, { "value": [ - 530, + 549, "String!" ] } ], "user": [ - 633, + 652, { "distinctOn": [ - 646, + 666, "[UserSelectColumn!]" ], "limit": [ @@ -12191,19 +12742,19 @@ export default { 172 ], "orderBy": [ - 644, + 663, "[UserOrderBy!]" ], "where": [ - 636 + 655 ] } ], "userAggregate": [ - 634, + 653, { "distinctOn": [ - 646, + 666, "[UserSelectColumn!]" ], "limit": [ @@ -12213,28 +12764,28 @@ export default { 172 ], "orderBy": [ - 644, + 663, "[UserOrderBy!]" ], "where": [ - 636 + 655 ] } ], "userByPk": [ - 633, + 652, { "userId": [ - 693, + 715, "uuid!" ] } ], "userToken": [ - 650, + 670, { "distinctOn": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "limit": [ @@ -12244,19 +12795,19 @@ export default { 172 ], "orderBy": [ - 665, + 685, "[UserTokenOrderBy!]" ], "where": [ - 656 + 676 ] } ], "userTokenAggregate": [ - 651, + 671, { "distinctOn": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "limit": [ @@ -12266,29 +12817,29 @@ export default { 172 ], "orderBy": [ - 665, + 685, "[UserTokenOrderBy!]" ], "where": [ - 656 + 676 ] } ], "userTokenByPk": [ - 650, + 670, { "token": [ - 530, + 549, "String!" ], "userId": [ - 693, + 715, "uuid!" ] } ], "__typename": [ - 530 + 549 ] }, "Mutation": { @@ -12381,7 +12932,7 @@ export default { 151, { "value": [ - 530, + 549, "String!" ] } @@ -12443,7 +12994,7 @@ export default { 242, { "value": [ - 530, + 549, "String!" ] } @@ -12461,7 +13012,7 @@ export default { 261, { "messageId": [ - 693, + 715, "uuid!" ] } @@ -12479,7 +13030,7 @@ export default { 282, { "value": [ - 530, + 549, "String!" ] } @@ -12497,7 +13048,7 @@ export default { 303, { "name": [ - 530, + 549, "String!" ] } @@ -12573,7 +13124,7 @@ export default { 440, { "value": [ - 530, + 549, "String!" ] } @@ -12595,7 +13146,7 @@ export default { "Int!" ], "userId": [ - 693, + 715, "uuid!" ] } @@ -12613,119 +13164,128 @@ export default { 507, { "referralCode": [ - 530, + 549, "String!" ] } ], + "deleteSocialFollowing": [ + 542, + { + "where": [ + 536, + "SocialFollowingBoolExp!" + ] + } + ], "deleteThread": [ - 548, + 567, { "where": [ - 540, + 559, "ThreadBoolExp!" ] } ], "deleteThreadByPk": [ - 532, + 551, { "threadId": [ - 693, + 715, "uuid!" ] } ], "deleteToken": [ - 584, + 603, { "where": [ - 579, + 598, "TokenBoolExp!" ] } ], "deleteTokenByPk": [ - 576, + 595, { "token": [ - 530, + 549, "String!" ] } ], "deleteToneEnum": [ - 603, + 622, { "where": [ - 598, + 617, "ToneEnumBoolExp!" ] } ], "deleteToneEnumByPk": [ - 595, + 614, { "value": [ - 530, + 549, "String!" ] } ], "deleteTypeEnum": [ - 622, + 641, { "where": [ - 617, + 636, "TypeEnumBoolExp!" ] } ], "deleteTypeEnumByPk": [ - 614, + 633, { "value": [ - 530, + 549, "String!" ] } ], "deleteUser": [ - 641, + 660, { "where": [ - 636, + 655, "UserBoolExp!" ] } ], "deleteUserByPk": [ - 633, + 652, { "userId": [ - 693, + 715, "uuid!" ] } ], "deleteUserToken": [ - 663, + 683, { "where": [ - 656, + 676, "UserTokenBoolExp!" ] } ], "deleteUserTokenByPk": [ - 650, + 670, { "token": [ - 530, + 549, "String!" ], "userId": [ - 693, + 715, "uuid!" ] } @@ -13138,147 +13698,165 @@ export default { ] } ], + "insertSocialFollowing": [ + 542, + { + "objects": [ + 537, + "[SocialFollowingInsertInput!]!" + ] + } + ], + "insertSocialFollowingOne": [ + 530, + { + "object": [ + 537, + "SocialFollowingInsertInput!" + ] + } + ], "insertThread": [ - 548, + 567, { "objects": [ - 543, + 562, "[ThreadInsertInput!]!" ], "onConflict": [ - 550 + 569 ] } ], "insertThreadOne": [ - 532, + 551, { "object": [ - 543, + 562, "ThreadInsertInput!" ], "onConflict": [ - 550 + 569 ] } ], "insertToken": [ - 584, + 603, { "objects": [ - 581, + 600, "[TokenInsertInput!]!" ], "onConflict": [ - 586 + 605 ] } ], "insertTokenOne": [ - 576, + 595, { "object": [ - 581, + 600, "TokenInsertInput!" ], "onConflict": [ - 586 + 605 ] } ], "insertToneEnum": [ - 603, + 622, { "objects": [ - 600, + 619, "[ToneEnumInsertInput!]!" ], "onConflict": [ - 605 + 624 ] } ], "insertToneEnumOne": [ - 595, + 614, { "object": [ - 600, + 619, "ToneEnumInsertInput!" ], "onConflict": [ - 605 + 624 ] } ], "insertTypeEnum": [ - 622, + 641, { "objects": [ - 619, + 638, "[TypeEnumInsertInput!]!" ], "onConflict": [ - 624 + 643 ] } ], "insertTypeEnumOne": [ - 614, + 633, { "object": [ - 619, + 638, "TypeEnumInsertInput!" ], "onConflict": [ - 624 + 643 ] } ], "insertUser": [ - 641, + 660, { "objects": [ - 638, + 657, "[UserInsertInput!]!" ], "onConflict": [ - 643 + 662 ] } ], "insertUserOne": [ - 633, + 652, { "object": [ - 638, + 657, "UserInsertInput!" ], "onConflict": [ - 643 + 662 ] } ], "insertUserToken": [ - 663, + 683, { "objects": [ - 658, + 678, "[UserTokenInsertInput!]!" ], "onConflict": [ - 664 + 684 ] } ], "insertUserTokenOne": [ - 650, + 670, { "object": [ - 658, + 678, "UserTokenInsertInput!" ], "onConflict": [ - 664 + 684 ] } ], @@ -13903,212 +14481,233 @@ export default { ] } ], + "updateSocialFollowing": [ + 542, + { + "_set": [ + 545 + ], + "where": [ + 536, + "SocialFollowingBoolExp!" + ] + } + ], + "updateSocialFollowingMany": [ + 542, + { + "updates": [ + 548, + "[SocialFollowingUpdates!]!" + ] + } + ], "updateThread": [ - 548, + 567, { "_inc": [ - 542 + 561 ], "_set": [ - 556 + 575 ], "where": [ - 540, + 559, "ThreadBoolExp!" ] } ], "updateThreadByPk": [ - 532, + 551, { "_inc": [ - 542 + 561 ], "_set": [ - 556 + 575 ], "pkColumns": [ - 552, + 571, "ThreadPkColumnsInput!" ] } ], "updateThreadMany": [ - 548, + 567, { "updates": [ - 568, + 587, "[ThreadUpdates!]!" ] } ], "updateToken": [ - 584, + 603, { "_set": [ - 590 + 609 ], "where": [ - 579, + 598, "TokenBoolExp!" ] } ], "updateTokenByPk": [ - 576, + 595, { "_set": [ - 590 + 609 ], "pkColumns": [ - 588, + 607, "TokenPkColumnsInput!" ] } ], "updateTokenMany": [ - 584, + 603, { "updates": [ - 594, + 613, "[TokenUpdates!]!" ] } ], "updateToneEnum": [ - 603, + 622, { "_set": [ - 609 + 628 ], "where": [ - 598, + 617, "ToneEnumBoolExp!" ] } ], "updateToneEnumByPk": [ - 595, + 614, { "_set": [ - 609 + 628 ], "pkColumns": [ - 607, + 626, "ToneEnumPkColumnsInput!" ] } ], "updateToneEnumMany": [ - 603, + 622, { "updates": [ - 613, + 632, "[ToneEnumUpdates!]!" ] } ], "updateTypeEnum": [ - 622, + 641, { "_set": [ - 628 + 647 ], "where": [ - 617, + 636, "TypeEnumBoolExp!" ] } ], "updateTypeEnumByPk": [ - 614, + 633, { "_set": [ - 628 + 647 ], "pkColumns": [ - 626, + 645, "TypeEnumPkColumnsInput!" ] } ], "updateTypeEnumMany": [ - 622, + 641, { "updates": [ - 632, + 651, "[TypeEnumUpdates!]!" ] } ], "updateUser": [ - 641, + 660, { "_set": [ - 647 + 667 ], "where": [ - 636, + 655, "UserBoolExp!" ] } ], "updateUserByPk": [ - 633, + 652, { "_set": [ - 647 + 667 ], "pkColumns": [ - 645, + 664, "UserPkColumnsInput!" ] } ], "updateUserMany": [ - 641, + 660, { "updates": [ - 674, + 694, "[UserUpdates!]!" ] } ], "updateUserToken": [ - 663, + 683, { "_set": [ - 668 + 688 ], "where": [ - 656, + 676, "UserTokenBoolExp!" ] } ], "updateUserTokenByPk": [ - 650, + 670, { "_set": [ - 668 + 688 ], "pkColumns": [ - 666, + 686, "UserTokenPkColumnsInput!" ] } ], "updateUserTokenMany": [ - 663, + 683, { "updates": [ - 672, + 692, "[UserTokenUpdates!]!" ] } ], "__typename": [ - 530 + 549 ] }, "Subscription": { @@ -14440,7 +15039,7 @@ export default { 151, { "value": [ - 530, + 549, "String!" ] } @@ -14655,7 +15254,7 @@ export default { 242, { "value": [ - 530, + 549, "String!" ] } @@ -14724,7 +15323,7 @@ export default { 261, { "messageId": [ - 693, + 715, "uuid!" ] } @@ -14793,7 +15392,7 @@ export default { 282, { "value": [ - 530, + 549, "String!" ] } @@ -14862,7 +15461,7 @@ export default { 303, { "name": [ - 530, + 549, "String!" ] } @@ -15142,7 +15741,7 @@ export default { 440, { "value": [ - 530, + 549, "String!" ] } @@ -15215,7 +15814,7 @@ export default { "Int!" ], "userId": [ - 693, + 715, "uuid!" ] } @@ -15284,7 +15883,7 @@ export default { 507, { "referralCode": [ - 530, + 549, "String!" ] } @@ -15305,11 +15904,71 @@ export default { ] } ], + "socialFollowing": [ + 530, + { + "distinctOn": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 543, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 536 + ] + } + ], + "socialFollowingAggregate": [ + 531, + { + "distinctOn": [ + 544, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 543, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 536 + ] + } + ], + "socialFollowingStream": [ + 530, + { + "batchSize": [ + 172, + "Int!" + ], + "cursor": [ + 546, + "[SocialFollowingStreamCursorInput]!" + ], + "where": [ + 536 + ] + } + ], "thread": [ - 532, + 551, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -15319,19 +15978,19 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "threadAggregate": [ - 533, + 552, { "distinctOn": [ - 553, + 572, "[ThreadSelectColumn!]" ], "limit": [ @@ -15341,44 +16000,44 @@ export default { 172 ], "orderBy": [ - 551, + 570, "[ThreadOrderBy!]" ], "where": [ - 540 + 559 ] } ], "threadByPk": [ - 532, + 551, { "threadId": [ - 693, + 715, "uuid!" ] } ], "threadStream": [ - 532, + 551, { "batchSize": [ 172, "Int!" ], "cursor": [ - 563, + 582, "[ThreadStreamCursorInput]!" ], "where": [ - 540 + 559 ] } ], "token": [ - 576, + 595, { "distinctOn": [ - 589, + 608, "[TokenSelectColumn!]" ], "limit": [ @@ -15388,19 +16047,19 @@ export default { 172 ], "orderBy": [ - 587, + 606, "[TokenOrderBy!]" ], "where": [ - 579 + 598 ] } ], "tokenAggregate": [ - 577, + 596, { "distinctOn": [ - 589, + 608, "[TokenSelectColumn!]" ], "limit": [ @@ -15410,44 +16069,44 @@ export default { 172 ], "orderBy": [ - 587, + 606, "[TokenOrderBy!]" ], "where": [ - 579 + 598 ] } ], "tokenByPk": [ - 576, + 595, { "token": [ - 530, + 549, "String!" ] } ], "tokenStream": [ - 576, + 595, { "batchSize": [ 172, "Int!" ], "cursor": [ - 591, + 610, "[TokenStreamCursorInput]!" ], "where": [ - 579 + 598 ] } ], "toneEnum": [ - 595, + 614, { "distinctOn": [ - 608, + 627, "[ToneEnumSelectColumn!]" ], "limit": [ @@ -15457,19 +16116,19 @@ export default { 172 ], "orderBy": [ - 606, + 625, "[ToneEnumOrderBy!]" ], "where": [ - 598 + 617 ] } ], "toneEnumAggregate": [ - 596, + 615, { "distinctOn": [ - 608, + 627, "[ToneEnumSelectColumn!]" ], "limit": [ @@ -15479,44 +16138,44 @@ export default { 172 ], "orderBy": [ - 606, + 625, "[ToneEnumOrderBy!]" ], "where": [ - 598 + 617 ] } ], "toneEnumByPk": [ - 595, + 614, { "value": [ - 530, + 549, "String!" ] } ], "toneEnumStream": [ - 595, + 614, { "batchSize": [ 172, "Int!" ], "cursor": [ - 610, + 629, "[ToneEnumStreamCursorInput]!" ], "where": [ - 598 + 617 ] } ], "typeEnum": [ - 614, + 633, { "distinctOn": [ - 627, + 646, "[TypeEnumSelectColumn!]" ], "limit": [ @@ -15526,19 +16185,19 @@ export default { 172 ], "orderBy": [ - 625, + 644, "[TypeEnumOrderBy!]" ], "where": [ - 617 + 636 ] } ], "typeEnumAggregate": [ - 615, + 634, { "distinctOn": [ - 627, + 646, "[TypeEnumSelectColumn!]" ], "limit": [ @@ -15548,44 +16207,44 @@ export default { 172 ], "orderBy": [ - 625, + 644, "[TypeEnumOrderBy!]" ], "where": [ - 617 + 636 ] } ], "typeEnumByPk": [ - 614, + 633, { "value": [ - 530, + 549, "String!" ] } ], "typeEnumStream": [ - 614, + 633, { "batchSize": [ 172, "Int!" ], "cursor": [ - 629, + 648, "[TypeEnumStreamCursorInput]!" ], "where": [ - 617 + 636 ] } ], "user": [ - 633, + 652, { "distinctOn": [ - 646, + 666, "[UserSelectColumn!]" ], "limit": [ @@ -15595,19 +16254,19 @@ export default { 172 ], "orderBy": [ - 644, + 663, "[UserOrderBy!]" ], "where": [ - 636 + 655 ] } ], "userAggregate": [ - 634, + 653, { "distinctOn": [ - 646, + 666, "[UserSelectColumn!]" ], "limit": [ @@ -15617,44 +16276,44 @@ export default { 172 ], "orderBy": [ - 644, + 663, "[UserOrderBy!]" ], "where": [ - 636 + 655 ] } ], "userByPk": [ - 633, + 652, { "userId": [ - 693, + 715, "uuid!" ] } ], "userStream": [ - 633, + 652, { "batchSize": [ 172, "Int!" ], "cursor": [ - 648, + 668, "[UserStreamCursorInput]!" ], "where": [ - 636 + 655 ] } ], "userToken": [ - 650, + 670, { "distinctOn": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "limit": [ @@ -15664,19 +16323,19 @@ export default { 172 ], "orderBy": [ - 665, + 685, "[UserTokenOrderBy!]" ], "where": [ - 656 + 676 ] } ], "userTokenAggregate": [ - 651, + 671, { "distinctOn": [ - 667, + 687, "[UserTokenSelectColumn!]" ], "limit": [ @@ -15686,45 +16345,45 @@ export default { 172 ], "orderBy": [ - 665, + 685, "[UserTokenOrderBy!]" ], "where": [ - 656 + 676 ] } ], "userTokenByPk": [ - 650, + 670, { "token": [ - 530, + 549, "String!" ], "userId": [ - 693, + 715, "uuid!" ] } ], "userTokenStream": [ - 650, + 670, { "batchSize": [ 172, "Int!" ], "cursor": [ - 669, + 689, "[UserTokenStreamCursorInput]!" ], "where": [ - 656 + 676 ] } ], "__typename": [ - 530 + 549 ] } } From 4223fb6c0a860e9f277329dea1e36998ec80ce88 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 3 Dec 2024 08:47:56 +0100 Subject: [PATCH 02/21] added follow user --- .../tables/public_social_following.yaml | 57 ++++++++- .../components/routes/profile/user-card.tsx | 48 ++++++-- apps/masterbots.ai/lib/utils.ts | 39 +++++- .../services/hasura/hasura.service.ts | 111 ++++++++++++++---- 4 files changed, 222 insertions(+), 33 deletions(-) diff --git a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml index 062cc3a0..4f943ac4 100644 --- a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml +++ b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml @@ -9,6 +9,18 @@ object_relationships: using: foreign_key_constraint_on: follower_id insert_permissions: + - role: moderator + permission: + check: + _and: + - followee_id: + _eq: X-Hasura-User-Id + - follower_id: + _eq: X-Hasura-User-Id + columns: + - followee_id + - follower_id + comment: "" - role: user permission: check: @@ -22,19 +34,60 @@ insert_permissions: - follower_id comment: "" select_permissions: + - role: anonymous + permission: + columns: + - created_at + - followee_id + - follower_id + filter: {} + comment: "" + - role: moderator + permission: + columns: + - created_at + - followee_id + - follower_id + filter: {} + comment: "" - role: user + permission: + columns: + - followee_id + - follower_id + filter: {} + comment: "" +update_permissions: + - role: moderator permission: columns: - followee_id - follower_id filter: - _or: + follower_id: + _eq: X-Hasura-User-Id + check: null + comment: "" + - role: user + permission: + columns: + - followee_id + - follower_id + filter: + _and: - follower_id: _eq: X-Hasura-User-Id - followee_id: - _eq: X-Hasura-User-Id + _neq: X-Hasura-User-Id + check: null comment: "" delete_permissions: + - role: moderator + permission: + filter: + follower_id: + _eq: X-Hasura-User-Id + comment: "" - role: user permission: filter: diff --git a/apps/masterbots.ai/components/routes/profile/user-card.tsx b/apps/masterbots.ai/components/routes/profile/user-card.tsx index 64fa7767..044cace5 100644 --- a/apps/masterbots.ai/components/routes/profile/user-card.tsx +++ b/apps/masterbots.ai/components/routes/profile/user-card.tsx @@ -1,6 +1,6 @@ import { Separator } from '@/components/ui/separator' import Image from 'next/image' -import { BookUser, BotIcon, MessageSquareHeart, Wand2, ImagePlus, Loader } from 'lucide-react' +import { BookUser, BotIcon, MessageSquareHeart, Wand2, ImagePlus, Loader, UserIcon, Users } from 'lucide-react' import { Button } from '@/components/ui/button' import { User } from 'mb-genql' import { useProfile } from '@/lib/hooks/use-profile' @@ -11,7 +11,9 @@ import toast from 'react-hot-toast' import { UserPersonalityPrompt } from '@/lib/constants/prompts' import { ChangeEvent, useCallback, useEffect, useState } from 'react' import { useUploadImagesCloudinary } from '@/lib/hooks/use-cloudinary-upload' - +import { formatNumber, Ifollowed } from '@/lib/utils' +import { useSession } from 'next-auth/react' +import { userFollowOrUnfollow } from '@/services/hasura/hasura.service'; interface UserCardProps { user: User | null @@ -28,8 +30,8 @@ export function UserCard({ user, loading }: UserCardProps) { const [userProfilePicture, setUserProfilePicture] = useState(user?.profilePicture) const [isUploadingImage, setIsUploadingImage] = useState(false); const { uploadFilesCloudinary, error: cloudinaryError } = useUploadImagesCloudinary(); + const { data: session } = useSession() - const userQuestions = user?.threads.map((thread) => { if (!thread.messages?.length) { @@ -162,6 +164,32 @@ export function UserCard({ user, loading }: UserCardProps) { } , [user]) + + + const handleFollowUser = async () => { + try { + // if no session is found, redirect to login + if (!session) { + toast.error('Please sign in to follow user') + setTimeout(() => { + window.location.href = '/auth/signin' + } , 2000) + return + } + const followerId = session.user?.id + const followeeId = user?.userId + await userFollowOrUnfollow({followerId, followeeId, jwt: session.user.hasuraJwt as string}) + toast.success(`You are now following ${user?.username}`) + } catch (error) { + toast.error('Failed to follow user') + console.error('Failed to follow user:', error) + } + } + + const followed = Ifollowed({followers: user?.followers, userId: session?.user?.id || ''}) + + console.log('followed:', followed) + return (
+ )}
@@ -266,7 +297,7 @@ export function UserCard({ user, loading }: UserCardProps) { Following
- 313 + { formatNumber(user.following.length)}
@@ -274,12 +305,11 @@ export function UserCard({ user, loading }: UserCardProps) { Followers
- 3.2k + { formatNumber(user.followers.length)}
- */} - + diff --git a/apps/masterbots.ai/lib/utils.ts b/apps/masterbots.ai/lib/utils.ts index 608df9c5..4c13715d 100644 --- a/apps/masterbots.ai/lib/utils.ts +++ b/apps/masterbots.ai/lib/utils.ts @@ -1,7 +1,7 @@ import { cleanPrompt } from '@/lib/helpers/ai-helpers' import type { Message as AIMessage } from 'ai/react' import { type ClassValue, clsx } from 'clsx' -import type { Message } from 'mb-genql' +import type { Message, SocialFollowing } from 'mb-genql' import { customAlphabet } from 'nanoid' import { twMerge } from 'tailwind-merge' import type { ReactNode } from 'react' @@ -318,3 +318,40 @@ export function parseClickableText(fullText: string): ParsedText { export function cleanClickableText(text: string): string { return text.replace(/(:|\.|\,)\s*$/, '') } + + + export const formatNumber = (num: number) => { + const lookup = [ + { value: 1e9, symbol: 'B' }, + { value: 1e6, symbol: 'M' }, + { value: 1e3, symbol: 'K' } + ]; + + // Handle negative numbers + const isNegative = num < 0; + const absNum = Math.abs(num); + + // Find the appropriate suffix + const item = lookup.find(item => absNum >= item.value); + + if (!item) { + // If number is smaller than 1000, return as is + return isNegative ? `-${absNum}` : absNum.toString(); + } + + // Calculate the formatted value with one decimal place + const formattedValue = (absNum / item.value).toFixed(1); + + // Remove .0 if it exists + const cleanValue = formattedValue.replace('.0', ''); + + return `${isNegative ? '-' : ''}${cleanValue}${item.symbol}`; +}; + +interface IProps { + followers: SocialFollowing[] | undefined; + userId: string; +} +export const Ifollowed = ({followers, userId} : IProps) => { + return followers?.some(follower => follower.followerId === userId); +} \ No newline at end of file diff --git a/apps/masterbots.ai/services/hasura/hasura.service.ts b/apps/masterbots.ai/services/hasura/hasura.service.ts index 43bb27e5..8b903147 100644 --- a/apps/masterbots.ai/services/hasura/hasura.service.ts +++ b/apps/masterbots.ai/services/hasura/hasura.service.ts @@ -819,27 +819,21 @@ export async function getUserBySlug({ slug, isSameUser }: { slug: string, isSame content: true } }, - // followers: { - // followeeId: true, - // followerId: true, - // userByFollowerId: { - // username: true - // } - // }, - // follower: { - // followeeId: true, - // followerId: true, - // userByFollowerId: { - // username: true - // } - // }, - // following: { - // followeeId: true, - // followerId: true, - // userByFollowerId: { - // username: true - // } - // } + followers: { + followeeId: true, + followerId: true, + userByFollowerId: { + username: true + } + }, + + following: { + followeeId: true, + followerId: true, + userByFollowerId: { + username: true + } + } } } as const) @@ -944,3 +938,78 @@ export async function subtractChatbotMetadataLabels( return cleanResult(response) } + + +export async function userFollowOrUnfollow({ + followerId, + followeeId, + jwt +}: { + followerId: string; + followeeId: string; + jwt: string; +}) { + try { + if (!jwt) { + throw new Error('Authentication required to follow/unfollow user'); + } + + const client = getHasuraClient({ jwt }); + + // First check if follow relationship exists + const { socialFollowing } = await client.query({ + socialFollowing: { + __args: { + where: { + followerId: { _eq: followerId }, + followeeId: { _eq: followeeId } + } + }, + followeeId: true, + followerId: true, + } + }); + + if (!socialFollowing?.length) { + // Create new follow relationship + await client.mutation({ + insertSocialFollowingOne: { + __args: { + object: { + followerId, + followeeId + } + }, + followeeId: true, + followerId: true, + userByFollowerId: { + username: true + } + } + }); + return { success: true, follow: true }; + } + + // Delete existing follow relationship + await client.mutation({ + deleteSocialFollowing: { + __args: { + where: { + followerId: { _eq: followerId }, + followeeId: { _eq: followeeId } + } + }, + affected_rows: true + } + }); + + return { success: true, follow: false }; + + } catch (error) { + console.error('Error following/unfollowing user:', error); + return { + success: false, + error: error instanceof Error ? error.message : 'Failed to follow/unfollow user.' + }; + } +} From e340424b8712cf39faf676d19c99c2ccd886d0e9 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 3 Dec 2024 10:20:08 +0100 Subject: [PATCH 03/21] update --- .../components/routes/profile/user-card.tsx | 54 ++++++++++++++++--- .../services/hasura/hasura.service.ts | 6 ++- 2 files changed, 51 insertions(+), 9 deletions(-) diff --git a/apps/masterbots.ai/components/routes/profile/user-card.tsx b/apps/masterbots.ai/components/routes/profile/user-card.tsx index 044cace5..976b2b99 100644 --- a/apps/masterbots.ai/components/routes/profile/user-card.tsx +++ b/apps/masterbots.ai/components/routes/profile/user-card.tsx @@ -14,6 +14,7 @@ import { useUploadImagesCloudinary } from '@/lib/hooks/use-cloudinary-upload' import { formatNumber, Ifollowed } from '@/lib/utils' import { useSession } from 'next-auth/react' import { userFollowOrUnfollow } from '@/services/hasura/hasura.service'; +import type { SocialFollowing } from 'mb-genql' interface UserCardProps { user: User | null @@ -30,7 +31,8 @@ export function UserCard({ user, loading }: UserCardProps) { const [userProfilePicture, setUserProfilePicture] = useState(user?.profilePicture) const [isUploadingImage, setIsUploadingImage] = useState(false); const { uploadFilesCloudinary, error: cloudinaryError } = useUploadImagesCloudinary(); - const { data: session } = useSession() + const { data: session } = useSession(); + const [userData, setUserData] = useState(user) const userQuestions = user?.threads.map((thread) => { @@ -161,6 +163,7 @@ export function UserCard({ user, loading }: UserCardProps) { // update bio and topic when user changes setBio(user?.bio) setFavouriteTopic(user?.favouriteTopic) + setUserData(user) } , [user]) @@ -178,17 +181,52 @@ export function UserCard({ user, loading }: UserCardProps) { } const followerId = session.user?.id const followeeId = user?.userId - await userFollowOrUnfollow({followerId, followeeId, jwt: session.user.hasuraJwt as string}) - toast.success(`You are now following ${user?.username}`) + + const {success, error, follow} = await userFollowOrUnfollow({followerId, followeeId, jwt: session.user.hasuraJwt as string}) + if(!success){ + console.error('Failed to follow/Unfolow user:', error) + return + } + + if(follow){ + setUserData(prevUser => { + if (!prevUser) return prevUser; + + const newFollower: SocialFollowing = { + followerId, + followeeId, + createdAt: new Date().toISOString(), + user: prevUser, + userByFollowerId: prevUser, + __typename: 'SocialFollowing' + }; + + return { + ...prevUser, + followers: [...(prevUser.followers || []), newFollower] + } as User; // Assert the entire object as User type + }); + toast.success(`You are now following ${user?.username}`) + }else{ + setUserData(prevUser => { + if (!prevUser) return prevUser; + + return { + ...prevUser, + followers: prevUser.followers.filter( + follower => follower.followerId !== followerId || follower.followeeId !== followeeId + ) + }; + }); + toast.success(`You have unfollowed ${user?.username}`) + } } catch (error) { toast.error('Failed to follow user') console.error('Failed to follow user:', error) } } - const followed = Ifollowed({followers: user?.followers, userId: session?.user?.id || ''}) - - console.log('followed:', followed) + const followed = Ifollowed({followers: userData?.followers, userId: session?.user?.id || ''}) return (
Following
- { formatNumber(user.following.length)} + { formatNumber(userData?.following?.length || 0)}
@@ -305,7 +343,7 @@ export function UserCard({ user, loading }: UserCardProps) { Followers
- { formatNumber(user.followers.length)} + { formatNumber(userData?.followers?.length || 0)}
diff --git a/apps/masterbots.ai/services/hasura/hasura.service.ts b/apps/masterbots.ai/services/hasura/hasura.service.ts index 8b903147..8788332a 100644 --- a/apps/masterbots.ai/services/hasura/hasura.service.ts +++ b/apps/masterbots.ai/services/hasura/hasura.service.ts @@ -999,7 +999,11 @@ export async function userFollowOrUnfollow({ followeeId: { _eq: followeeId } } }, - affected_rows: true + affectedRows: true, + returning:{ + followeeId: true, + followerId: true + } } }); From 0d32d2eeda67c9bc0b5feb4c9365620946017035 Mon Sep 17 00:00:00 2001 From: Roberto Lucas Date: Tue, 10 Dec 2024 00:58:49 -0600 Subject: [PATCH 04/21] fix: upt hasura metadata databases, public_social_following.yaml coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../masterbots/tables/public_social_following.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml index 4f943ac4..653cceae 100644 --- a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml +++ b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml @@ -12,11 +12,8 @@ insert_permissions: - role: moderator permission: check: - _and: - - followee_id: - _eq: X-Hasura-User-Id - - follower_id: - _eq: X-Hasura-User-Id + follower_id: + _eq: X-Hasura-User-Id columns: - followee_id - follower_id From b66485165c4a35f8751c03c7141a80aa4ccd1a00 Mon Sep 17 00:00:00 2001 From: Roberto Lucas Date: Tue, 10 Dec 2024 01:03:26 -0600 Subject: [PATCH 05/21] fix: upt masterbots.ai lib, utils.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- apps/masterbots.ai/lib/utils.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/masterbots.ai/lib/utils.ts b/apps/masterbots.ai/lib/utils.ts index 4c13715d..649b9785 100644 --- a/apps/masterbots.ai/lib/utils.ts +++ b/apps/masterbots.ai/lib/utils.ts @@ -349,9 +349,9 @@ export function cleanClickableText(text: string): string { }; interface IProps { - followers: SocialFollowing[] | undefined; + followers: readonly SocialFollowing[] | undefined | null; userId: string; } -export const Ifollowed = ({followers, userId} : IProps) => { - return followers?.some(follower => follower.followerId === userId); +export const isFollowed = ({followers, userId} : IProps): boolean => { + return Boolean(followers?.some(follower => follower.followerId === userId)); } \ No newline at end of file From a39ae9fef78b7341f6f8100cd6618870cfed097a Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Wed, 11 Dec 2024 02:48:03 +0100 Subject: [PATCH 06/21] fix: user card --- .../components/routes/profile/user-card.tsx | 339 ++++++++---------- apps/masterbots.ai/lib/utils.ts | 2 +- 2 files changed, 157 insertions(+), 184 deletions(-) diff --git a/apps/masterbots.ai/components/routes/profile/user-card.tsx b/apps/masterbots.ai/components/routes/profile/user-card.tsx index 444aaa20..9e4b44c1 100644 --- a/apps/masterbots.ai/components/routes/profile/user-card.tsx +++ b/apps/masterbots.ai/components/routes/profile/user-card.tsx @@ -1,21 +1,20 @@ +import { Separator } from '@/components/ui/separator' import Image from 'next/image' import { BookUser, BotIcon, MessageSquareHeart, Wand2, ImagePlus, Loader, UserIcon, Users } from 'lucide-react' import { Button } from '@/components/ui/button' -import { Separator } from '@/components/ui/separator' +import { User } from 'mb-genql' +import { useProfile } from '@/lib/hooks/use-profile' +import { type Message, useChat } from "ai/react"; +import { nanoid, removeSurroundingQuotes } from '@/lib/utils' +import { useModel } from '@/lib/hooks/use-model' +import toast from 'react-hot-toast' import { UserPersonalityPrompt } from '@/lib/constants/prompts' +import { ChangeEvent, useCallback, useEffect, useState } from 'react' import { useUploadImagesCloudinary } from '@/lib/hooks/use-cloudinary-upload' import { formatNumber, Ifollowed } from '@/lib/utils' import { useSession } from 'next-auth/react' import { userFollowOrUnfollow } from '@/services/hasura/hasura.service'; import type { SocialFollowing } from 'mb-genql' -import { useModel } from '@/lib/hooks/use-model' -import { useProfile } from '@/lib/hooks/use-profile' -import { nanoid, removeSurroundingQuotes } from '@/lib/utils' -import { type Message, useChat } from "ai/react" -import { User } from 'mb-genql' -import { ChangeEvent, useCallback, useEffect, useState } from 'react' -import toast from 'react-hot-toast' - interface UserCardProps { user: User | null @@ -38,12 +37,12 @@ export function UserCard({ user, loading }: UserCardProps) { const userQuestions = user?.threads.map((thread) => { if (!thread.messages?.length) { - return null; - } + return null; + } return { id: thread.threadId, content: thread.messages[0].content, - createdAt: new Date(), + createdAt: new Date(), role: "user" as Message["role"], } }).filter(Boolean) as Message[] @@ -62,9 +61,9 @@ export function UserCard({ user, loading }: UserCardProps) { toast.error(response.statusText) } else if (!response.ok) { toast.error('Failed to process request') - } - setIsLoading(false) - }, + } + setIsLoading(false) + }, onError(error) { toast.error('An error occurred') setIsLoading(false) @@ -76,49 +75,48 @@ export function UserCard({ user, loading }: UserCardProps) { const handleProfilePictureUpload = async (event: ChangeEvent) => { if (!event.target.files || event.target.files.length === 0) return; const file = event.target.files[0]; - + // You can add validation for file type and size here setIsUploadingImage(true); - + try { const { data, success } = await uploadFilesCloudinary(file); - if (!success) { console.error('Failed to upload image xx:', cloudinaryError); - toast.error('Failed to upload image: \n' + cloudinaryError?.message); + toast.error('Failed to upload image'); return; } - - const imageUrl = data?.secure_url as string; - + + const imageUrl = data?.secure_url as string; + // Update the user's profile picture await updateUserInfo(null, null, imageUrl); - + // Update the user state setUserProfilePicture(imageUrl); toast.success('Profile picture updated successfully'); } catch (error) { - toast.error('Failed to upload image: \n' + (error as Error).message); + toast.error('Failed to upload image'); } finally { setIsUploadingImage(false); } }; - const handleUpdateUserInfo = useCallback(async () => { + const handleUpdateUserInfo = useCallback(async () => { if (lastMessage) { - try { + try { if (generateType === 'topic') { - setFavouriteTopic(removeSurroundingQuotes(lastMessage)) - await updateUserInfo(null, removeSurroundingQuotes(lastMessage), null) + setFavouriteTopic(removeSurroundingQuotes(lastMessage)) + await updateUserInfo(null, removeSurroundingQuotes(lastMessage), null) } else { setBio(removeSurroundingQuotes(lastMessage)) - await updateUserInfo(removeSurroundingQuotes(lastMessage), null, null) + await updateUserInfo(removeSurroundingQuotes(lastMessage), null, null) } - } catch (error) { - toast.error('Failed to update user information') - } finally { + } catch (error) { + toast.error('Failed to update user information') + } finally { setIsLoading(false) - } + } } }, [lastMessage, generateType, updateUserInfo]) @@ -129,18 +127,18 @@ export function UserCard({ user, loading }: UserCardProps) { } }, [handleUpdateUserInfo, user?.profilePicture]) - + const generateBio = (type: string) => { try { - setIsLoading(true) - setGenerateType(type) - if (!userQuestions?.length) { - toast.error('No thread history available to generate content'); - setIsLoading(false); - return; - } - const promptContent = UserPersonalityPrompt(type, userQuestions) + setIsLoading(true) + setGenerateType(type) + if (!userQuestions?.length) { + toast.error('No thread history available to generate content'); + setIsLoading(false); + return; + } + const promptContent = UserPersonalityPrompt(type, userQuestions) return append({ id: nanoid(), content: promptContent, @@ -149,17 +147,17 @@ export function UserCard({ user, loading }: UserCardProps) { }) } catch (error) { setIsLoading(false); - toast.error('Failed to generate content: \n' + (error as Error).message); + toast.error('Failed to generate content'); console.error('Bio generation failed:', error); } } useEffect(() => { - return () => { - setLastMessage(null); - setIsLoading(false); - }; - }, []); + return () => { + setLastMessage(null); + setIsLoading(false); + }; + }, []); useEffect(() => { // update bio and topic when user changes @@ -167,7 +165,7 @@ export function UserCard({ user, loading }: UserCardProps) { setFavouriteTopic(user?.favouriteTopic) setUserData(user) } - , [user]) + , [user]) @@ -235,42 +233,76 @@ export function UserCard({ user, loading }: UserCardProps) { className="dark:bg-[#09090B] bg-white rounded-lg md:w-[600px] md:min-h-[290px] flex flex-row gap-3 mx-auto font-geist" - > + > { + loading && !user && ( +
+ +
+ ) + } { - loading && !user && ( -
- + !loading && user && ( +
+
+ {/* Profile Name */} +
+

{user?.username}

+
+ + Threads: + {user?.threads.length} +
+
+ +

bio:

+ +
+ {isOwner && ( + + )} +
+ + +
+
+ + + {/* Bio Section */} +
+ {isOwner && !bio && ( +

+ click + to create a Masterbots biography based on your thread history. +

+ )} + {bio && ( +

{bio} +

+ )}
- ) - } - { - !loading && user && ( - <> -
-
- {/* Profile Name */} -
-

{user?.username}

-
- - Threads: - {user?.threads.length} -
-
- -

bio:

- -
- {isOwner && ( - - )} -
+ {/* Stats Section */} +
+
+
+ + Threads: + {user?.threads.length} +
-
+
+
+ +

Favourite topic:

+ {isOwner && ( + + )}
{isOwner && !favouriteTopic && (

@@ -288,62 +320,8 @@ export function UserCard({ user, loading }: UserCardProps) { )}

-
- - - - {/* Bio Section */} -
- {isOwner && !bio && ( -

- click - to create a Masterbots biography based on your thread history. -

- )} - {bio && ( -

{bio} -

- )} -
- - {/* Stats Section */} -
-
-
- - Threads: - {user?.threads.length} -
- -
-
- -

Favourite topic:

- {isOwner && ( - - )} -
- {isOwner && !favouriteTopic && ( -

- click - and know your most common topic. -

- )} - {favouriteTopic && ( -

{favouriteTopic}

- )} -
-
- {/* Implementation for this comes next :) */} - {/*
+ {/* Implementation for this comes next :) */} +
{!isOwner && (
-
+ {/* Profile Image and Follow Button Section */} +
+
+
+ {`${user.username}'s { + e.currentTarget.src = 'https://api.dicebear.com/9.x/identicon/svg?seed=default_masterbots_ai_user_avatar' + }} + />
- - {/* Profile Image and Follow Button Section */} -
-
-
- {`${user.username}'s { - e.currentTarget.src = 'https://api.dicebear.com/9.x/identicon/svg?seed=default_masterbots_ai_user_avatar' - }} - /> -
- {isOwner && ( - <> - - - + {isOwner && ( + <> +
-
-
+ + + + )}
- - ) - } - +
+
+ ) + } +
) -} +} \ No newline at end of file diff --git a/apps/masterbots.ai/lib/utils.ts b/apps/masterbots.ai/lib/utils.ts index a29e62e2..6a726ea0 100644 --- a/apps/masterbots.ai/lib/utils.ts +++ b/apps/masterbots.ai/lib/utils.ts @@ -352,6 +352,6 @@ interface IProps { followers: readonly SocialFollowing[] | undefined | null; userId: string; } -export const isFollowed = ({followers, userId} : IProps): boolean => { +export const Ifollowed = ({followers, userId} : IProps): boolean => { return Boolean(followers?.some(follower => follower.followerId === userId)); } \ No newline at end of file From ede14ae954fc5ac9d0557b9cbe8be9f8b0a2207a Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Wed, 11 Dec 2024 03:07:42 +0100 Subject: [PATCH 07/21] update --- .../components/routes/profile/user-card.tsx | 24 ++-- .../services/hasura/hasura.service.ts | 115 ++++++++---------- 2 files changed, 68 insertions(+), 71 deletions(-) diff --git a/apps/masterbots.ai/components/routes/profile/user-card.tsx b/apps/masterbots.ai/components/routes/profile/user-card.tsx index 9e4b44c1..d31bc3ee 100644 --- a/apps/masterbots.ai/components/routes/profile/user-card.tsx +++ b/apps/masterbots.ai/components/routes/profile/user-card.tsx @@ -33,6 +33,7 @@ export function UserCard({ user, loading }: UserCardProps) { const { uploadFilesCloudinary, error: cloudinaryError } = useUploadImagesCloudinary(); const { data: session } = useSession(); const [userData, setUserData] = useState(user) + const [isFollowLoading, setIsFollowLoading] = useState(false) const userQuestions = user?.threads.map((thread) => { @@ -172,6 +173,7 @@ export function UserCard({ user, loading }: UserCardProps) { const handleFollowUser = async () => { try { // if no session is found, redirect to login + if (!session) { toast.error('Please sign in to follow user') setTimeout(() => { @@ -179,6 +181,7 @@ export function UserCard({ user, loading }: UserCardProps) { } , 2000) return } + setIsFollowLoading(true) const followerId = session.user?.id const followeeId = user?.userId @@ -220,7 +223,9 @@ export function UserCard({ user, loading }: UserCardProps) { }); toast.success(`You have unfollowed ${user?.username}`) } + setIsFollowLoading(false) } catch (error) { + setIsFollowLoading(false) toast.error('Failed to follow user') console.error('Failed to follow user:', error) } @@ -320,15 +325,20 @@ export function UserCard({ user, loading }: UserCardProps) { )}
- {/* Implementation for this comes next :) */} +
{!isOwner && ( - + )}
diff --git a/apps/masterbots.ai/services/hasura/hasura.service.ts b/apps/masterbots.ai/services/hasura/hasura.service.ts index 01f33f11..2675f7ec 100755 --- a/apps/masterbots.ai/services/hasura/hasura.service.ts +++ b/apps/masterbots.ai/services/hasura/hasura.service.ts @@ -8,7 +8,8 @@ import { cleanResult } from '@/lib/helpers/ai-helpers' import type { AiClientType, ChatbotMetadataHeaders, - ReturnFetchChatbotMetadata + ReturnFetchChatbotMetadata, + } from '@/types/types' import { validateMbEnv } from 'mb-env' import { @@ -19,7 +20,9 @@ import { type Thread, type User, createMbClient, - everything + everything, + type MbClient + } from 'mb-genql' import type { CreateThreadParams, @@ -943,76 +946,60 @@ export async function subtractChatbotMetadataLabels( return cleanResult(response) } +const getFollowStatus = async (client: MbClient, followerId: string, followeeId: string) => { + const { socialFollowing } = await client.query({ + socialFollowing: { + __args: { + where: { followerId: { _eq: followerId }, followeeId: { _eq: followeeId } } + }, + followeeId: true, + followerId: true, + } + }); + return socialFollowing?.length > 0; +}; -export async function userFollowOrUnfollow({ - followerId, - followeeId, - jwt -}: { +const followUser = async (client: MbClient, followerId: string, followeeId: string) => { + return client.mutation({ + insertSocialFollowingOne: { + __args: { + object: { followerId, followeeId } + }, + followeeId: true, + followerId: true, + userByFollowerId: { username: true } + } + }); +}; + +const unfollowUser = async (client: MbClient, followerId: string, followeeId: string) => { + return client.mutation({ + deleteSocialFollowing: { + __args: { + where: { followerId: { _eq: followerId }, followeeId: { _eq: followeeId } } + }, + affectedRows: true, + returning: { followeeId: true, followerId: true } + } + }); +}; + +export async function userFollowOrUnfollow({ followerId, followeeId, jwt }: { followerId: string; followeeId: string; jwt: string; }) { - try { - if (!jwt) { - throw new Error('Authentication required to follow/unfollow user'); - } - - const client = getHasuraClient({ jwt }); - - // First check if follow relationship exists - const { socialFollowing } = await client.query({ - socialFollowing: { - __args: { - where: { - followerId: { _eq: followerId }, - followeeId: { _eq: followeeId } - } - }, - followeeId: true, - followerId: true, - } - }); + if (!jwt) throw new Error('Authentication required to follow/unfollow user'); - if (!socialFollowing?.length) { - // Create new follow relationship - await client.mutation({ - insertSocialFollowingOne: { - __args: { - object: { - followerId, - followeeId - } - }, - followeeId: true, - followerId: true, - userByFollowerId: { - username: true - } - } - }); + const client = getHasuraClient({ jwt }); + try { + const isFollowing = await getFollowStatus(client, followerId, followeeId); + if (!isFollowing) { + await followUser(client, followerId, followeeId); return { success: true, follow: true }; } - - // Delete existing follow relationship - await client.mutation({ - deleteSocialFollowing: { - __args: { - where: { - followerId: { _eq: followerId }, - followeeId: { _eq: followeeId } - } - }, - affectedRows: true, - returning:{ - followeeId: true, - followerId: true - } - } - }); - + await unfollowUser(client, followerId, followeeId); return { success: true, follow: false }; - } catch (error) { console.error('Error following/unfollowing user:', error); return { @@ -1020,4 +1007,4 @@ export async function userFollowOrUnfollow({ error: error instanceof Error ? error.message : 'Failed to follow/unfollow user.' }; } -} +} \ No newline at end of file From 4f7b43fac4b049bb9c9bacf34209ae4808cceef6 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Wed, 11 Dec 2024 09:19:01 +0100 Subject: [PATCH 08/21] fix: permission --- .../tables/public_social_following.yaml | 14 +++++++++++--- .../masterbots/tables/public_user.yaml | 5 ----- .../components/routes/profile/user-card.tsx | 17 +++++++++++------ 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml index 653cceae..1332853e 100644 --- a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml +++ b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml @@ -12,8 +12,11 @@ insert_permissions: - role: moderator permission: check: - follower_id: - _eq: X-Hasura-User-Id + _and: + - followee_id: + _eq: X-Hasura-User-Id + - follower_id: + _eq: X-Hasura-User-Id columns: - followee_id - follower_id @@ -52,7 +55,12 @@ select_permissions: columns: - followee_id - follower_id - filter: {} + filter: + _or: + - follower_id: + _eq: X-Hasura-User-Id + - followee_id: + _neq: X-Hasura-User-Id comment: "" update_permissions: - role: moderator diff --git a/apps/hasura/metadata/databases/masterbots/tables/public_user.yaml b/apps/hasura/metadata/databases/masterbots/tables/public_user.yaml index 354c518a..0ddd14e7 100644 --- a/apps/hasura/metadata/databases/masterbots/tables/public_user.yaml +++ b/apps/hasura/metadata/databases/masterbots/tables/public_user.yaml @@ -1,7 +1,6 @@ table: name: user schema: public - array_relationships: - name: chats using: @@ -31,7 +30,6 @@ array_relationships: table: name: preference schema: public - - name: prompts using: foreign_key_constraint_on: @@ -39,7 +37,6 @@ array_relationships: table: name: prompt_user schema: public - - name: referrals using: foreign_key_constraint_on: @@ -47,7 +44,6 @@ array_relationships: table: name: referral schema: public - - name: referralsByUserId using: foreign_key_constraint_on: @@ -55,7 +51,6 @@ array_relationships: table: name: referral schema: public - - name: threads using: foreign_key_constraint_on: diff --git a/apps/masterbots.ai/components/routes/profile/user-card.tsx b/apps/masterbots.ai/components/routes/profile/user-card.tsx index d31bc3ee..c4bc6b7a 100644 --- a/apps/masterbots.ai/components/routes/profile/user-card.tsx +++ b/apps/masterbots.ai/components/routes/profile/user-card.tsx @@ -15,6 +15,7 @@ import { formatNumber, Ifollowed } from '@/lib/utils' import { useSession } from 'next-auth/react' import { userFollowOrUnfollow } from '@/services/hasura/hasura.service'; import type { SocialFollowing } from 'mb-genql' +import router from 'next/router' interface UserCardProps { user: User | null @@ -171,23 +172,25 @@ export function UserCard({ user, loading }: UserCardProps) { const handleFollowUser = async () => { + if (isFollowLoading) return; try { - // if no session is found, redirect to login - + // if no session is found, redirect to login\ if (!session) { toast.error('Please sign in to follow user') - setTimeout(() => { - window.location.href = '/auth/signin' - } , 2000) + router.push('/auth/signin') return } setIsFollowLoading(true) const followerId = session.user?.id const followeeId = user?.userId - + if (!followerId || !followeeId) { + toast.error('Invalid user data'); + return; + } const {success, error, follow} = await userFollowOrUnfollow({followerId, followeeId, jwt: session.user.hasuraJwt as string}) if(!success){ console.error('Failed to follow/Unfolow user:', error) + toast.error(error || 'Failed to follow/unfollow user') return } @@ -228,6 +231,8 @@ export function UserCard({ user, loading }: UserCardProps) { setIsFollowLoading(false) toast.error('Failed to follow user') console.error('Failed to follow user:', error) + } finally { + setIsFollowLoading(false) } } From 4d2f9f95a50bd3c2349c54d080bd8d64b160265a Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Sun, 15 Dec 2024 21:17:28 +0100 Subject: [PATCH 09/21] update --- .../databases/masterbots/tables/public_social_following.yaml | 4 ++++ .../down.sql | 5 +++++ .../up.sql | 1 + .../masterbots/1734184748787_run_sql_migration/down.sql | 4 ++++ .../masterbots/1734184748787_run_sql_migration/up.sql | 2 ++ .../down.sql | 1 + .../up.sql | 1 + .../down.sql | 1 + .../up.sql | 1 + .../down.sql | 1 + .../up.sql | 5 +++++ .../masterbots.ai/components/layout/sidebar/sidebar-link.tsx | 1 - 12 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 apps/hasura/migrations/masterbots/1734184725302_delete_fk_public_social_following_social_following_followee_id_fkey/down.sql create mode 100644 apps/hasura/migrations/masterbots/1734184725302_delete_fk_public_social_following_social_following_followee_id_fkey/up.sql create mode 100644 apps/hasura/migrations/masterbots/1734184748787_run_sql_migration/down.sql create mode 100644 apps/hasura/migrations/masterbots/1734184748787_run_sql_migration/up.sql create mode 100644 apps/hasura/migrations/masterbots/1734196561972_alter_table_public_social_following_alter_column_follower_id/down.sql create mode 100644 apps/hasura/migrations/masterbots/1734196561972_alter_table_public_social_following_alter_column_follower_id/up.sql create mode 100644 apps/hasura/migrations/masterbots/1734196575364_alter_table_public_social_following_alter_column_follower_id_n/down.sql create mode 100644 apps/hasura/migrations/masterbots/1734196575364_alter_table_public_social_following_alter_column_follower_id_n/up.sql create mode 100644 apps/hasura/migrations/masterbots/1734292953319_set_fk_public_social_following_followee_id/down.sql create mode 100644 apps/hasura/migrations/masterbots/1734292953319_set_fk_public_social_following_followee_id/up.sql diff --git a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml index 1332853e..777fe72e 100644 --- a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml +++ b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml @@ -87,6 +87,10 @@ update_permissions: check: null comment: "" delete_permissions: + - role: anonymous + permission: + filter: {} + comment: "" - role: moderator permission: filter: diff --git a/apps/hasura/migrations/masterbots/1734184725302_delete_fk_public_social_following_social_following_followee_id_fkey/down.sql b/apps/hasura/migrations/masterbots/1734184725302_delete_fk_public_social_following_social_following_followee_id_fkey/down.sql new file mode 100644 index 00000000..e5d74d0b --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734184725302_delete_fk_public_social_following_social_following_followee_id_fkey/down.sql @@ -0,0 +1,5 @@ +alter table "public"."social_following" + add constraint "social_following_followee_id_fkey" + foreign key ("followee_id") + references "public"."user" + ("user_id") on update restrict on delete restrict; diff --git a/apps/hasura/migrations/masterbots/1734184725302_delete_fk_public_social_following_social_following_followee_id_fkey/up.sql b/apps/hasura/migrations/masterbots/1734184725302_delete_fk_public_social_following_social_following_followee_id_fkey/up.sql new file mode 100644 index 00000000..03bf030c --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734184725302_delete_fk_public_social_following_social_following_followee_id_fkey/up.sql @@ -0,0 +1 @@ +alter table "public"."social_following" drop constraint "social_following_followee_id_fkey"; diff --git a/apps/hasura/migrations/masterbots/1734184748787_run_sql_migration/down.sql b/apps/hasura/migrations/masterbots/1734184748787_run_sql_migration/down.sql new file mode 100644 index 00000000..e5eaabaf --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734184748787_run_sql_migration/down.sql @@ -0,0 +1,4 @@ +-- Could not auto-generate a down migration. +-- Please write an appropriate down migration for the SQL below: +-- ALTER TABLE social_following +-- DROP CONSTRAINT IF EXISTS social_following_followee_id_fkey; diff --git a/apps/hasura/migrations/masterbots/1734184748787_run_sql_migration/up.sql b/apps/hasura/migrations/masterbots/1734184748787_run_sql_migration/up.sql new file mode 100644 index 00000000..9090b302 --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734184748787_run_sql_migration/up.sql @@ -0,0 +1,2 @@ +ALTER TABLE social_following +DROP CONSTRAINT IF EXISTS social_following_followee_id_fkey; diff --git a/apps/hasura/migrations/masterbots/1734196561972_alter_table_public_social_following_alter_column_follower_id/down.sql b/apps/hasura/migrations/masterbots/1734196561972_alter_table_public_social_following_alter_column_follower_id/down.sql new file mode 100644 index 00000000..ce5422ce --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734196561972_alter_table_public_social_following_alter_column_follower_id/down.sql @@ -0,0 +1 @@ +alter table "public"."social_following" rename column "follower_id_n" to "follower_id"; diff --git a/apps/hasura/migrations/masterbots/1734196561972_alter_table_public_social_following_alter_column_follower_id/up.sql b/apps/hasura/migrations/masterbots/1734196561972_alter_table_public_social_following_alter_column_follower_id/up.sql new file mode 100644 index 00000000..c3b0a520 --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734196561972_alter_table_public_social_following_alter_column_follower_id/up.sql @@ -0,0 +1 @@ +alter table "public"."social_following" rename column "follower_id" to "follower_id_n"; diff --git a/apps/hasura/migrations/masterbots/1734196575364_alter_table_public_social_following_alter_column_follower_id_n/down.sql b/apps/hasura/migrations/masterbots/1734196575364_alter_table_public_social_following_alter_column_follower_id_n/down.sql new file mode 100644 index 00000000..c3b0a520 --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734196575364_alter_table_public_social_following_alter_column_follower_id_n/down.sql @@ -0,0 +1 @@ +alter table "public"."social_following" rename column "follower_id" to "follower_id_n"; diff --git a/apps/hasura/migrations/masterbots/1734196575364_alter_table_public_social_following_alter_column_follower_id_n/up.sql b/apps/hasura/migrations/masterbots/1734196575364_alter_table_public_social_following_alter_column_follower_id_n/up.sql new file mode 100644 index 00000000..ce5422ce --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734196575364_alter_table_public_social_following_alter_column_follower_id_n/up.sql @@ -0,0 +1 @@ +alter table "public"."social_following" rename column "follower_id_n" to "follower_id"; diff --git a/apps/hasura/migrations/masterbots/1734292953319_set_fk_public_social_following_followee_id/down.sql b/apps/hasura/migrations/masterbots/1734292953319_set_fk_public_social_following_followee_id/down.sql new file mode 100644 index 00000000..03bf030c --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734292953319_set_fk_public_social_following_followee_id/down.sql @@ -0,0 +1 @@ +alter table "public"."social_following" drop constraint "social_following_followee_id_fkey"; diff --git a/apps/hasura/migrations/masterbots/1734292953319_set_fk_public_social_following_followee_id/up.sql b/apps/hasura/migrations/masterbots/1734292953319_set_fk_public_social_following_followee_id/up.sql new file mode 100644 index 00000000..e5d74d0b --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734292953319_set_fk_public_social_following_followee_id/up.sql @@ -0,0 +1,5 @@ +alter table "public"."social_following" + add constraint "social_following_followee_id_fkey" + foreign key ("followee_id") + references "public"."user" + ("user_id") on update restrict on delete restrict; diff --git a/apps/masterbots.ai/components/layout/sidebar/sidebar-link.tsx b/apps/masterbots.ai/components/layout/sidebar/sidebar-link.tsx index 57b5595e..8d69524b 100755 --- a/apps/masterbots.ai/components/layout/sidebar/sidebar-link.tsx +++ b/apps/masterbots.ai/components/layout/sidebar/sidebar-link.tsx @@ -30,7 +30,6 @@ export default function SidebarLink({ category, isFilterMode, page }: SidebarLin activeChatbot, setActiveChatbot, selectedCategories, - selectedChatbots, setSelectedCategories, setSelectedChatbots, expandedCategories, From 84e46c9b5914ab7c7f9cf4a3f734fd0637ac3017 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Sun, 15 Dec 2024 23:10:42 +0100 Subject: [PATCH 10/21] fix: added more column for chatbot followee --- .../databases/masterbots/tables/public_chatbot.yaml | 7 +++++++ .../masterbots/tables/public_social_following.yaml | 3 +++ .../down.sql | 4 ++++ .../up.sql | 2 ++ .../down.sql | 1 + .../up.sql | 5 +++++ 6 files changed, 22 insertions(+) create mode 100644 apps/hasura/migrations/masterbots/1734300490458_alter_table_public_social_following_add_column_followee_id_chatbot/down.sql create mode 100644 apps/hasura/migrations/masterbots/1734300490458_alter_table_public_social_following_add_column_followee_id_chatbot/up.sql create mode 100644 apps/hasura/migrations/masterbots/1734300526426_set_fk_public_social_following_followee_id_chatbot/down.sql create mode 100644 apps/hasura/migrations/masterbots/1734300526426_set_fk_public_social_following_followee_id_chatbot/up.sql diff --git a/apps/hasura/metadata/databases/masterbots/tables/public_chatbot.yaml b/apps/hasura/metadata/databases/masterbots/tables/public_chatbot.yaml index b442cfeb..aa0a832e 100644 --- a/apps/hasura/metadata/databases/masterbots/tables/public_chatbot.yaml +++ b/apps/hasura/metadata/databases/masterbots/tables/public_chatbot.yaml @@ -29,6 +29,13 @@ array_relationships: table: name: chat schema: public + - name: followers + using: + foreign_key_constraint_on: + column: followee_id_chatbot + table: + name: social_following + schema: public - name: metadataLabels using: foreign_key_constraint_on: diff --git a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml index 777fe72e..09de602e 100644 --- a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml +++ b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml @@ -2,6 +2,9 @@ table: name: social_following schema: public object_relationships: + - name: chatbot + using: + foreign_key_constraint_on: followee_id_chatbot - name: user using: foreign_key_constraint_on: followee_id diff --git a/apps/hasura/migrations/masterbots/1734300490458_alter_table_public_social_following_add_column_followee_id_chatbot/down.sql b/apps/hasura/migrations/masterbots/1734300490458_alter_table_public_social_following_add_column_followee_id_chatbot/down.sql new file mode 100644 index 00000000..9398e11e --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734300490458_alter_table_public_social_following_add_column_followee_id_chatbot/down.sql @@ -0,0 +1,4 @@ +-- Could not auto-generate a down migration. +-- Please write an appropriate down migration for the SQL below: +-- alter table "public"."social_following" add column "followee_id_chatbot" integer +-- null; diff --git a/apps/hasura/migrations/masterbots/1734300490458_alter_table_public_social_following_add_column_followee_id_chatbot/up.sql b/apps/hasura/migrations/masterbots/1734300490458_alter_table_public_social_following_add_column_followee_id_chatbot/up.sql new file mode 100644 index 00000000..9919c59a --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734300490458_alter_table_public_social_following_add_column_followee_id_chatbot/up.sql @@ -0,0 +1,2 @@ +alter table "public"."social_following" add column "followee_id_chatbot" integer + null; diff --git a/apps/hasura/migrations/masterbots/1734300526426_set_fk_public_social_following_followee_id_chatbot/down.sql b/apps/hasura/migrations/masterbots/1734300526426_set_fk_public_social_following_followee_id_chatbot/down.sql new file mode 100644 index 00000000..f802bd7e --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734300526426_set_fk_public_social_following_followee_id_chatbot/down.sql @@ -0,0 +1 @@ +alter table "public"."social_following" drop constraint "social_following_followee_id_chatbot_fkey"; diff --git a/apps/hasura/migrations/masterbots/1734300526426_set_fk_public_social_following_followee_id_chatbot/up.sql b/apps/hasura/migrations/masterbots/1734300526426_set_fk_public_social_following_followee_id_chatbot/up.sql new file mode 100644 index 00000000..df6d60e2 --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734300526426_set_fk_public_social_following_followee_id_chatbot/up.sql @@ -0,0 +1,5 @@ +alter table "public"."social_following" + add constraint "social_following_followee_id_chatbot_fkey" + foreign key ("followee_id_chatbot") + references "public"."chatbot" + ("chatbot_id") on update restrict on delete restrict; From b5e88c131180224de72842a475e6d4beda03351c Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Mon, 16 Dec 2024 15:33:10 +0100 Subject: [PATCH 11/21] fix:foloow chatbot implementation --- packages/mb-genql/generated/index.ts | 2 +- packages/mb-genql/generated/schema.graphql | 187 +- packages/mb-genql/generated/schema.ts | 307 +- packages/mb-genql/generated/types.ts | 3798 +++++++++++--------- 4 files changed, 2522 insertions(+), 1772 deletions(-) diff --git a/packages/mb-genql/generated/index.ts b/packages/mb-genql/generated/index.ts index 43017283..89358117 100644 --- a/packages/mb-genql/generated/index.ts +++ b/packages/mb-genql/generated/index.ts @@ -35,7 +35,7 @@ export interface Client { export const createClient = function (options?: ClientOptions): Client { return createClientOriginal({ - url: 'https://dev-api.masterbots.ai/v1/graphql', + url: 'http://localhost:8080/v1/graphql', ...options, queryRoot: typeMap.Query!, diff --git a/packages/mb-genql/generated/schema.graphql b/packages/mb-genql/generated/schema.graphql index d6e41f9a..d40de06d 100644 --- a/packages/mb-genql/generated/schema.graphql +++ b/packages/mb-genql/generated/schema.graphql @@ -798,6 +798,42 @@ type Chatbot { defaultType: String description: String + """An array relationship""" + followers( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): [SocialFollowing!]! + + """An aggregate relationship""" + followersAggregate( + """distinct select on columns""" + distinctOn: [SocialFollowingSelectColumn!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + orderBy: [SocialFollowingOrderBy!] + + """filter the rows returned""" + where: SocialFollowingBoolExp + ): SocialFollowingAggregate! + """An object relationship""" lengthEnum: LengthEnum @@ -1041,6 +1077,8 @@ input ChatbotBoolExp { defaultTone: StringComparisonExp defaultType: StringComparisonExp description: StringComparisonExp + followers: SocialFollowingBoolExp + followersAggregate: SocialFollowingAggregateBoolExp lengthEnum: LengthEnumBoolExp metadataLabels: LabelChatbotCategoryBoolExp metadataLabelsAggregate: LabelChatbotCategoryAggregateBoolExp @@ -1434,6 +1472,7 @@ input ChatbotInsertInput { defaultTone: String defaultType: String description: String + followers: SocialFollowingArrRelInsertInput lengthEnum: LengthEnumObjRelInsertInput metadataLabels: LabelChatbotCategoryArrRelInsertInput name: String @@ -1543,6 +1582,7 @@ input ChatbotOrderBy { defaultTone: OrderBy defaultType: OrderBy description: OrderBy + followersAggregate: SocialFollowingAggregateOrderBy lengthEnum: LengthEnumOrderBy metadataLabelsAggregate: LabelChatbotCategoryAggregateOrderBy name: OrderBy @@ -5623,12 +5663,15 @@ input ReferralUpdates { This junction table records social following relationships between users. Each record represents a follower-followee relationship. """ type SocialFollowing { + """An object relationship""" + chatbot: Chatbot createdAt: timestamptz! - followeeId: uuid! + followeeId: uuid + followeeIdChatbot: Int followerId: uuid! """An object relationship""" - user: User! + user: User """An object relationship""" userByFollowerId: User! @@ -5650,18 +5693,34 @@ input SocialFollowingAggregateBoolExp { aggregate fields of "social_following" """ type SocialFollowingAggregateFields { + avg: SocialFollowingAvgFields count(columns: [SocialFollowingSelectColumn!], distinct: Boolean): Int! max: SocialFollowingMaxFields min: SocialFollowingMinFields + stddev: SocialFollowingStddevFields + stddevPop: SocialFollowingStddevPopFields + stddevSamp: SocialFollowingStddevSampFields + sum: SocialFollowingSumFields + varPop: SocialFollowingVarPopFields + varSamp: SocialFollowingVarSampFields + variance: SocialFollowingVarianceFields } """ order by aggregate values of table "social_following" """ input SocialFollowingAggregateOrderBy { + avg: SocialFollowingAvgOrderBy count: OrderBy max: SocialFollowingMaxOrderBy min: SocialFollowingMinOrderBy + stddev: SocialFollowingStddevOrderBy + stddevPop: SocialFollowingStddevPopOrderBy + stddevSamp: SocialFollowingStddevSampOrderBy + sum: SocialFollowingSumOrderBy + varPop: SocialFollowingVarPopOrderBy + varSamp: SocialFollowingVarSampOrderBy + variance: SocialFollowingVarianceOrderBy } """ @@ -5671,6 +5730,18 @@ input SocialFollowingArrRelInsertInput { data: [SocialFollowingInsertInput!]! } +"""aggregate avg on columns""" +type SocialFollowingAvgFields { + followeeIdChatbot: Float +} + +""" +order by avg() on columns of table "social_following" +""" +input SocialFollowingAvgOrderBy { + followeeIdChatbot: OrderBy +} + """ Boolean expression to filter rows from the table "social_following". All fields are combined with a logical 'AND'. """ @@ -5678,19 +5749,30 @@ input SocialFollowingBoolExp { _and: [SocialFollowingBoolExp!] _not: SocialFollowingBoolExp _or: [SocialFollowingBoolExp!] + chatbot: ChatbotBoolExp createdAt: TimestamptzComparisonExp followeeId: UuidComparisonExp + followeeIdChatbot: IntComparisonExp followerId: UuidComparisonExp user: UserBoolExp userByFollowerId: UserBoolExp } +""" +input type for incrementing numeric columns in table "social_following" +""" +input SocialFollowingIncInput { + followeeIdChatbot: Int +} + """ input type for inserting data into table "social_following" """ input SocialFollowingInsertInput { + chatbot: ChatbotObjRelInsertInput createdAt: timestamptz followeeId: uuid + followeeIdChatbot: Int followerId: uuid user: UserObjRelInsertInput userByFollowerId: UserObjRelInsertInput @@ -5700,6 +5782,7 @@ input SocialFollowingInsertInput { type SocialFollowingMaxFields { createdAt: timestamptz followeeId: uuid + followeeIdChatbot: Int followerId: uuid } @@ -5709,6 +5792,7 @@ order by max() on columns of table "social_following" input SocialFollowingMaxOrderBy { createdAt: OrderBy followeeId: OrderBy + followeeIdChatbot: OrderBy followerId: OrderBy } @@ -5716,6 +5800,7 @@ input SocialFollowingMaxOrderBy { type SocialFollowingMinFields { createdAt: timestamptz followeeId: uuid + followeeIdChatbot: Int followerId: uuid } @@ -5725,6 +5810,7 @@ order by min() on columns of table "social_following" input SocialFollowingMinOrderBy { createdAt: OrderBy followeeId: OrderBy + followeeIdChatbot: OrderBy followerId: OrderBy } @@ -5741,8 +5827,10 @@ type SocialFollowingMutationResponse { """Ordering options when selecting data from "social_following".""" input SocialFollowingOrderBy { + chatbot: ChatbotOrderBy createdAt: OrderBy followeeId: OrderBy + followeeIdChatbot: OrderBy followerId: OrderBy user: UserOrderBy userByFollowerId: UserOrderBy @@ -5758,6 +5846,9 @@ enum SocialFollowingSelectColumn { """column name""" followeeId + """column name""" + followeeIdChatbot + """column name""" followerId } @@ -5768,9 +5859,46 @@ input type for updating data in table "social_following" input SocialFollowingSetInput { createdAt: timestamptz followeeId: uuid + followeeIdChatbot: Int followerId: uuid } +"""aggregate stddev on columns""" +type SocialFollowingStddevFields { + followeeIdChatbot: Float +} + +""" +order by stddev() on columns of table "social_following" +""" +input SocialFollowingStddevOrderBy { + followeeIdChatbot: OrderBy +} + +"""aggregate stddevPop on columns""" +type SocialFollowingStddevPopFields { + followeeIdChatbot: Float +} + +""" +order by stddevPop() on columns of table "social_following" +""" +input SocialFollowingStddevPopOrderBy { + followeeIdChatbot: OrderBy +} + +"""aggregate stddevSamp on columns""" +type SocialFollowingStddevSampFields { + followeeIdChatbot: Float +} + +""" +order by stddevSamp() on columns of table "social_following" +""" +input SocialFollowingStddevSampOrderBy { + followeeIdChatbot: OrderBy +} + """ Streaming cursor of the table "social_following" """ @@ -5786,10 +5914,26 @@ input SocialFollowingStreamCursorInput { input SocialFollowingStreamCursorValueInput { createdAt: timestamptz followeeId: uuid + followeeIdChatbot: Int followerId: uuid } +"""aggregate sum on columns""" +type SocialFollowingSumFields { + followeeIdChatbot: Int +} + +""" +order by sum() on columns of table "social_following" +""" +input SocialFollowingSumOrderBy { + followeeIdChatbot: OrderBy +} + input SocialFollowingUpdates { + """increments the numeric columns with given value of the filtered values""" + _inc: SocialFollowingIncInput + """sets the columns of the filtered rows to the given values""" _set: SocialFollowingSetInput @@ -5797,6 +5941,42 @@ input SocialFollowingUpdates { where: SocialFollowingBoolExp! } +"""aggregate varPop on columns""" +type SocialFollowingVarPopFields { + followeeIdChatbot: Float +} + +""" +order by varPop() on columns of table "social_following" +""" +input SocialFollowingVarPopOrderBy { + followeeIdChatbot: OrderBy +} + +"""aggregate varSamp on columns""" +type SocialFollowingVarSampFields { + followeeIdChatbot: Float +} + +""" +order by varSamp() on columns of table "social_following" +""" +input SocialFollowingVarSampOrderBy { + followeeIdChatbot: OrderBy +} + +"""aggregate variance on columns""" +type SocialFollowingVarianceFields { + followeeIdChatbot: Float +} + +""" +order by variance() on columns of table "social_following" +""" +input SocialFollowingVarianceOrderBy { + followeeIdChatbot: OrderBy +} + """ Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. """ @@ -9379,6 +9559,9 @@ type mutation_root { update data of the table: "social_following" """ updateSocialFollowing( + """increments the numeric columns with given value of the filtered values""" + _inc: SocialFollowingIncInput + """sets the columns of the filtered rows to the given values""" _set: SocialFollowingSetInput diff --git a/packages/mb-genql/generated/schema.ts b/packages/mb-genql/generated/schema.ts index abb0bc9f..1b4b6b1e 100644 --- a/packages/mb-genql/generated/schema.ts +++ b/packages/mb-genql/generated/schema.ts @@ -314,6 +314,10 @@ export interface Chatbot { defaultTone: (Scalars['String'] | null) defaultType: (Scalars['String'] | null) description: (Scalars['String'] | null) + /** An array relationship */ + followers: SocialFollowing[] + /** An aggregate relationship */ + followersAggregate: SocialFollowingAggregate /** An object relationship */ lengthEnum: (LengthEnum | null) /** An array relationship */ @@ -1979,11 +1983,14 @@ export type ReferralUpdateColumn = 'referralCode' | 'referrerId' | 'userId' /** This junction table records social following relationships between users. Each record represents a follower-followee relationship. */ export interface SocialFollowing { + /** An object relationship */ + chatbot: (Chatbot | null) createdAt: Scalars['timestamptz'] - followeeId: Scalars['uuid'] + followeeId: (Scalars['uuid'] | null) + followeeIdChatbot: (Scalars['Int'] | null) followerId: Scalars['uuid'] /** An object relationship */ - user: User + user: (User | null) /** An object relationship */ userByFollowerId: User __typename: 'SocialFollowing' @@ -2000,17 +2007,33 @@ export interface SocialFollowingAggregate { /** aggregate fields of "social_following" */ export interface SocialFollowingAggregateFields { + avg: (SocialFollowingAvgFields | null) count: Scalars['Int'] max: (SocialFollowingMaxFields | null) min: (SocialFollowingMinFields | null) + stddev: (SocialFollowingStddevFields | null) + stddevPop: (SocialFollowingStddevPopFields | null) + stddevSamp: (SocialFollowingStddevSampFields | null) + sum: (SocialFollowingSumFields | null) + varPop: (SocialFollowingVarPopFields | null) + varSamp: (SocialFollowingVarSampFields | null) + variance: (SocialFollowingVarianceFields | null) __typename: 'SocialFollowingAggregateFields' } +/** aggregate avg on columns */ +export interface SocialFollowingAvgFields { + followeeIdChatbot: (Scalars['Float'] | null) + __typename: 'SocialFollowingAvgFields' +} + + /** aggregate max on columns */ export interface SocialFollowingMaxFields { createdAt: (Scalars['timestamptz'] | null) followeeId: (Scalars['uuid'] | null) + followeeIdChatbot: (Scalars['Int'] | null) followerId: (Scalars['uuid'] | null) __typename: 'SocialFollowingMaxFields' } @@ -2020,6 +2043,7 @@ export interface SocialFollowingMaxFields { export interface SocialFollowingMinFields { createdAt: (Scalars['timestamptz'] | null) followeeId: (Scalars['uuid'] | null) + followeeIdChatbot: (Scalars['Int'] | null) followerId: (Scalars['uuid'] | null) __typename: 'SocialFollowingMinFields' } @@ -2036,7 +2060,56 @@ export interface SocialFollowingMutationResponse { /** select columns of table "social_following" */ -export type SocialFollowingSelectColumn = 'createdAt' | 'followeeId' | 'followerId' +export type SocialFollowingSelectColumn = 'createdAt' | 'followeeId' | 'followeeIdChatbot' | 'followerId' + + +/** aggregate stddev on columns */ +export interface SocialFollowingStddevFields { + followeeIdChatbot: (Scalars['Float'] | null) + __typename: 'SocialFollowingStddevFields' +} + + +/** aggregate stddevPop on columns */ +export interface SocialFollowingStddevPopFields { + followeeIdChatbot: (Scalars['Float'] | null) + __typename: 'SocialFollowingStddevPopFields' +} + + +/** aggregate stddevSamp on columns */ +export interface SocialFollowingStddevSampFields { + followeeIdChatbot: (Scalars['Float'] | null) + __typename: 'SocialFollowingStddevSampFields' +} + + +/** aggregate sum on columns */ +export interface SocialFollowingSumFields { + followeeIdChatbot: (Scalars['Int'] | null) + __typename: 'SocialFollowingSumFields' +} + + +/** aggregate varPop on columns */ +export interface SocialFollowingVarPopFields { + followeeIdChatbot: (Scalars['Float'] | null) + __typename: 'SocialFollowingVarPopFields' +} + + +/** aggregate varSamp on columns */ +export interface SocialFollowingVarSampFields { + followeeIdChatbot: (Scalars['Float'] | null) + __typename: 'SocialFollowingVarSampFields' +} + + +/** aggregate variance on columns */ +export interface SocialFollowingVarianceFields { + followeeIdChatbot: (Scalars['Float'] | null) + __typename: 'SocialFollowingVarianceFields' +} /** columns and relationships of "thread" */ @@ -3823,6 +3896,30 @@ export interface ChatbotGenqlSelection{ defaultTone?: boolean | number defaultType?: boolean | number description?: boolean | number + /** An array relationship */ + followers?: (SocialFollowingGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) + /** An aggregate relationship */ + followersAggregate?: (SocialFollowingAggregateGenqlSelection & { __args?: { + /** distinct select on columns */ + distinctOn?: (SocialFollowingSelectColumn[] | null), + /** limit the number of rows returned */ + limit?: (Scalars['Int'] | null), + /** skip the first n rows. Use only with order_by */ + offset?: (Scalars['Int'] | null), + /** sort the rows by one or more columns */ + orderBy?: (SocialFollowingOrderBy[] | null), + /** filter the rows returned */ + where?: (SocialFollowingBoolExp | null)} }) /** An object relationship */ lengthEnum?: LengthEnumGenqlSelection /** An array relationship */ @@ -3983,7 +4080,7 @@ export interface ChatbotAvgOrderBy {chatbotId?: (OrderBy | null)} /** Boolean expression to filter rows from the table "chatbot". All fields are combined with a logical 'AND'. */ -export interface ChatbotBoolExp {_and?: (ChatbotBoolExp[] | null),_not?: (ChatbotBoolExp | null),_or?: (ChatbotBoolExp[] | null),avatar?: (StringComparisonExp | null),categories?: (ChatbotCategoryBoolExp | null),categoriesAggregate?: (ChatbotCategoryAggregateBoolExp | null),chatbotId?: (IntComparisonExp | null),chats?: (ChatBoolExp | null),chatsAggregate?: (ChatAggregateBoolExp | null),complexityEnum?: (ComplexityEnumBoolExp | null),createdBy?: (StringComparisonExp | null),defaultComplexity?: (StringComparisonExp | null),defaultLength?: (StringComparisonExp | null),defaultTone?: (StringComparisonExp | null),defaultType?: (StringComparisonExp | null),description?: (StringComparisonExp | null),lengthEnum?: (LengthEnumBoolExp | null),metadataLabels?: (LabelChatbotCategoryBoolExp | null),metadataLabelsAggregate?: (LabelChatbotCategoryAggregateBoolExp | null),name?: (StringComparisonExp | null),preferences?: (PreferenceBoolExp | null),preferencesAggregate?: (PreferenceAggregateBoolExp | null),prompts?: (PromptChatbotBoolExp | null),promptsAggregate?: (PromptChatbotAggregateBoolExp | null),threads?: (ThreadBoolExp | null),threadsAggregate?: (ThreadAggregateBoolExp | null),toneEnum?: (ToneEnumBoolExp | null),typeEnum?: (TypeEnumBoolExp | null)} +export interface ChatbotBoolExp {_and?: (ChatbotBoolExp[] | null),_not?: (ChatbotBoolExp | null),_or?: (ChatbotBoolExp[] | null),avatar?: (StringComparisonExp | null),categories?: (ChatbotCategoryBoolExp | null),categoriesAggregate?: (ChatbotCategoryAggregateBoolExp | null),chatbotId?: (IntComparisonExp | null),chats?: (ChatBoolExp | null),chatsAggregate?: (ChatAggregateBoolExp | null),complexityEnum?: (ComplexityEnumBoolExp | null),createdBy?: (StringComparisonExp | null),defaultComplexity?: (StringComparisonExp | null),defaultLength?: (StringComparisonExp | null),defaultTone?: (StringComparisonExp | null),defaultType?: (StringComparisonExp | null),description?: (StringComparisonExp | null),followers?: (SocialFollowingBoolExp | null),followersAggregate?: (SocialFollowingAggregateBoolExp | null),lengthEnum?: (LengthEnumBoolExp | null),metadataLabels?: (LabelChatbotCategoryBoolExp | null),metadataLabelsAggregate?: (LabelChatbotCategoryAggregateBoolExp | null),name?: (StringComparisonExp | null),preferences?: (PreferenceBoolExp | null),preferencesAggregate?: (PreferenceAggregateBoolExp | null),prompts?: (PromptChatbotBoolExp | null),promptsAggregate?: (PromptChatbotAggregateBoolExp | null),threads?: (ThreadBoolExp | null),threadsAggregate?: (ThreadAggregateBoolExp | null),toneEnum?: (ToneEnumBoolExp | null),typeEnum?: (TypeEnumBoolExp | null)} /** Junction table to manage the many-to-many relationships between chatbots and their categories. */ @@ -4232,7 +4329,7 @@ export interface ChatbotIncInput {chatbotId?: (Scalars['Int'] | null)} /** input type for inserting data into table "chatbot" */ -export interface ChatbotInsertInput {avatar?: (Scalars['String'] | null),categories?: (ChatbotCategoryArrRelInsertInput | null),chatbotId?: (Scalars['Int'] | null),chats?: (ChatArrRelInsertInput | null),complexityEnum?: (ComplexityEnumObjRelInsertInput | null),createdBy?: (Scalars['String'] | null),defaultComplexity?: (Scalars['String'] | null),defaultLength?: (Scalars['String'] | null),defaultTone?: (Scalars['String'] | null),defaultType?: (Scalars['String'] | null),description?: (Scalars['String'] | null),lengthEnum?: (LengthEnumObjRelInsertInput | null),metadataLabels?: (LabelChatbotCategoryArrRelInsertInput | null),name?: (Scalars['String'] | null),preferences?: (PreferenceArrRelInsertInput | null),prompts?: (PromptChatbotArrRelInsertInput | null),threads?: (ThreadArrRelInsertInput | null),toneEnum?: (ToneEnumObjRelInsertInput | null),typeEnum?: (TypeEnumObjRelInsertInput | null)} +export interface ChatbotInsertInput {avatar?: (Scalars['String'] | null),categories?: (ChatbotCategoryArrRelInsertInput | null),chatbotId?: (Scalars['Int'] | null),chats?: (ChatArrRelInsertInput | null),complexityEnum?: (ComplexityEnumObjRelInsertInput | null),createdBy?: (Scalars['String'] | null),defaultComplexity?: (Scalars['String'] | null),defaultLength?: (Scalars['String'] | null),defaultTone?: (Scalars['String'] | null),defaultType?: (Scalars['String'] | null),description?: (Scalars['String'] | null),followers?: (SocialFollowingArrRelInsertInput | null),lengthEnum?: (LengthEnumObjRelInsertInput | null),metadataLabels?: (LabelChatbotCategoryArrRelInsertInput | null),name?: (Scalars['String'] | null),preferences?: (PreferenceArrRelInsertInput | null),prompts?: (PromptChatbotArrRelInsertInput | null),threads?: (ThreadArrRelInsertInput | null),toneEnum?: (ToneEnumObjRelInsertInput | null),typeEnum?: (TypeEnumObjRelInsertInput | null)} /** aggregate max on columns */ @@ -4297,7 +4394,7 @@ export interface ChatbotOnConflict {constraint: ChatbotConstraint,updateColumns? /** Ordering options when selecting data from "chatbot". */ -export interface ChatbotOrderBy {avatar?: (OrderBy | null),categoriesAggregate?: (ChatbotCategoryAggregateOrderBy | null),chatbotId?: (OrderBy | null),chatsAggregate?: (ChatAggregateOrderBy | null),complexityEnum?: (ComplexityEnumOrderBy | null),createdBy?: (OrderBy | null),defaultComplexity?: (OrderBy | null),defaultLength?: (OrderBy | null),defaultTone?: (OrderBy | null),defaultType?: (OrderBy | null),description?: (OrderBy | null),lengthEnum?: (LengthEnumOrderBy | null),metadataLabelsAggregate?: (LabelChatbotCategoryAggregateOrderBy | null),name?: (OrderBy | null),preferencesAggregate?: (PreferenceAggregateOrderBy | null),promptsAggregate?: (PromptChatbotAggregateOrderBy | null),threadsAggregate?: (ThreadAggregateOrderBy | null),toneEnum?: (ToneEnumOrderBy | null),typeEnum?: (TypeEnumOrderBy | null)} +export interface ChatbotOrderBy {avatar?: (OrderBy | null),categoriesAggregate?: (ChatbotCategoryAggregateOrderBy | null),chatbotId?: (OrderBy | null),chatsAggregate?: (ChatAggregateOrderBy | null),complexityEnum?: (ComplexityEnumOrderBy | null),createdBy?: (OrderBy | null),defaultComplexity?: (OrderBy | null),defaultLength?: (OrderBy | null),defaultTone?: (OrderBy | null),defaultType?: (OrderBy | null),description?: (OrderBy | null),followersAggregate?: (SocialFollowingAggregateOrderBy | null),lengthEnum?: (LengthEnumOrderBy | null),metadataLabelsAggregate?: (LabelChatbotCategoryAggregateOrderBy | null),name?: (OrderBy | null),preferencesAggregate?: (PreferenceAggregateOrderBy | null),promptsAggregate?: (PromptChatbotAggregateOrderBy | null),threadsAggregate?: (ThreadAggregateOrderBy | null),toneEnum?: (ToneEnumOrderBy | null),typeEnum?: (TypeEnumOrderBy | null)} /** primary key columns input for table: chatbot */ @@ -6862,8 +6959,11 @@ where: ReferralBoolExp} /** This junction table records social following relationships between users. Each record represents a follower-followee relationship. */ export interface SocialFollowingGenqlSelection{ + /** An object relationship */ + chatbot?: ChatbotGenqlSelection createdAt?: boolean | number followeeId?: boolean | number + followeeIdChatbot?: boolean | number followerId?: boolean | number /** An object relationship */ user?: UserGenqlSelection @@ -6887,34 +6987,59 @@ export interface SocialFollowingAggregateBoolExp {count?: (socialFollowingAggreg /** aggregate fields of "social_following" */ export interface SocialFollowingAggregateFieldsGenqlSelection{ + avg?: SocialFollowingAvgFieldsGenqlSelection count?: { __args: {columns?: (SocialFollowingSelectColumn[] | null), distinct?: (Scalars['Boolean'] | null)} } | boolean | number max?: SocialFollowingMaxFieldsGenqlSelection min?: SocialFollowingMinFieldsGenqlSelection + stddev?: SocialFollowingStddevFieldsGenqlSelection + stddevPop?: SocialFollowingStddevPopFieldsGenqlSelection + stddevSamp?: SocialFollowingStddevSampFieldsGenqlSelection + sum?: SocialFollowingSumFieldsGenqlSelection + varPop?: SocialFollowingVarPopFieldsGenqlSelection + varSamp?: SocialFollowingVarSampFieldsGenqlSelection + variance?: SocialFollowingVarianceFieldsGenqlSelection __typename?: boolean | number __scalar?: boolean | number } /** order by aggregate values of table "social_following" */ -export interface SocialFollowingAggregateOrderBy {count?: (OrderBy | null),max?: (SocialFollowingMaxOrderBy | null),min?: (SocialFollowingMinOrderBy | null)} +export interface SocialFollowingAggregateOrderBy {avg?: (SocialFollowingAvgOrderBy | null),count?: (OrderBy | null),max?: (SocialFollowingMaxOrderBy | null),min?: (SocialFollowingMinOrderBy | null),stddev?: (SocialFollowingStddevOrderBy | null),stddevPop?: (SocialFollowingStddevPopOrderBy | null),stddevSamp?: (SocialFollowingStddevSampOrderBy | null),sum?: (SocialFollowingSumOrderBy | null),varPop?: (SocialFollowingVarPopOrderBy | null),varSamp?: (SocialFollowingVarSampOrderBy | null),variance?: (SocialFollowingVarianceOrderBy | null)} /** input type for inserting array relation for remote table "social_following" */ export interface SocialFollowingArrRelInsertInput {data: SocialFollowingInsertInput[]} +/** aggregate avg on columns */ +export interface SocialFollowingAvgFieldsGenqlSelection{ + followeeIdChatbot?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by avg() on columns of table "social_following" */ +export interface SocialFollowingAvgOrderBy {followeeIdChatbot?: (OrderBy | null)} + + /** Boolean expression to filter rows from the table "social_following". All fields are combined with a logical 'AND'. */ -export interface SocialFollowingBoolExp {_and?: (SocialFollowingBoolExp[] | null),_not?: (SocialFollowingBoolExp | null),_or?: (SocialFollowingBoolExp[] | null),createdAt?: (TimestamptzComparisonExp | null),followeeId?: (UuidComparisonExp | null),followerId?: (UuidComparisonExp | null),user?: (UserBoolExp | null),userByFollowerId?: (UserBoolExp | null)} +export interface SocialFollowingBoolExp {_and?: (SocialFollowingBoolExp[] | null),_not?: (SocialFollowingBoolExp | null),_or?: (SocialFollowingBoolExp[] | null),chatbot?: (ChatbotBoolExp | null),createdAt?: (TimestamptzComparisonExp | null),followeeId?: (UuidComparisonExp | null),followeeIdChatbot?: (IntComparisonExp | null),followerId?: (UuidComparisonExp | null),user?: (UserBoolExp | null),userByFollowerId?: (UserBoolExp | null)} + + +/** input type for incrementing numeric columns in table "social_following" */ +export interface SocialFollowingIncInput {followeeIdChatbot?: (Scalars['Int'] | null)} /** input type for inserting data into table "social_following" */ -export interface SocialFollowingInsertInput {createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followerId?: (Scalars['uuid'] | null),user?: (UserObjRelInsertInput | null),userByFollowerId?: (UserObjRelInsertInput | null)} +export interface SocialFollowingInsertInput {chatbot?: (ChatbotObjRelInsertInput | null),createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followeeIdChatbot?: (Scalars['Int'] | null),followerId?: (Scalars['uuid'] | null),user?: (UserObjRelInsertInput | null),userByFollowerId?: (UserObjRelInsertInput | null)} /** aggregate max on columns */ export interface SocialFollowingMaxFieldsGenqlSelection{ createdAt?: boolean | number followeeId?: boolean | number + followeeIdChatbot?: boolean | number followerId?: boolean | number __typename?: boolean | number __scalar?: boolean | number @@ -6922,13 +7047,14 @@ export interface SocialFollowingMaxFieldsGenqlSelection{ /** order by max() on columns of table "social_following" */ -export interface SocialFollowingMaxOrderBy {createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followerId?: (OrderBy | null)} +export interface SocialFollowingMaxOrderBy {createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followeeIdChatbot?: (OrderBy | null),followerId?: (OrderBy | null)} /** aggregate min on columns */ export interface SocialFollowingMinFieldsGenqlSelection{ createdAt?: boolean | number followeeId?: boolean | number + followeeIdChatbot?: boolean | number followerId?: boolean | number __typename?: boolean | number __scalar?: boolean | number @@ -6936,7 +7062,7 @@ export interface SocialFollowingMinFieldsGenqlSelection{ /** order by min() on columns of table "social_following" */ -export interface SocialFollowingMinOrderBy {createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followerId?: (OrderBy | null)} +export interface SocialFollowingMinOrderBy {createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followeeIdChatbot?: (OrderBy | null),followerId?: (OrderBy | null)} /** response of any mutation on the table "social_following" */ @@ -6951,11 +7077,47 @@ export interface SocialFollowingMutationResponseGenqlSelection{ /** Ordering options when selecting data from "social_following". */ -export interface SocialFollowingOrderBy {createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followerId?: (OrderBy | null),user?: (UserOrderBy | null),userByFollowerId?: (UserOrderBy | null)} +export interface SocialFollowingOrderBy {chatbot?: (ChatbotOrderBy | null),createdAt?: (OrderBy | null),followeeId?: (OrderBy | null),followeeIdChatbot?: (OrderBy | null),followerId?: (OrderBy | null),user?: (UserOrderBy | null),userByFollowerId?: (UserOrderBy | null)} /** input type for updating data in table "social_following" */ -export interface SocialFollowingSetInput {createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followerId?: (Scalars['uuid'] | null)} +export interface SocialFollowingSetInput {createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followeeIdChatbot?: (Scalars['Int'] | null),followerId?: (Scalars['uuid'] | null)} + + +/** aggregate stddev on columns */ +export interface SocialFollowingStddevFieldsGenqlSelection{ + followeeIdChatbot?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by stddev() on columns of table "social_following" */ +export interface SocialFollowingStddevOrderBy {followeeIdChatbot?: (OrderBy | null)} + + +/** aggregate stddevPop on columns */ +export interface SocialFollowingStddevPopFieldsGenqlSelection{ + followeeIdChatbot?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by stddevPop() on columns of table "social_following" */ +export interface SocialFollowingStddevPopOrderBy {followeeIdChatbot?: (OrderBy | null)} + + +/** aggregate stddevSamp on columns */ +export interface SocialFollowingStddevSampFieldsGenqlSelection{ + followeeIdChatbot?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by stddevSamp() on columns of table "social_following" */ +export interface SocialFollowingStddevSampOrderBy {followeeIdChatbot?: (OrderBy | null)} /** Streaming cursor of the table "social_following" */ @@ -6967,15 +7129,65 @@ ordering?: (CursorOrdering | null)} /** Initial value of the column from where the streaming should start */ -export interface SocialFollowingStreamCursorValueInput {createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followerId?: (Scalars['uuid'] | null)} +export interface SocialFollowingStreamCursorValueInput {createdAt?: (Scalars['timestamptz'] | null),followeeId?: (Scalars['uuid'] | null),followeeIdChatbot?: (Scalars['Int'] | null),followerId?: (Scalars['uuid'] | null)} + + +/** aggregate sum on columns */ +export interface SocialFollowingSumFieldsGenqlSelection{ + followeeIdChatbot?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by sum() on columns of table "social_following" */ +export interface SocialFollowingSumOrderBy {followeeIdChatbot?: (OrderBy | null)} export interface SocialFollowingUpdates { +/** increments the numeric columns with given value of the filtered values */ +_inc?: (SocialFollowingIncInput | null), /** sets the columns of the filtered rows to the given values */ _set?: (SocialFollowingSetInput | null), /** filter the rows which have to be updated */ where: SocialFollowingBoolExp} +/** aggregate varPop on columns */ +export interface SocialFollowingVarPopFieldsGenqlSelection{ + followeeIdChatbot?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by varPop() on columns of table "social_following" */ +export interface SocialFollowingVarPopOrderBy {followeeIdChatbot?: (OrderBy | null)} + + +/** aggregate varSamp on columns */ +export interface SocialFollowingVarSampFieldsGenqlSelection{ + followeeIdChatbot?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by varSamp() on columns of table "social_following" */ +export interface SocialFollowingVarSampOrderBy {followeeIdChatbot?: (OrderBy | null)} + + +/** aggregate variance on columns */ +export interface SocialFollowingVarianceFieldsGenqlSelection{ + followeeIdChatbot?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + + +/** order by variance() on columns of table "social_following" */ +export interface SocialFollowingVarianceOrderBy {followeeIdChatbot?: (OrderBy | null)} + + /** Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. */ export interface StringComparisonExp {_eq?: (Scalars['String'] | null),_gt?: (Scalars['String'] | null),_gte?: (Scalars['String'] | null), /** does the column match the given case-insensitive pattern */ @@ -8914,6 +9126,8 @@ export interface mutation_rootGenqlSelection{ updates: ReferralUpdates[]} }) /** update data of the table: "social_following" */ updateSocialFollowing?: (SocialFollowingMutationResponseGenqlSelection & { __args: { + /** increments the numeric columns with given value of the filtered values */ + _inc?: (SocialFollowingIncInput | null), /** sets the columns of the filtered rows to the given values */ _set?: (SocialFollowingSetInput | null), /** filter the rows which have to be updated */ @@ -11969,6 +12183,14 @@ export type SubscriptionGenqlSelection = subscription_rootGenqlSelection + const SocialFollowingAvgFields_possibleTypes: string[] = ['SocialFollowingAvgFields'] + export const isSocialFollowingAvgFields = (obj?: { __typename?: any } | null): obj is SocialFollowingAvgFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingAvgFields"') + return SocialFollowingAvgFields_possibleTypes.includes(obj.__typename) + } + + + const SocialFollowingMaxFields_possibleTypes: string[] = ['SocialFollowingMaxFields'] export const isSocialFollowingMaxFields = (obj?: { __typename?: any } | null): obj is SocialFollowingMaxFields => { if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingMaxFields"') @@ -11993,6 +12215,62 @@ export type SubscriptionGenqlSelection = subscription_rootGenqlSelection + const SocialFollowingStddevFields_possibleTypes: string[] = ['SocialFollowingStddevFields'] + export const isSocialFollowingStddevFields = (obj?: { __typename?: any } | null): obj is SocialFollowingStddevFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingStddevFields"') + return SocialFollowingStddevFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingStddevPopFields_possibleTypes: string[] = ['SocialFollowingStddevPopFields'] + export const isSocialFollowingStddevPopFields = (obj?: { __typename?: any } | null): obj is SocialFollowingStddevPopFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingStddevPopFields"') + return SocialFollowingStddevPopFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingStddevSampFields_possibleTypes: string[] = ['SocialFollowingStddevSampFields'] + export const isSocialFollowingStddevSampFields = (obj?: { __typename?: any } | null): obj is SocialFollowingStddevSampFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingStddevSampFields"') + return SocialFollowingStddevSampFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingSumFields_possibleTypes: string[] = ['SocialFollowingSumFields'] + export const isSocialFollowingSumFields = (obj?: { __typename?: any } | null): obj is SocialFollowingSumFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingSumFields"') + return SocialFollowingSumFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingVarPopFields_possibleTypes: string[] = ['SocialFollowingVarPopFields'] + export const isSocialFollowingVarPopFields = (obj?: { __typename?: any } | null): obj is SocialFollowingVarPopFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingVarPopFields"') + return SocialFollowingVarPopFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingVarSampFields_possibleTypes: string[] = ['SocialFollowingVarSampFields'] + export const isSocialFollowingVarSampFields = (obj?: { __typename?: any } | null): obj is SocialFollowingVarSampFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingVarSampFields"') + return SocialFollowingVarSampFields_possibleTypes.includes(obj.__typename) + } + + + + const SocialFollowingVarianceFields_possibleTypes: string[] = ['SocialFollowingVarianceFields'] + export const isSocialFollowingVarianceFields = (obj?: { __typename?: any } | null): obj is SocialFollowingVarianceFields => { + if (!obj?.__typename) throw new Error('__typename is missing in "isSocialFollowingVarianceFields"') + return SocialFollowingVarianceFields_possibleTypes.includes(obj.__typename) + } + + + const Thread_possibleTypes: string[] = ['Thread'] export const isThread = (obj?: { __typename?: any } | null): obj is Thread => { if (!obj?.__typename) throw new Error('__typename is missing in "isThread"') @@ -12689,6 +12967,7 @@ export const enumReferralUpdateColumn = { export const enumSocialFollowingSelectColumn = { createdAt: 'createdAt' as const, followeeId: 'followeeId' as const, + followeeIdChatbot: 'followeeIdChatbot' as const, followerId: 'followerId' as const } diff --git a/packages/mb-genql/generated/types.ts b/packages/mb-genql/generated/types.ts index 217d00d6..fb499e52 100644 --- a/packages/mb-genql/generated/types.ts +++ b/packages/mb-genql/generated/types.ts @@ -59,31 +59,31 @@ export default { 514, 524, 528, - 544, - 549, - 560, - 572, - 573, - 574, - 586, - 599, - 608, - 612, - 618, - 627, - 631, - 637, - 646, - 650, - 656, - 666, - 677, - 687, - 691, - 693, - 712, - 714, - 715 + 547, + 566, + 577, + 589, + 590, + 591, + 603, + 616, + 625, + 629, + 635, + 644, + 648, + 654, + 663, + 667, + 673, + 683, + 694, + 704, + 708, + 710, + 729, + 731, + 732 ], "types": { "Boolean": {}, @@ -116,7 +116,7 @@ export default { 0 ], "__typename": [ - 549 + 566 ] }, "Category": { @@ -212,10 +212,10 @@ export default { } ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "CategoryAggregate": { @@ -226,7 +226,7 @@ export default { 2 ], "__typename": [ - 549 + 566 ] }, "CategoryAggregateFields": { @@ -273,7 +273,7 @@ export default { 29 ], "__typename": [ - 549 + 566 ] }, "CategoryAvgFields": { @@ -281,7 +281,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "CategoryBoolExp": { @@ -310,10 +310,10 @@ export default { 181 ], "name": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "CategoryConstraint": {}, @@ -322,7 +322,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "CategoryInsertInput": { @@ -336,10 +336,10 @@ export default { 184 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "CategoryMaxFields": { @@ -347,10 +347,10 @@ export default { 172 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "CategoryMinFields": { @@ -358,10 +358,10 @@ export default { 172 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "CategoryMutationResponse": { @@ -372,7 +372,7 @@ export default { 2 ], "__typename": [ - 549 + 566 ] }, "CategoryObjRelInsertInput": { @@ -383,7 +383,7 @@ export default { 14 ], "__typename": [ - 549 + 566 ] }, "CategoryOnConflict": { @@ -397,7 +397,7 @@ export default { 6 ], "__typename": [ - 549 + 566 ] }, "CategoryOrderBy": { @@ -414,7 +414,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "CategoryPkColumnsInput": { @@ -422,7 +422,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "CategorySelectColumn": {}, @@ -431,10 +431,10 @@ export default { 172 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "CategoryStddevFields": { @@ -442,7 +442,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "CategoryStddevPopFields": { @@ -450,7 +450,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "CategoryStddevSampFields": { @@ -458,7 +458,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "CategoryStreamCursorInput": { @@ -469,7 +469,7 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "CategoryStreamCursorValueInput": { @@ -477,10 +477,10 @@ export default { 172 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "CategorySumFields": { @@ -488,7 +488,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "CategoryUpdateColumn": {}, @@ -503,7 +503,7 @@ export default { 6 ], "__typename": [ - 549 + 566 ] }, "CategoryVarPopFields": { @@ -511,7 +511,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "CategoryVarSampFields": { @@ -519,7 +519,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "CategoryVarianceFields": { @@ -527,12 +527,12 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "Chat": { "addedBy": [ - 715 + 732 ], "chatId": [ 172 @@ -544,13 +544,13 @@ export default { 172 ], "conversationLink": [ - 549 + 566 ], "user": [ - 652 + 669 ], "__typename": [ - 549 + 566 ] }, "ChatAggregate": { @@ -561,15 +561,15 @@ export default { 30 ], "__typename": [ - 549 + 566 ] }, "ChatAggregateBoolExp": { "count": [ - 696 + 713 ], "__typename": [ - 549 + 566 ] }, "ChatAggregateFields": { @@ -616,7 +616,7 @@ export default { 68 ], "__typename": [ - 549 + 566 ] }, "ChatAggregateOrderBy": { @@ -654,7 +654,7 @@ export default { 69 ], "__typename": [ - 549 + 566 ] }, "ChatArrRelInsertInput": { @@ -665,7 +665,7 @@ export default { 47 ], "__typename": [ - 549 + 566 ] }, "ChatAvgFields": { @@ -676,7 +676,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatAvgOrderBy": { @@ -687,7 +687,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatBoolExp": { @@ -701,7 +701,7 @@ export default { 38 ], "addedBy": [ - 695 + 712 ], "chatId": [ 173 @@ -713,13 +713,13 @@ export default { 173 ], "conversationLink": [ - 550 + 567 ], "user": [ - 655 + 672 ], "__typename": [ - 549 + 566 ] }, "ChatConstraint": {}, @@ -731,12 +731,12 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatInsertInput": { "addedBy": [ - 715 + 732 ], "chatId": [ 172 @@ -748,18 +748,18 @@ export default { 172 ], "conversationLink": [ - 549 + 566 ], "user": [ - 661 + 678 ], "__typename": [ - 549 + 566 ] }, "ChatMaxFields": { "addedBy": [ - 715 + 732 ], "chatId": [ 172 @@ -768,10 +768,10 @@ export default { 172 ], "conversationLink": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ChatMaxOrderBy": { @@ -788,12 +788,12 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatMinFields": { "addedBy": [ - 715 + 732 ], "chatId": [ 172 @@ -802,10 +802,10 @@ export default { 172 ], "conversationLink": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ChatMinOrderBy": { @@ -822,7 +822,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatMutationResponse": { @@ -833,7 +833,7 @@ export default { 30 ], "__typename": [ - 549 + 566 ] }, "ChatOnConflict": { @@ -847,7 +847,7 @@ export default { 38 ], "__typename": [ - 549 + 566 ] }, "ChatOrderBy": { @@ -867,10 +867,10 @@ export default { 324 ], "user": [ - 663 + 680 ], "__typename": [ - 549 + 566 ] }, "ChatPkColumnsInput": { @@ -878,13 +878,13 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatSelectColumn": {}, "ChatSetInput": { "addedBy": [ - 715 + 732 ], "chatId": [ 172 @@ -893,10 +893,10 @@ export default { 172 ], "conversationLink": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ChatStddevFields": { @@ -907,7 +907,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatStddevOrderBy": { @@ -918,7 +918,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatStddevPopFields": { @@ -929,7 +929,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatStddevPopOrderBy": { @@ -940,7 +940,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatStddevSampFields": { @@ -951,7 +951,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatStddevSampOrderBy": { @@ -962,7 +962,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatStreamCursorInput": { @@ -973,12 +973,12 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "ChatStreamCursorValueInput": { "addedBy": [ - 715 + 732 ], "chatId": [ 172 @@ -987,10 +987,10 @@ export default { 172 ], "conversationLink": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ChatSumFields": { @@ -1001,7 +1001,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatSumOrderBy": { @@ -1012,7 +1012,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatUpdateColumn": {}, @@ -1027,7 +1027,7 @@ export default { 38 ], "__typename": [ - 549 + 566 ] }, "ChatVarPopFields": { @@ -1038,7 +1038,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatVarPopOrderBy": { @@ -1049,7 +1049,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatVarSampFields": { @@ -1060,7 +1060,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatVarSampOrderBy": { @@ -1071,7 +1071,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatVarianceFields": { @@ -1082,7 +1082,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatVarianceOrderBy": { @@ -1093,12 +1093,12 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "Chatbot": { "avatar": [ - 549 + 566 ], "categories": [ 79, @@ -1195,22 +1195,66 @@ export default { 151 ], "createdBy": [ - 549 + 566 ], "defaultComplexity": [ - 549 + 566 ], "defaultLength": [ - 549 + 566 ], "defaultTone": [ - 549 + 566 ], "defaultType": [ - 549 + 566 ], "description": [ - 549 + 566 + ], + "followers": [ + 530, + { + "distinctOn": [ + 547, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 546, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 538 + ] + } + ], + "followersAggregate": [ + 531, + { + "distinctOn": [ + 547, + "[SocialFollowingSelectColumn!]" + ], + "limit": [ + 172 + ], + "offset": [ + 172 + ], + "orderBy": [ + 546, + "[SocialFollowingOrderBy!]" + ], + "where": [ + 538 + ] + } ], "lengthEnum": [ 242 @@ -1260,7 +1304,7 @@ export default { } ], "name": [ - 549 + 566 ], "preferences": [ 325, @@ -1351,10 +1395,10 @@ export default { } ], "threads": [ - 551, + 568, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -1364,19 +1408,19 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "threadsAggregate": [ - 552, + 569, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -1386,22 +1430,22 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "toneEnum": [ - 614 + 631 ], "typeEnum": [ - 633 + 650 ], "__typename": [ - 549 + 566 ] }, "ChatbotAggregate": { @@ -1412,15 +1456,15 @@ export default { 70 ], "__typename": [ - 549 + 566 ] }, "ChatbotAggregateBoolExp": { "count": [ - 697 + 714 ], "__typename": [ - 549 + 566 ] }, "ChatbotAggregateFields": { @@ -1467,7 +1511,7 @@ export default { 149 ], "__typename": [ - 549 + 566 ] }, "ChatbotAggregateOrderBy": { @@ -1505,7 +1549,7 @@ export default { 150 ], "__typename": [ - 549 + 566 ] }, "ChatbotArrRelInsertInput": { @@ -1516,7 +1560,7 @@ export default { 128 ], "__typename": [ - 549 + 566 ] }, "ChatbotAvgFields": { @@ -1524,7 +1568,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotAvgOrderBy": { @@ -1532,7 +1576,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotBoolExp": { @@ -1546,7 +1590,7 @@ export default { 78 ], "avatar": [ - 550 + 567 ], "categories": [ 87 @@ -1567,22 +1611,28 @@ export default { 154 ], "createdBy": [ - 550 + 567 ], "defaultComplexity": [ - 550 + 567 ], "defaultLength": [ - 550 + 567 ], "defaultTone": [ - 550 + 567 ], "defaultType": [ - 550 + 567 ], "description": [ - 550 + 567 + ], + "followers": [ + 538 + ], + "followersAggregate": [ + 532 ], "lengthEnum": [ 245 @@ -1594,7 +1644,7 @@ export default { 181 ], "name": [ - 550 + 567 ], "preferences": [ 333 @@ -1609,19 +1659,19 @@ export default { 378 ], "threads": [ - 559 + 576 ], "threadsAggregate": [ - 553 + 570 ], "toneEnum": [ - 617 + 634 ], "typeEnum": [ - 636 + 653 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategory": { @@ -1638,7 +1688,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryAggregate": { @@ -1649,15 +1699,15 @@ export default { 79 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryAggregateBoolExp": { "count": [ - 698 + 715 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryAggregateFields": { @@ -1704,7 +1754,7 @@ export default { 117 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryAggregateOrderBy": { @@ -1742,7 +1792,7 @@ export default { 118 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryArrRelInsertInput": { @@ -1753,7 +1803,7 @@ export default { 96 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryAvgFields": { @@ -1764,7 +1814,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryAvgOrderBy": { @@ -1775,7 +1825,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryBoolExp": { @@ -1801,7 +1851,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryConstraint": {}, @@ -1813,7 +1863,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryInsertInput": { @@ -1830,7 +1880,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryMaxFields": { @@ -1841,7 +1891,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryMaxOrderBy": { @@ -1852,7 +1902,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryMinFields": { @@ -1863,7 +1913,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryMinOrderBy": { @@ -1874,7 +1924,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryMutationResponse": { @@ -1885,7 +1935,7 @@ export default { 79 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryOnConflict": { @@ -1899,7 +1949,7 @@ export default { 87 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryOrderBy": { @@ -1916,7 +1966,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryPkColumnsInput": { @@ -1927,7 +1977,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategorySelectColumn": {}, @@ -1939,7 +1989,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryStddevFields": { @@ -1950,7 +2000,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryStddevOrderBy": { @@ -1961,7 +2011,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryStddevPopFields": { @@ -1972,7 +2022,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryStddevPopOrderBy": { @@ -1983,7 +2033,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryStddevSampFields": { @@ -1994,7 +2044,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryStddevSampOrderBy": { @@ -2005,7 +2055,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryStreamCursorInput": { @@ -2016,7 +2066,7 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryStreamCursorValueInput": { @@ -2027,7 +2077,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategorySumFields": { @@ -2038,7 +2088,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategorySumOrderBy": { @@ -2049,7 +2099,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryUpdateColumn": {}, @@ -2064,7 +2114,7 @@ export default { 87 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryVarPopFields": { @@ -2075,7 +2125,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryVarPopOrderBy": { @@ -2086,7 +2136,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryVarSampFields": { @@ -2097,7 +2147,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryVarSampOrderBy": { @@ -2108,7 +2158,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryVarianceFields": { @@ -2119,7 +2169,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotCategoryVarianceOrderBy": { @@ -2130,7 +2180,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotConstraint": {}, @@ -2139,12 +2189,12 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotInsertInput": { "avatar": [ - 549 + 566 ], "categories": [ 84 @@ -2159,22 +2209,25 @@ export default { 160 ], "createdBy": [ - 549 + 566 ], "defaultComplexity": [ - 549 + 566 ], "defaultLength": [ - 549 + 566 ], "defaultTone": [ - 549 + 566 ], "defaultType": [ - 549 + 566 ], "description": [ - 549 + 566 + ], + "followers": [ + 535 ], "lengthEnum": [ 251 @@ -2183,7 +2236,7 @@ export default { 184 ], "name": [ - 549 + 566 ], "preferences": [ 330 @@ -2192,48 +2245,48 @@ export default { 381 ], "threads": [ - 556 + 573 ], "toneEnum": [ - 623 + 640 ], "typeEnum": [ - 642 + 659 ], "__typename": [ - 549 + 566 ] }, "ChatbotMaxFields": { "avatar": [ - 549 + 566 ], "chatbotId": [ 172 ], "createdBy": [ - 549 + 566 ], "defaultComplexity": [ - 549 + 566 ], "defaultLength": [ - 549 + 566 ], "defaultTone": [ - 549 + 566 ], "defaultType": [ - 549 + 566 ], "description": [ - 549 + 566 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ChatbotMaxOrderBy": { @@ -2265,39 +2318,39 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotMinFields": { "avatar": [ - 549 + 566 ], "chatbotId": [ 172 ], "createdBy": [ - 549 + 566 ], "defaultComplexity": [ - 549 + 566 ], "defaultLength": [ - 549 + 566 ], "defaultTone": [ - 549 + 566 ], "defaultType": [ - 549 + 566 ], "description": [ - 549 + 566 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ChatbotMinOrderBy": { @@ -2329,7 +2382,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotMutationResponse": { @@ -2340,7 +2393,7 @@ export default { 70 ], "__typename": [ - 549 + 566 ] }, "ChatbotObjRelInsertInput": { @@ -2351,7 +2404,7 @@ export default { 128 ], "__typename": [ - 549 + 566 ] }, "ChatbotOnConflict": { @@ -2365,7 +2418,7 @@ export default { 78 ], "__typename": [ - 549 + 566 ] }, "ChatbotOrderBy": { @@ -2402,6 +2455,9 @@ export default { "description": [ 324 ], + "followersAggregate": [ + 534 + ], "lengthEnum": [ 253 ], @@ -2418,16 +2474,16 @@ export default { 380 ], "threadsAggregate": [ - 555 + 572 ], "toneEnum": [ - 625 + 642 ], "typeEnum": [ - 644 + 661 ], "__typename": [ - 549 + 566 ] }, "ChatbotPkColumnsInput": { @@ -2435,40 +2491,40 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotSelectColumn": {}, "ChatbotSetInput": { "avatar": [ - 549 + 566 ], "chatbotId": [ 172 ], "createdBy": [ - 549 + 566 ], "defaultComplexity": [ - 549 + 566 ], "defaultLength": [ - 549 + 566 ], "defaultTone": [ - 549 + 566 ], "defaultType": [ - 549 + 566 ], "description": [ - 549 + 566 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ChatbotStddevFields": { @@ -2476,7 +2532,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotStddevOrderBy": { @@ -2484,7 +2540,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotStddevPopFields": { @@ -2492,7 +2548,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotStddevPopOrderBy": { @@ -2500,7 +2556,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotStddevSampFields": { @@ -2508,7 +2564,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotStddevSampOrderBy": { @@ -2516,7 +2572,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotStreamCursorInput": { @@ -2527,39 +2583,39 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "ChatbotStreamCursorValueInput": { "avatar": [ - 549 + 566 ], "chatbotId": [ 172 ], "createdBy": [ - 549 + 566 ], "defaultComplexity": [ - 549 + 566 ], "defaultLength": [ - 549 + 566 ], "defaultTone": [ - 549 + 566 ], "defaultType": [ - 549 + 566 ], "description": [ - 549 + 566 ], "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ChatbotSumFields": { @@ -2567,7 +2623,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ChatbotSumOrderBy": { @@ -2575,7 +2631,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotUpdateColumn": {}, @@ -2590,7 +2646,7 @@ export default { 78 ], "__typename": [ - 549 + 566 ] }, "ChatbotVarPopFields": { @@ -2598,7 +2654,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotVarPopOrderBy": { @@ -2606,7 +2662,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotVarSampFields": { @@ -2614,7 +2670,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotVarSampOrderBy": { @@ -2622,7 +2678,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ChatbotVarianceFields": { @@ -2630,7 +2686,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ChatbotVarianceOrderBy": { @@ -2638,7 +2694,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnum": { @@ -2731,10 +2787,10 @@ export default { } ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumAggregate": { @@ -2745,7 +2801,7 @@ export default { 151 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumAggregateFields": { @@ -2768,7 +2824,7 @@ export default { 158 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumBoolExp": { @@ -2794,10 +2850,10 @@ export default { 327 ], "value": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumConstraint": {}, @@ -2809,26 +2865,26 @@ export default { 330 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumMaxFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumMinFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumMutationResponse": { @@ -2839,7 +2895,7 @@ export default { 151 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumObjRelInsertInput": { @@ -2850,7 +2906,7 @@ export default { 161 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumOnConflict": { @@ -2864,7 +2920,7 @@ export default { 154 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumOrderBy": { @@ -2878,24 +2934,24 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumPkColumnsInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumSelectColumn": {}, "ComplexityEnumSetInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumStreamCursorInput": { @@ -2906,15 +2962,15 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumStreamCursorValueInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ComplexityEnumUpdateColumn": {}, @@ -2926,7 +2982,7 @@ export default { 154 ], "__typename": [ - 549 + 566 ] }, "CursorOrdering": {}, @@ -2961,7 +3017,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "Label": { @@ -2969,7 +3025,7 @@ export default { 0 ], "categories": [ - 549 + 566 ], "labelId": [ 172 @@ -3019,16 +3075,16 @@ export default { } ], "questions": [ - 549 + 566 ], "subCategories": [ - 549 + 566 ], "tags": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LabelAggregate": { @@ -3039,7 +3095,7 @@ export default { 174 ], "__typename": [ - 549 + 566 ] }, "LabelAggregateFields": { @@ -3086,7 +3142,7 @@ export default { 241 ], "__typename": [ - 549 + 566 ] }, "LabelAvgFields": { @@ -3094,7 +3150,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelBoolExp": { @@ -3111,7 +3167,7 @@ export default { 1 ], "categories": [ - 550 + 567 ], "labelId": [ 173 @@ -3123,16 +3179,16 @@ export default { 181 ], "questions": [ - 550 + 567 ], "subCategories": [ - 550 + 567 ], "tags": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategory": { @@ -3155,7 +3211,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryAggregate": { @@ -3166,15 +3222,15 @@ export default { 179 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryAggregateBoolExp": { "count": [ - 699 + 716 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryAggregateFields": { @@ -3221,7 +3277,7 @@ export default { 217 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryAggregateOrderBy": { @@ -3259,7 +3315,7 @@ export default { 218 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryArrRelInsertInput": { @@ -3270,7 +3326,7 @@ export default { 196 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryAvgFields": { @@ -3284,7 +3340,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryAvgOrderBy": { @@ -3298,7 +3354,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryBoolExp": { @@ -3330,7 +3386,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryConstraint": {}, @@ -3345,7 +3401,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryInsertInput": { @@ -3368,7 +3424,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryMaxFields": { @@ -3382,7 +3438,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryMaxOrderBy": { @@ -3396,7 +3452,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryMinFields": { @@ -3410,7 +3466,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryMinOrderBy": { @@ -3424,7 +3480,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryMutationResponse": { @@ -3435,7 +3491,7 @@ export default { 179 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryOnConflict": { @@ -3449,7 +3505,7 @@ export default { 187 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryOrderBy": { @@ -3472,7 +3528,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryPkColumnsInput": { @@ -3486,7 +3542,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategorySelectColumn": {}, @@ -3501,7 +3557,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryStddevFields": { @@ -3515,7 +3571,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryStddevOrderBy": { @@ -3529,7 +3585,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryStddevPopFields": { @@ -3543,7 +3599,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryStddevPopOrderBy": { @@ -3557,7 +3613,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryStddevSampFields": { @@ -3571,7 +3627,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryStddevSampOrderBy": { @@ -3585,7 +3641,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryStreamCursorInput": { @@ -3596,7 +3652,7 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryStreamCursorValueInput": { @@ -3610,7 +3666,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategorySumFields": { @@ -3624,7 +3680,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategorySumOrderBy": { @@ -3638,7 +3694,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryUpdateColumn": {}, @@ -3653,7 +3709,7 @@ export default { 187 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryVarPopFields": { @@ -3667,7 +3723,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryVarPopOrderBy": { @@ -3681,7 +3737,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryVarSampFields": { @@ -3695,7 +3751,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryVarSampOrderBy": { @@ -3709,7 +3765,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryVarianceFields": { @@ -3723,7 +3779,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelChatbotCategoryVarianceOrderBy": { @@ -3737,7 +3793,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelConstraint": {}, @@ -3746,7 +3802,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelInsertInput": { @@ -3754,7 +3810,7 @@ export default { 0 ], "categories": [ - 549 + 566 ], "labelId": [ 172 @@ -3763,56 +3819,56 @@ export default { 184 ], "questions": [ - 549 + 566 ], "subCategories": [ - 549 + 566 ], "tags": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LabelMaxFields": { "categories": [ - 549 + 566 ], "labelId": [ 172 ], "questions": [ - 549 + 566 ], "subCategories": [ - 549 + 566 ], "tags": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LabelMinFields": { "categories": [ - 549 + 566 ], "labelId": [ 172 ], "questions": [ - 549 + 566 ], "subCategories": [ - 549 + 566 ], "tags": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LabelMutationResponse": { @@ -3823,7 +3879,7 @@ export default { 174 ], "__typename": [ - 549 + 566 ] }, "LabelObjRelInsertInput": { @@ -3834,7 +3890,7 @@ export default { 226 ], "__typename": [ - 549 + 566 ] }, "LabelOnConflict": { @@ -3848,7 +3904,7 @@ export default { 178 ], "__typename": [ - 549 + 566 ] }, "LabelOrderBy": { @@ -3874,7 +3930,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LabelPkColumnsInput": { @@ -3882,7 +3938,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelSelectColumn": {}, @@ -3891,22 +3947,22 @@ export default { 0 ], "categories": [ - 549 + 566 ], "labelId": [ 172 ], "questions": [ - 549 + 566 ], "subCategories": [ - 549 + 566 ], "tags": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LabelStddevFields": { @@ -3914,7 +3970,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelStddevPopFields": { @@ -3922,7 +3978,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelStddevSampFields": { @@ -3930,7 +3986,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelStreamCursorInput": { @@ -3941,7 +3997,7 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "LabelStreamCursorValueInput": { @@ -3949,22 +4005,22 @@ export default { 0 ], "categories": [ - 549 + 566 ], "labelId": [ 172 ], "questions": [ - 549 + 566 ], "subCategories": [ - 549 + 566 ], "tags": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LabelSumFields": { @@ -3972,7 +4028,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "LabelUpdateColumn": {}, @@ -3987,7 +4043,7 @@ export default { 178 ], "__typename": [ - 549 + 566 ] }, "LabelVarPopFields": { @@ -3995,7 +4051,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelVarSampFields": { @@ -4003,7 +4059,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LabelVarianceFields": { @@ -4011,7 +4067,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "LengthEnum": { @@ -4104,10 +4160,10 @@ export default { } ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LengthEnumAggregate": { @@ -4118,7 +4174,7 @@ export default { 242 ], "__typename": [ - 549 + 566 ] }, "LengthEnumAggregateFields": { @@ -4141,7 +4197,7 @@ export default { 249 ], "__typename": [ - 549 + 566 ] }, "LengthEnumBoolExp": { @@ -4167,10 +4223,10 @@ export default { 327 ], "value": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "LengthEnumConstraint": {}, @@ -4182,26 +4238,26 @@ export default { 330 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LengthEnumMaxFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LengthEnumMinFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LengthEnumMutationResponse": { @@ -4212,7 +4268,7 @@ export default { 242 ], "__typename": [ - 549 + 566 ] }, "LengthEnumObjRelInsertInput": { @@ -4223,7 +4279,7 @@ export default { 252 ], "__typename": [ - 549 + 566 ] }, "LengthEnumOnConflict": { @@ -4237,7 +4293,7 @@ export default { 245 ], "__typename": [ - 549 + 566 ] }, "LengthEnumOrderBy": { @@ -4251,24 +4307,24 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "LengthEnumPkColumnsInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LengthEnumSelectColumn": {}, "LengthEnumSetInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LengthEnumStreamCursorInput": { @@ -4279,15 +4335,15 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "LengthEnumStreamCursorValueInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "LengthEnumUpdateColumn": {}, @@ -4299,33 +4355,33 @@ export default { 245 ], "__typename": [ - 549 + 566 ] }, "Message": { "content": [ - 549 + 566 ], "createdAt": [ - 712 + 729 ], "messageId": [ - 715 + 732 ], "messageTypeEnum": [ 282 ], "role": [ - 549 + 566 ], "thread": [ - 551 + 568 ], "threadId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "MessageAggregate": { @@ -4336,15 +4392,15 @@ export default { 261 ], "__typename": [ - 549 + 566 ] }, "MessageAggregateBoolExp": { "count": [ - 700 + 717 ], "__typename": [ - 549 + 566 ] }, "MessageAggregateFields": { @@ -4367,7 +4423,7 @@ export default { 272 ], "__typename": [ - 549 + 566 ] }, "MessageAggregateOrderBy": { @@ -4381,7 +4437,7 @@ export default { 273 ], "__typename": [ - 549 + 566 ] }, "MessageArrRelInsertInput": { @@ -4392,7 +4448,7 @@ export default { 275 ], "__typename": [ - 549 + 566 ] }, "MessageBoolExp": { @@ -4406,75 +4462,75 @@ export default { 267 ], "content": [ - 550 + 567 ], "createdAt": [ - 594 + 611 ], "messageId": [ - 695 + 712 ], "messageTypeEnum": [ 285 ], "role": [ - 550 + 567 ], "thread": [ - 559 + 576 ], "threadId": [ - 695 + 712 ], "__typename": [ - 549 + 566 ] }, "MessageConstraint": {}, "MessageInsertInput": { "content": [ - 549 + 566 ], "createdAt": [ - 712 + 729 ], "messageId": [ - 715 + 732 ], "messageTypeEnum": [ 291 ], "role": [ - 549 + 566 ], "thread": [ - 568 + 585 ], "threadId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "MessageMaxFields": { "content": [ - 549 + 566 ], "createdAt": [ - 712 + 729 ], "messageId": [ - 715 + 732 ], "role": [ - 549 + 566 ], "threadId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "MessageMaxOrderBy": { @@ -4494,27 +4550,27 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "MessageMinFields": { "content": [ - 549 + 566 ], "createdAt": [ - 712 + 729 ], "messageId": [ - 715 + 732 ], "role": [ - 549 + 566 ], "threadId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "MessageMinOrderBy": { @@ -4534,7 +4590,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "MessageMutationResponse": { @@ -4545,7 +4601,7 @@ export default { 261 ], "__typename": [ - 549 + 566 ] }, "MessageOnConflict": { @@ -4559,7 +4615,7 @@ export default { 267 ], "__typename": [ - 549 + 566 ] }, "MessageOrderBy": { @@ -4579,42 +4635,42 @@ export default { 324 ], "thread": [ - 570 + 587 ], "threadId": [ 324 ], "__typename": [ - 549 + 566 ] }, "MessagePkColumnsInput": { "messageId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "MessageSelectColumn": {}, "MessageSetInput": { "content": [ - 549 + 566 ], "createdAt": [ - 712 + 729 ], "messageId": [ - 715 + 732 ], "role": [ - 549 + 566 ], "threadId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "MessageStreamCursorInput": { @@ -4625,27 +4681,27 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "MessageStreamCursorValueInput": { "content": [ - 549 + 566 ], "createdAt": [ - 712 + 729 ], "messageId": [ - 715 + 732 ], "role": [ - 549 + 566 ], "threadId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnum": { @@ -4694,10 +4750,10 @@ export default { } ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumAggregate": { @@ -4708,7 +4764,7 @@ export default { 282 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumAggregateFields": { @@ -4731,7 +4787,7 @@ export default { 289 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumBoolExp": { @@ -4751,10 +4807,10 @@ export default { 263 ], "value": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumConstraint": {}, @@ -4763,26 +4819,26 @@ export default { 266 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumMaxFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumMinFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumMutationResponse": { @@ -4793,7 +4849,7 @@ export default { 282 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumObjRelInsertInput": { @@ -4804,7 +4860,7 @@ export default { 292 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumOnConflict": { @@ -4818,7 +4874,7 @@ export default { 285 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumOrderBy": { @@ -4829,24 +4885,24 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumPkColumnsInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumSelectColumn": {}, "MessageTypeEnumSetInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumStreamCursorInput": { @@ -4857,15 +4913,15 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumStreamCursorValueInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "MessageTypeEnumUpdateColumn": {}, @@ -4877,7 +4933,7 @@ export default { 285 ], "__typename": [ - 549 + 566 ] }, "MessageUpdateColumn": {}, @@ -4889,18 +4945,18 @@ export default { 267 ], "__typename": [ - 549 + 566 ] }, "ModelsEnum": { "name": [ - 549 + 566 ], "threads": [ - 551, + 568, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -4910,19 +4966,19 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "threadsAggregate": [ - 552, + 569, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -4932,19 +4988,19 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumAggregate": { @@ -4955,7 +5011,7 @@ export default { 303 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumAggregateFields": { @@ -4978,7 +5034,7 @@ export default { 312 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumBoolExp": { @@ -4992,19 +5048,19 @@ export default { 306 ], "name": [ - 550 + 567 ], "threads": [ - 559 + 576 ], "threadsAggregate": [ - 553 + 570 ], "value": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumConstraint": {}, @@ -5026,43 +5082,43 @@ export default { 308 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumInsertInput": { "name": [ - 549 + 566 ], "threads": [ - 556 + 573 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumMaxFields": { "name": [ - 549 + 566 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumMinFields": { "name": [ - 549 + 566 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumMutationResponse": { @@ -5073,7 +5129,7 @@ export default { 303 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumObjRelInsertInput": { @@ -5084,7 +5140,7 @@ export default { 315 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumOnConflict": { @@ -5098,7 +5154,7 @@ export default { 306 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumOrderBy": { @@ -5106,33 +5162,33 @@ export default { 324 ], "threadsAggregate": [ - 555 + 572 ], "value": [ 324 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumPkColumnsInput": { "name": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumSelectColumn": {}, "ModelsEnumSetInput": { "name": [ - 549 + 566 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumStreamCursorInput": { @@ -5143,18 +5199,18 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumStreamCursorValueInput": { "name": [ - 549 + 566 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ModelsEnumUpdateColumn": {}, @@ -5166,7 +5222,7 @@ export default { 306 ], "__typename": [ - 549 + 566 ] }, "OrderBy": {}, @@ -5190,31 +5246,31 @@ export default { 172 ], "preferredComplexity": [ - 549 + 566 ], "preferredLength": [ - 549 + 566 ], "preferredTone": [ - 549 + 566 ], "preferredType": [ - 549 + 566 ], "toneEnum": [ - 614 + 631 ], "typeEnum": [ - 633 + 650 ], "user": [ - 652 + 669 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PreferenceAggregate": { @@ -5225,21 +5281,21 @@ export default { 325 ], "__typename": [ - 549 + 566 ] }, "PreferenceAggregateBoolExp": { "bool_and": [ - 701 + 718 ], "bool_or": [ - 702 + 719 ], "count": [ - 703 + 720 ], "__typename": [ - 549 + 566 ] }, "PreferenceAggregateFields": { @@ -5286,7 +5342,7 @@ export default { 365 ], "__typename": [ - 549 + 566 ] }, "PreferenceAggregateOrderBy": { @@ -5324,7 +5380,7 @@ export default { 366 ], "__typename": [ - 549 + 566 ] }, "PreferenceArrRelInsertInput": { @@ -5335,7 +5391,7 @@ export default { 342 ], "__typename": [ - 549 + 566 ] }, "PreferenceAvgFields": { @@ -5346,7 +5402,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PreferenceAvgOrderBy": { @@ -5357,7 +5413,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceBoolExp": { @@ -5389,31 +5445,31 @@ export default { 173 ], "preferredComplexity": [ - 550 + 567 ], "preferredLength": [ - 550 + 567 ], "preferredTone": [ - 550 + 567 ], "preferredType": [ - 550 + 567 ], "toneEnum": [ - 617 + 634 ], "typeEnum": [ - 636 + 653 ], "user": [ - 655 + 672 ], "userId": [ - 695 + 712 ], "__typename": [ - 549 + 566 ] }, "PreferenceConstraint": {}, @@ -5425,7 +5481,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PreferenceInsertInput": { @@ -5448,31 +5504,31 @@ export default { 172 ], "preferredComplexity": [ - 549 + 566 ], "preferredLength": [ - 549 + 566 ], "preferredTone": [ - 549 + 566 ], "preferredType": [ - 549 + 566 ], "toneEnum": [ - 623 + 640 ], "typeEnum": [ - 642 + 659 ], "user": [ - 661 + 678 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PreferenceMaxFields": { @@ -5483,22 +5539,22 @@ export default { 172 ], "preferredComplexity": [ - 549 + 566 ], "preferredLength": [ - 549 + 566 ], "preferredTone": [ - 549 + 566 ], "preferredType": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PreferenceMaxOrderBy": { @@ -5524,7 +5580,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceMinFields": { @@ -5535,22 +5591,22 @@ export default { 172 ], "preferredComplexity": [ - 549 + 566 ], "preferredLength": [ - 549 + 566 ], "preferredTone": [ - 549 + 566 ], "preferredType": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PreferenceMinOrderBy": { @@ -5576,7 +5632,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceMutationResponse": { @@ -5587,7 +5643,7 @@ export default { 325 ], "__typename": [ - 549 + 566 ] }, "PreferenceOnConflict": { @@ -5601,7 +5657,7 @@ export default { 333 ], "__typename": [ - 549 + 566 ] }, "PreferenceOrderBy": { @@ -5636,19 +5692,19 @@ export default { 324 ], "toneEnum": [ - 625 + 642 ], "typeEnum": [ - 644 + 661 ], "user": [ - 663 + 680 ], "userId": [ 324 ], "__typename": [ - 549 + 566 ] }, "PreferencePkColumnsInput": { @@ -5656,7 +5712,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PreferenceSelectColumn": {}, @@ -5673,22 +5729,22 @@ export default { 172 ], "preferredComplexity": [ - 549 + 566 ], "preferredLength": [ - 549 + 566 ], "preferredTone": [ - 549 + 566 ], "preferredType": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PreferenceStddevFields": { @@ -5699,7 +5755,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PreferenceStddevOrderBy": { @@ -5710,7 +5766,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceStddevPopFields": { @@ -5721,7 +5777,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PreferenceStddevPopOrderBy": { @@ -5732,7 +5788,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceStddevSampFields": { @@ -5743,7 +5799,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PreferenceStddevSampOrderBy": { @@ -5754,7 +5810,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceStreamCursorInput": { @@ -5765,7 +5821,7 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "PreferenceStreamCursorValueInput": { @@ -5779,22 +5835,22 @@ export default { 172 ], "preferredComplexity": [ - 549 + 566 ], "preferredLength": [ - 549 + 566 ], "preferredTone": [ - 549 + 566 ], "preferredType": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PreferenceSumFields": { @@ -5805,7 +5861,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PreferenceSumOrderBy": { @@ -5816,7 +5872,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceUpdateColumn": {}, @@ -5831,7 +5887,7 @@ export default { 333 ], "__typename": [ - 549 + 566 ] }, "PreferenceVarPopFields": { @@ -5842,7 +5898,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PreferenceVarPopOrderBy": { @@ -5853,7 +5909,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceVarSampFields": { @@ -5864,7 +5920,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PreferenceVarSampOrderBy": { @@ -5875,7 +5931,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PreferenceVarianceFields": { @@ -5886,7 +5942,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PreferenceVarianceOrderBy": { @@ -5897,7 +5953,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "Prompt": { @@ -5946,19 +6002,19 @@ export default { } ], "content": [ - 549 + 566 ], "promptId": [ 172 ], "promptName": [ - 549 + 566 ], "promptTypeEnum": [ 440 ], "type": [ - 549 + 566 ], "users": [ 461, @@ -6005,7 +6061,7 @@ export default { } ], "__typename": [ - 549 + 566 ] }, "PromptAggregate": { @@ -6016,15 +6072,15 @@ export default { 367 ], "__typename": [ - 549 + 566 ] }, "PromptAggregateBoolExp": { "count": [ - 704 + 721 ], "__typename": [ - 549 + 566 ] }, "PromptAggregateFields": { @@ -6071,7 +6127,7 @@ export default { 505 ], "__typename": [ - 549 + 566 ] }, "PromptAggregateOrderBy": { @@ -6109,7 +6165,7 @@ export default { 506 ], "__typename": [ - 549 + 566 ] }, "PromptArrRelInsertInput": { @@ -6120,7 +6176,7 @@ export default { 425 ], "__typename": [ - 549 + 566 ] }, "PromptAvgFields": { @@ -6128,7 +6184,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptAvgOrderBy": { @@ -6136,7 +6192,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptBoolExp": { @@ -6156,19 +6212,19 @@ export default { 378 ], "content": [ - 550 + 567 ], "promptId": [ 173 ], "promptName": [ - 550 + 567 ], "promptTypeEnum": [ 443 ], "type": [ - 550 + 567 ], "users": [ 469 @@ -6177,7 +6233,7 @@ export default { 463 ], "__typename": [ - 549 + 566 ] }, "PromptChatbot": { @@ -6194,7 +6250,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotAggregate": { @@ -6205,15 +6261,15 @@ export default { 376 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotAggregateBoolExp": { "count": [ - 705 + 722 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotAggregateFields": { @@ -6260,7 +6316,7 @@ export default { 414 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotAggregateOrderBy": { @@ -6298,7 +6354,7 @@ export default { 415 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotArrRelInsertInput": { @@ -6309,7 +6365,7 @@ export default { 393 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotAvgFields": { @@ -6320,7 +6376,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotAvgOrderBy": { @@ -6331,7 +6387,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotBoolExp": { @@ -6357,7 +6413,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotConstraint": {}, @@ -6369,7 +6425,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotInsertInput": { @@ -6386,7 +6442,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotMaxFields": { @@ -6397,7 +6453,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotMaxOrderBy": { @@ -6408,7 +6464,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotMinFields": { @@ -6419,7 +6475,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotMinOrderBy": { @@ -6430,7 +6486,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotMutationResponse": { @@ -6441,7 +6497,7 @@ export default { 376 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotOnConflict": { @@ -6455,7 +6511,7 @@ export default { 384 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotOrderBy": { @@ -6472,7 +6528,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotPkColumnsInput": { @@ -6483,7 +6539,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotSelectColumn": {}, @@ -6495,7 +6551,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotStddevFields": { @@ -6506,7 +6562,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotStddevOrderBy": { @@ -6517,7 +6573,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotStddevPopFields": { @@ -6528,7 +6584,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotStddevPopOrderBy": { @@ -6539,7 +6595,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotStddevSampFields": { @@ -6550,7 +6606,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotStddevSampOrderBy": { @@ -6561,7 +6617,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotStreamCursorInput": { @@ -6572,7 +6628,7 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotStreamCursorValueInput": { @@ -6583,7 +6639,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotSumFields": { @@ -6594,7 +6650,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotSumOrderBy": { @@ -6605,7 +6661,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotUpdateColumn": {}, @@ -6620,7 +6676,7 @@ export default { 384 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotVarPopFields": { @@ -6631,7 +6687,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotVarPopOrderBy": { @@ -6642,7 +6698,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotVarSampFields": { @@ -6653,7 +6709,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotVarSampOrderBy": { @@ -6664,7 +6720,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotVarianceFields": { @@ -6675,7 +6731,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptChatbotVarianceOrderBy": { @@ -6686,7 +6742,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptConstraint": {}, @@ -6695,7 +6751,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptInsertInput": { @@ -6703,42 +6759,42 @@ export default { 381 ], "content": [ - 549 + 566 ], "promptId": [ 172 ], "promptName": [ - 549 + 566 ], "promptTypeEnum": [ 449 ], "type": [ - 549 + 566 ], "users": [ 466 ], "__typename": [ - 549 + 566 ] }, "PromptMaxFields": { "content": [ - 549 + 566 ], "promptId": [ 172 ], "promptName": [ - 549 + 566 ], "type": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptMaxOrderBy": { @@ -6755,24 +6811,24 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptMinFields": { "content": [ - 549 + 566 ], "promptId": [ 172 ], "promptName": [ - 549 + 566 ], "type": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptMinOrderBy": { @@ -6789,7 +6845,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptMutationResponse": { @@ -6800,7 +6856,7 @@ export default { 367 ], "__typename": [ - 549 + 566 ] }, "PromptObjRelInsertInput": { @@ -6811,7 +6867,7 @@ export default { 425 ], "__typename": [ - 549 + 566 ] }, "PromptOnConflict": { @@ -6825,7 +6881,7 @@ export default { 375 ], "__typename": [ - 549 + 566 ] }, "PromptOrderBy": { @@ -6851,7 +6907,7 @@ export default { 465 ], "__typename": [ - 549 + 566 ] }, "PromptPkColumnsInput": { @@ -6859,25 +6915,25 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptSelectColumn": {}, "PromptSetInput": { "content": [ - 549 + 566 ], "promptId": [ 172 ], "promptName": [ - 549 + 566 ], "type": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptStddevFields": { @@ -6885,7 +6941,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptStddevOrderBy": { @@ -6893,7 +6949,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptStddevPopFields": { @@ -6901,7 +6957,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptStddevPopOrderBy": { @@ -6909,7 +6965,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptStddevSampFields": { @@ -6917,7 +6973,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptStddevSampOrderBy": { @@ -6925,7 +6981,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptStreamCursorInput": { @@ -6936,24 +6992,24 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "PromptStreamCursorValueInput": { "content": [ - 549 + 566 ], "promptId": [ 172 ], "promptName": [ - 549 + 566 ], "type": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptSumFields": { @@ -6961,7 +7017,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptSumOrderBy": { @@ -6969,7 +7025,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnum": { @@ -7018,10 +7074,10 @@ export default { } ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumAggregate": { @@ -7032,7 +7088,7 @@ export default { 440 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumAggregateFields": { @@ -7055,7 +7111,7 @@ export default { 447 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumBoolExp": { @@ -7075,10 +7131,10 @@ export default { 369 ], "value": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumConstraint": {}, @@ -7087,26 +7143,26 @@ export default { 372 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumMaxFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumMinFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumMutationResponse": { @@ -7117,7 +7173,7 @@ export default { 440 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumObjRelInsertInput": { @@ -7128,7 +7184,7 @@ export default { 450 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumOnConflict": { @@ -7142,7 +7198,7 @@ export default { 443 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumOrderBy": { @@ -7153,24 +7209,24 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumPkColumnsInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumSelectColumn": {}, "PromptTypeEnumSetInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumStreamCursorInput": { @@ -7181,15 +7237,15 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumStreamCursorValueInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "PromptTypeEnumUpdateColumn": {}, @@ -7201,7 +7257,7 @@ export default { 443 ], "__typename": [ - 549 + 566 ] }, "PromptUpdateColumn": {}, @@ -7216,7 +7272,7 @@ export default { 375 ], "__typename": [ - 549 + 566 ] }, "PromptUser": { @@ -7227,13 +7283,13 @@ export default { 172 ], "user": [ - 652 + 669 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PromptUserAggregate": { @@ -7244,15 +7300,15 @@ export default { 461 ], "__typename": [ - 549 + 566 ] }, "PromptUserAggregateBoolExp": { "count": [ - 706 + 723 ], "__typename": [ - 549 + 566 ] }, "PromptUserAggregateFields": { @@ -7299,7 +7355,7 @@ export default { 499 ], "__typename": [ - 549 + 566 ] }, "PromptUserAggregateOrderBy": { @@ -7337,7 +7393,7 @@ export default { 500 ], "__typename": [ - 549 + 566 ] }, "PromptUserArrRelInsertInput": { @@ -7348,7 +7404,7 @@ export default { 478 ], "__typename": [ - 549 + 566 ] }, "PromptUserAvgFields": { @@ -7356,7 +7412,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptUserAvgOrderBy": { @@ -7364,7 +7420,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserBoolExp": { @@ -7384,13 +7440,13 @@ export default { 173 ], "user": [ - 655 + 672 ], "userId": [ - 695 + 712 ], "__typename": [ - 549 + 566 ] }, "PromptUserConstraint": {}, @@ -7399,7 +7455,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptUserInsertInput": { @@ -7410,13 +7466,13 @@ export default { 172 ], "user": [ - 661 + 678 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PromptUserMaxFields": { @@ -7424,10 +7480,10 @@ export default { 172 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PromptUserMaxOrderBy": { @@ -7438,7 +7494,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserMinFields": { @@ -7446,10 +7502,10 @@ export default { 172 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PromptUserMinOrderBy": { @@ -7460,7 +7516,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserMutationResponse": { @@ -7471,7 +7527,7 @@ export default { 461 ], "__typename": [ - 549 + 566 ] }, "PromptUserOnConflict": { @@ -7485,7 +7541,7 @@ export default { 469 ], "__typename": [ - 549 + 566 ] }, "PromptUserOrderBy": { @@ -7496,13 +7552,13 @@ export default { 324 ], "user": [ - 663 + 680 ], "userId": [ 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserPkColumnsInput": { @@ -7510,10 +7566,10 @@ export default { 172 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PromptUserSelectColumn": {}, @@ -7522,10 +7578,10 @@ export default { 172 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PromptUserStddevFields": { @@ -7533,7 +7589,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptUserStddevOrderBy": { @@ -7541,7 +7597,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserStddevPopFields": { @@ -7549,7 +7605,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptUserStddevPopOrderBy": { @@ -7557,7 +7613,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserStddevSampFields": { @@ -7565,7 +7621,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptUserStddevSampOrderBy": { @@ -7573,7 +7629,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserStreamCursorInput": { @@ -7584,7 +7640,7 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "PromptUserStreamCursorValueInput": { @@ -7592,10 +7648,10 @@ export default { 172 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "PromptUserSumFields": { @@ -7603,7 +7659,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "PromptUserSumOrderBy": { @@ -7611,7 +7667,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserUpdateColumn": {}, @@ -7626,7 +7682,7 @@ export default { 469 ], "__typename": [ - 549 + 566 ] }, "PromptUserVarPopFields": { @@ -7634,7 +7690,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptUserVarPopOrderBy": { @@ -7642,7 +7698,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserVarSampFields": { @@ -7650,7 +7706,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptUserVarSampOrderBy": { @@ -7658,7 +7714,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptUserVarianceFields": { @@ -7666,7 +7722,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptUserVarianceOrderBy": { @@ -7674,7 +7730,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptVarPopFields": { @@ -7682,7 +7738,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptVarPopOrderBy": { @@ -7690,7 +7746,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptVarSampFields": { @@ -7698,7 +7754,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptVarSampOrderBy": { @@ -7706,7 +7762,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "PromptVarianceFields": { @@ -7714,7 +7770,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "PromptVarianceOrderBy": { @@ -7722,27 +7778,27 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "Referral": { "referralCode": [ - 549 + 566 ], "referrerId": [ - 715 + 732 ], "user": [ - 652 + 669 ], "userByUserId": [ - 652 + 669 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ReferralAggregate": { @@ -7753,15 +7809,15 @@ export default { 507 ], "__typename": [ - 549 + 566 ] }, "ReferralAggregateBoolExp": { "count": [ - 707 + 724 ], "__typename": [ - 549 + 566 ] }, "ReferralAggregateFields": { @@ -7784,7 +7840,7 @@ export default { 518 ], "__typename": [ - 549 + 566 ] }, "ReferralAggregateOrderBy": { @@ -7798,7 +7854,7 @@ export default { 519 ], "__typename": [ - 549 + 566 ] }, "ReferralArrRelInsertInput": { @@ -7809,7 +7865,7 @@ export default { 521 ], "__typename": [ - 549 + 566 ] }, "ReferralBoolExp": { @@ -7823,57 +7879,57 @@ export default { 513 ], "referralCode": [ - 550 + 567 ], "referrerId": [ - 695 + 712 ], "user": [ - 655 + 672 ], "userByUserId": [ - 655 + 672 ], "userId": [ - 695 + 712 ], "__typename": [ - 549 + 566 ] }, "ReferralConstraint": {}, "ReferralInsertInput": { "referralCode": [ - 549 + 566 ], "referrerId": [ - 715 + 732 ], "user": [ - 661 + 678 ], "userByUserId": [ - 661 + 678 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ReferralMaxFields": { "referralCode": [ - 549 + 566 ], "referrerId": [ - 715 + 732 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ReferralMaxOrderBy": { @@ -7887,21 +7943,21 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ReferralMinFields": { "referralCode": [ - 549 + 566 ], "referrerId": [ - 715 + 732 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ReferralMinOrderBy": { @@ -7915,7 +7971,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ReferralMutationResponse": { @@ -7926,7 +7982,7 @@ export default { 507 ], "__typename": [ - 549 + 566 ] }, "ReferralOnConflict": { @@ -7940,7 +7996,7 @@ export default { 513 ], "__typename": [ - 549 + 566 ] }, "ReferralOrderBy": { @@ -7951,39 +8007,39 @@ export default { 324 ], "user": [ - 663 + 680 ], "userByUserId": [ - 663 + 680 ], "userId": [ 324 ], "__typename": [ - 549 + 566 ] }, "ReferralPkColumnsInput": { "referralCode": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ReferralSelectColumn": {}, "ReferralSetInput": { "referralCode": [ - 549 + 566 ], "referrerId": [ - 715 + 732 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ReferralStreamCursorInput": { @@ -7994,21 +8050,21 @@ export default { 170 ], "__typename": [ - 549 + 566 ] }, "ReferralStreamCursorValueInput": { "referralCode": [ - 549 + 566 ], "referrerId": [ - 715 + 732 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ReferralUpdateColumn": {}, @@ -8020,27 +8076,33 @@ export default { 513 ], "__typename": [ - 549 + 566 ] }, "SocialFollowing": { + "chatbot": [ + 70 + ], "createdAt": [ - 712 + 729 ], "followeeId": [ - 715 + 732 + ], + "followeeIdChatbot": [ + 172 ], "followerId": [ - 715 + 732 ], "user": [ - 652 + 669 ], "userByFollowerId": [ - 652 + 669 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingAggregate": { @@ -8051,23 +8113,26 @@ export default { 530 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingAggregateBoolExp": { "count": [ - 708 + 725 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingAggregateFields": { + "avg": [ + 536 + ], "count": [ 172, { "columns": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "distinct": [ @@ -8076,98 +8141,182 @@ export default { } ], "max": [ - 538 + 541 ], "min": [ - 540 + 543 ], - "__typename": [ + "stddev": [ 549 + ], + "stddevPop": [ + 551 + ], + "stddevSamp": [ + 553 + ], + "sum": [ + 557 + ], + "varPop": [ + 560 + ], + "varSamp": [ + 562 + ], + "variance": [ + 564 + ], + "__typename": [ + 566 ] }, "SocialFollowingAggregateOrderBy": { + "avg": [ + 537 + ], "count": [ 324 ], "max": [ - 539 + 542 ], "min": [ - 541 + 544 + ], + "stddev": [ + 550 + ], + "stddevPop": [ + 552 + ], + "stddevSamp": [ + 554 + ], + "sum": [ + 558 + ], + "varPop": [ + 561 + ], + "varSamp": [ + 563 + ], + "variance": [ + 565 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingArrRelInsertInput": { "data": [ - 537 + 540 ], "__typename": [ - 549 + 566 + ] + }, + "SocialFollowingAvgFields": { + "followeeIdChatbot": [ + 171 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingAvgOrderBy": { + "followeeIdChatbot": [ + 324 + ], + "__typename": [ + 566 ] }, "SocialFollowingBoolExp": { "_and": [ - 536 + 538 ], "_not": [ - 536 + 538 ], "_or": [ - 536 + 538 + ], + "chatbot": [ + 78 ], "createdAt": [ - 594 + 611 ], "followeeId": [ - 695 + 712 + ], + "followeeIdChatbot": [ + 173 ], "followerId": [ - 695 + 712 ], "user": [ - 655 + 672 ], "userByFollowerId": [ - 655 + 672 ], "__typename": [ - 549 + 566 + ] + }, + "SocialFollowingIncInput": { + "followeeIdChatbot": [ + 172 + ], + "__typename": [ + 566 ] }, "SocialFollowingInsertInput": { + "chatbot": [ + 127 + ], "createdAt": [ - 712 + 729 ], "followeeId": [ - 715 + 732 + ], + "followeeIdChatbot": [ + 172 ], "followerId": [ - 715 + 732 ], "user": [ - 661 + 678 ], "userByFollowerId": [ - 661 + 678 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingMaxFields": { "createdAt": [ - 712 + 729 ], "followeeId": [ - 715 + 732 + ], + "followeeIdChatbot": [ + 172 ], "followerId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingMaxOrderBy": { @@ -8177,25 +8326,31 @@ export default { "followeeId": [ 324 ], + "followeeIdChatbot": [ + 324 + ], "followerId": [ 324 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingMinFields": { "createdAt": [ - 712 + 729 ], "followeeId": [ - 715 + 732 + ], + "followeeIdChatbot": [ + 172 ], "followerId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingMinOrderBy": { @@ -8205,11 +8360,14 @@ export default { "followeeId": [ 324 ], + "followeeIdChatbot": [ + 324 + ], "followerId": [ 324 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingMutationResponse": { @@ -8220,141 +8378,268 @@ export default { 530 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingOrderBy": { + "chatbot": [ + 129 + ], "createdAt": [ 324 ], "followeeId": [ 324 ], + "followeeIdChatbot": [ + 324 + ], "followerId": [ 324 ], "user": [ - 663 + 680 ], "userByFollowerId": [ - 663 + 680 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingSelectColumn": {}, "SocialFollowingSetInput": { "createdAt": [ - 712 + 729 ], "followeeId": [ - 715 + 732 + ], + "followeeIdChatbot": [ + 172 ], "followerId": [ - 715 + 732 ], "__typename": [ - 549 + 566 + ] + }, + "SocialFollowingStddevFields": { + "followeeIdChatbot": [ + 171 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingStddevOrderBy": { + "followeeIdChatbot": [ + 324 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingStddevPopFields": { + "followeeIdChatbot": [ + 171 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingStddevPopOrderBy": { + "followeeIdChatbot": [ + 324 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingStddevSampFields": { + "followeeIdChatbot": [ + 171 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingStddevSampOrderBy": { + "followeeIdChatbot": [ + 324 + ], + "__typename": [ + 566 ] }, "SocialFollowingStreamCursorInput": { "initialValue": [ - 547 + 556 ], "ordering": [ 170 ], "__typename": [ - 549 + 566 ] }, "SocialFollowingStreamCursorValueInput": { "createdAt": [ - 712 + 729 ], "followeeId": [ - 715 + 732 + ], + "followeeIdChatbot": [ + 172 ], "followerId": [ - 715 + 732 ], "__typename": [ - 549 + 566 + ] + }, + "SocialFollowingSumFields": { + "followeeIdChatbot": [ + 172 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingSumOrderBy": { + "followeeIdChatbot": [ + 324 + ], + "__typename": [ + 566 ] }, "SocialFollowingUpdates": { + "_inc": [ + 539 + ], "_set": [ - 545 + 548 ], "where": [ - 536 + 538 ], "__typename": [ - 549 + 566 + ] + }, + "SocialFollowingVarPopFields": { + "followeeIdChatbot": [ + 171 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingVarPopOrderBy": { + "followeeIdChatbot": [ + 324 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingVarSampFields": { + "followeeIdChatbot": [ + 171 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingVarSampOrderBy": { + "followeeIdChatbot": [ + 324 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingVarianceFields": { + "followeeIdChatbot": [ + 171 + ], + "__typename": [ + 566 + ] + }, + "SocialFollowingVarianceOrderBy": { + "followeeIdChatbot": [ + 324 + ], + "__typename": [ + 566 ] }, "String": {}, "StringComparisonExp": { "_eq": [ - 549 + 566 ], "_gt": [ - 549 + 566 ], "_gte": [ - 549 + 566 ], "_ilike": [ - 549 + 566 ], "_in": [ - 549 + 566 ], "_iregex": [ - 549 + 566 ], "_isNull": [ 0 ], "_like": [ - 549 + 566 ], "_lt": [ - 549 + 566 ], "_lte": [ - 549 + 566 ], "_neq": [ - 549 + 566 ], "_nilike": [ - 549 + 566 ], "_nin": [ - 549 + 566 ], "_niregex": [ - 549 + 566 ], "_nlike": [ - 549 + 566 ], "_nregex": [ - 549 + 566 ], "_nsimilar": [ - 549 + 566 ], "_regex": [ - 549 + 566 ], "_similar": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "Thread": { @@ -8365,7 +8650,7 @@ export default { 172 ], "createdAt": [ - 712 + 729 ], "isApproved": [ 0 @@ -8427,55 +8712,55 @@ export default { 303 ], "threadId": [ - 715 + 732 ], "updatedAt": [ - 712 + 729 ], "user": [ - 652 + 669 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ThreadAggregate": { "aggregate": [ - 554 + 571 ], "nodes": [ - 551 + 568 ], "__typename": [ - 549 + 566 ] }, "ThreadAggregateBoolExp": { "bool_and": [ - 709 + 726 ], "bool_or": [ - 710 + 727 ], "count": [ - 711 + 728 ], "__typename": [ - 549 + 566 ] }, "ThreadAggregateFields": { "avg": [ - 557 + 574 ], "count": [ 172, { "columns": [ - 572, + 589, "[ThreadSelectColumn!]" ], "distinct": [ @@ -8484,83 +8769,83 @@ export default { } ], "max": [ - 563 + 580 ], "min": [ - 565 + 582 ], "stddev": [ - 576 + 593 ], "stddevPop": [ - 578 + 595 ], "stddevSamp": [ - 580 + 597 ], "sum": [ - 584 + 601 ], "varPop": [ - 588 + 605 ], "varSamp": [ - 590 + 607 ], "variance": [ - 592 + 609 ], "__typename": [ - 549 + 566 ] }, "ThreadAggregateOrderBy": { "avg": [ - 558 + 575 ], "count": [ 324 ], "max": [ - 564 + 581 ], "min": [ - 566 + 583 ], "stddev": [ - 577 + 594 ], "stddevPop": [ - 579 + 596 ], "stddevSamp": [ - 581 + 598 ], "sum": [ - 585 + 602 ], "varPop": [ - 589 + 606 ], "varSamp": [ - 591 + 608 ], "variance": [ - 593 + 610 ], "__typename": [ - 549 + 566 ] }, "ThreadArrRelInsertInput": { "data": [ - 562 + 579 ], "onConflict": [ - 569 + 586 ], "__typename": [ - 549 + 566 ] }, "ThreadAvgFields": { @@ -8568,7 +8853,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ThreadAvgOrderBy": { @@ -8576,18 +8861,18 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadBoolExp": { "_and": [ - 559 + 576 ], "_not": [ - 559 + 576 ], "_or": [ - 559 + 576 ], "chatbot": [ 78 @@ -8596,7 +8881,7 @@ export default { 173 ], "createdAt": [ - 594 + 611 ], "isApproved": [ 1 @@ -8620,19 +8905,19 @@ export default { 306 ], "threadId": [ - 695 + 712 ], "updatedAt": [ - 594 + 611 ], "user": [ - 655 + 672 ], "userId": [ - 695 + 712 ], "__typename": [ - 549 + 566 ] }, "ThreadConstraint": {}, @@ -8641,7 +8926,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ThreadInsertInput": { @@ -8652,7 +8937,7 @@ export default { 172 ], "createdAt": [ - 712 + 729 ], "isApproved": [ 0 @@ -8673,19 +8958,19 @@ export default { 314 ], "threadId": [ - 715 + 732 ], "updatedAt": [ - 712 + 729 ], "user": [ - 661 + 678 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ThreadMaxFields": { @@ -8693,19 +8978,19 @@ export default { 172 ], "createdAt": [ - 712 + 729 ], "threadId": [ - 715 + 732 ], "updatedAt": [ - 712 + 729 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ThreadMaxOrderBy": { @@ -8725,7 +9010,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadMinFields": { @@ -8733,19 +9018,19 @@ export default { 172 ], "createdAt": [ - 712 + 729 ], "threadId": [ - 715 + 732 ], "updatedAt": [ - 712 + 729 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ThreadMinOrderBy": { @@ -8765,7 +9050,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadMutationResponse": { @@ -8773,35 +9058,35 @@ export default { 172 ], "returning": [ - 551 + 568 ], "__typename": [ - 549 + 566 ] }, "ThreadObjRelInsertInput": { "data": [ - 562 + 579 ], "onConflict": [ - 569 + 586 ], "__typename": [ - 549 + 566 ] }, "ThreadOnConflict": { "constraint": [ - 560 + 577 ], "updateColumns": [ - 586 + 603 ], "where": [ - 559 + 576 ], "__typename": [ - 549 + 566 ] }, "ThreadOrderBy": { @@ -8839,21 +9124,21 @@ export default { 324 ], "user": [ - 663 + 680 ], "userId": [ 324 ], "__typename": [ - 549 + 566 ] }, "ThreadPkColumnsInput": { "threadId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ThreadSelectColumn": {}, @@ -8864,7 +9149,7 @@ export default { 172 ], "createdAt": [ - 712 + 729 ], "isApproved": [ 0 @@ -8879,16 +9164,16 @@ export default { 308 ], "threadId": [ - 715 + 732 ], "updatedAt": [ - 712 + 729 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ThreadStddevFields": { @@ -8896,7 +9181,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ThreadStddevOrderBy": { @@ -8904,7 +9189,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadStddevPopFields": { @@ -8912,7 +9197,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ThreadStddevPopOrderBy": { @@ -8920,7 +9205,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadStddevSampFields": { @@ -8928,7 +9213,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ThreadStddevSampOrderBy": { @@ -8936,18 +9221,18 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadStreamCursorInput": { "initialValue": [ - 583 + 600 ], "ordering": [ 170 ], "__typename": [ - 549 + 566 ] }, "ThreadStreamCursorValueInput": { @@ -8955,7 +9240,7 @@ export default { 172 ], "createdAt": [ - 712 + 729 ], "isApproved": [ 0 @@ -8970,16 +9255,16 @@ export default { 308 ], "threadId": [ - 715 + 732 ], "updatedAt": [ - 712 + 729 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "ThreadSumFields": { @@ -8987,7 +9272,7 @@ export default { 172 ], "__typename": [ - 549 + 566 ] }, "ThreadSumOrderBy": { @@ -8995,22 +9280,22 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadUpdateColumn": {}, "ThreadUpdates": { "_inc": [ - 561 + 578 ], "_set": [ - 575 + 592 ], "where": [ - 559 + 576 ], "__typename": [ - 549 + 566 ] }, "ThreadVarPopFields": { @@ -9018,7 +9303,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ThreadVarPopOrderBy": { @@ -9026,7 +9311,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadVarSampFields": { @@ -9034,7 +9319,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ThreadVarSampOrderBy": { @@ -9042,7 +9327,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ThreadVarianceFields": { @@ -9050,7 +9335,7 @@ export default { 171 ], "__typename": [ - 549 + 566 ] }, "ThreadVarianceOrderBy": { @@ -9058,53 +9343,53 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "TimestamptzComparisonExp": { "_eq": [ - 712 + 729 ], "_gt": [ - 712 + 729 ], "_gte": [ - 712 + 729 ], "_in": [ - 712 + 729 ], "_isNull": [ 0 ], "_lt": [ - 712 + 729 ], "_lte": [ - 712 + 729 ], "_neq": [ - 712 + 729 ], "_nin": [ - 712 + 729 ], "__typename": [ - 549 + 566 ] }, "Token": { "token": [ - 549 + 566 ], "tokenExpiry": [ - 712 + 729 ], "userTokens": [ - 670, + 687, { "distinctOn": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "limit": [ @@ -9114,19 +9399,19 @@ export default { 172 ], "orderBy": [ - 685, + 702, "[UserTokenOrderBy!]" ], "where": [ - 676 + 693 ] } ], "userTokensAggregate": [ - 671, + 688, { "distinctOn": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "limit": [ @@ -9136,27 +9421,27 @@ export default { 172 ], "orderBy": [ - 685, + 702, "[UserTokenOrderBy!]" ], "where": [ - 676 + 693 ] } ], "__typename": [ - 549 + 566 ] }, "TokenAggregate": { "aggregate": [ - 597 + 614 ], "nodes": [ - 595 + 612 ], "__typename": [ - 549 + 566 ] }, "TokenAggregateFields": { @@ -9164,7 +9449,7 @@ export default { 172, { "columns": [ - 608, + 625, "[TokenSelectColumn!]" ], "distinct": [ @@ -9173,76 +9458,76 @@ export default { } ], "max": [ - 601 + 618 ], "min": [ - 602 + 619 ], "__typename": [ - 549 + 566 ] }, "TokenBoolExp": { "_and": [ - 598 + 615 ], "_not": [ - 598 + 615 ], "_or": [ - 598 + 615 ], "token": [ - 550 + 567 ], "tokenExpiry": [ - 594 + 611 ], "userTokens": [ - 676 + 693 ], "userTokensAggregate": [ - 672 + 689 ], "__typename": [ - 549 + 566 ] }, "TokenConstraint": {}, "TokenInsertInput": { "token": [ - 549 + 566 ], "tokenExpiry": [ - 712 + 729 ], "userTokens": [ - 675 + 692 ], "__typename": [ - 549 + 566 ] }, "TokenMaxFields": { "token": [ - 549 + 566 ], "tokenExpiry": [ - 712 + 729 ], "__typename": [ - 549 + 566 ] }, "TokenMinFields": { "token": [ - 549 + 566 ], "tokenExpiry": [ - 712 + 729 ], "__typename": [ - 549 + 566 ] }, "TokenMutationResponse": { @@ -9250,35 +9535,35 @@ export default { 172 ], "returning": [ - 595 + 612 ], "__typename": [ - 549 + 566 ] }, "TokenObjRelInsertInput": { "data": [ - 600 + 617 ], "onConflict": [ - 605 + 622 ], "__typename": [ - 549 + 566 ] }, "TokenOnConflict": { "constraint": [ - 599 + 616 ], "updateColumns": [ - 612 + 629 ], "where": [ - 598 + 615 ], "__typename": [ - 549 + 566 ] }, "TokenOrderBy": { @@ -9289,64 +9574,64 @@ export default { 324 ], "userTokensAggregate": [ - 674 + 691 ], "__typename": [ - 549 + 566 ] }, "TokenPkColumnsInput": { "token": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "TokenSelectColumn": {}, "TokenSetInput": { "token": [ - 549 + 566 ], "tokenExpiry": [ - 712 + 729 ], "__typename": [ - 549 + 566 ] }, "TokenStreamCursorInput": { "initialValue": [ - 611 + 628 ], "ordering": [ 170 ], "__typename": [ - 549 + 566 ] }, "TokenStreamCursorValueInput": { "token": [ - 549 + 566 ], "tokenExpiry": [ - 712 + 729 ], "__typename": [ - 549 + 566 ] }, "TokenUpdateColumn": {}, "TokenUpdates": { "_set": [ - 609 + 626 ], "where": [ - 598 + 615 ], "__typename": [ - 549 + 566 ] }, "ToneEnum": { @@ -9439,21 +9724,21 @@ export default { } ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ToneEnumAggregate": { "aggregate": [ - 616 + 633 ], "nodes": [ - 614 + 631 ], "__typename": [ - 549 + 566 ] }, "ToneEnumAggregateFields": { @@ -9461,7 +9746,7 @@ export default { 172, { "columns": [ - 627, + 644, "[ToneEnumSelectColumn!]" ], "distinct": [ @@ -9470,24 +9755,24 @@ export default { } ], "max": [ - 620 + 637 ], "min": [ - 621 + 638 ], "__typename": [ - 549 + 566 ] }, "ToneEnumBoolExp": { "_and": [ - 617 + 634 ], "_not": [ - 617 + 634 ], "_or": [ - 617 + 634 ], "chatbots": [ 78 @@ -9502,10 +9787,10 @@ export default { 327 ], "value": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "ToneEnumConstraint": {}, @@ -9517,26 +9802,26 @@ export default { 330 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ToneEnumMaxFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ToneEnumMinFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ToneEnumMutationResponse": { @@ -9544,35 +9829,35 @@ export default { 172 ], "returning": [ - 614 + 631 ], "__typename": [ - 549 + 566 ] }, "ToneEnumObjRelInsertInput": { "data": [ - 619 + 636 ], "onConflict": [ - 624 + 641 ], "__typename": [ - 549 + 566 ] }, "ToneEnumOnConflict": { "constraint": [ - 618 + 635 ], "updateColumns": [ - 631 + 648 ], "where": [ - 617 + 634 ], "__typename": [ - 549 + 566 ] }, "ToneEnumOrderBy": { @@ -9586,55 +9871,55 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "ToneEnumPkColumnsInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ToneEnumSelectColumn": {}, "ToneEnumSetInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ToneEnumStreamCursorInput": { "initialValue": [ - 630 + 647 ], "ordering": [ 170 ], "__typename": [ - 549 + 566 ] }, "ToneEnumStreamCursorValueInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "ToneEnumUpdateColumn": {}, "ToneEnumUpdates": { "_set": [ - 628 + 645 ], "where": [ - 617 + 634 ], "__typename": [ - 549 + 566 ] }, "TypeEnum": { @@ -9727,21 +10012,21 @@ export default { } ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "TypeEnumAggregate": { "aggregate": [ - 635 + 652 ], "nodes": [ - 633 + 650 ], "__typename": [ - 549 + 566 ] }, "TypeEnumAggregateFields": { @@ -9749,7 +10034,7 @@ export default { 172, { "columns": [ - 646, + 663, "[TypeEnumSelectColumn!]" ], "distinct": [ @@ -9758,24 +10043,24 @@ export default { } ], "max": [ - 639 + 656 ], "min": [ - 640 + 657 ], "__typename": [ - 549 + 566 ] }, "TypeEnumBoolExp": { "_and": [ - 636 + 653 ], "_not": [ - 636 + 653 ], "_or": [ - 636 + 653 ], "chatbots": [ 78 @@ -9790,10 +10075,10 @@ export default { 327 ], "value": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "TypeEnumConstraint": {}, @@ -9805,26 +10090,26 @@ export default { 330 ], "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "TypeEnumMaxFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "TypeEnumMinFields": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "TypeEnumMutationResponse": { @@ -9832,35 +10117,35 @@ export default { 172 ], "returning": [ - 633 + 650 ], "__typename": [ - 549 + 566 ] }, "TypeEnumObjRelInsertInput": { "data": [ - 638 + 655 ], "onConflict": [ - 643 + 660 ], "__typename": [ - 549 + 566 ] }, "TypeEnumOnConflict": { "constraint": [ - 637 + 654 ], "updateColumns": [ - 650 + 667 ], "where": [ - 636 + 653 ], "__typename": [ - 549 + 566 ] }, "TypeEnumOrderBy": { @@ -9874,60 +10159,60 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "TypeEnumPkColumnsInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "TypeEnumSelectColumn": {}, "TypeEnumSetInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "TypeEnumStreamCursorInput": { "initialValue": [ - 649 + 666 ], "ordering": [ 170 ], "__typename": [ - 549 + 566 ] }, "TypeEnumStreamCursorValueInput": { "value": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "TypeEnumUpdateColumn": {}, "TypeEnumUpdates": { "_set": [ - 647 + 664 ], "where": [ - 636 + 653 ], "__typename": [ - 549 + 566 ] }, "User": { "bio": [ - 549 + 566 ], "chats": [ 30, @@ -9974,19 +10259,19 @@ export default { } ], "dateJoined": [ - 712 + 729 ], "email": [ - 549 + 566 ], "favouriteTopic": [ - 549 + 566 ], "followers": [ 530, { "distinctOn": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "limit": [ @@ -9996,11 +10281,11 @@ export default { 172 ], "orderBy": [ - 543, + 546, "[SocialFollowingOrderBy!]" ], "where": [ - 536 + 538 ] } ], @@ -10008,7 +10293,7 @@ export default { 531, { "distinctOn": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "limit": [ @@ -10018,11 +10303,11 @@ export default { 172 ], "orderBy": [ - 543, + 546, "[SocialFollowingOrderBy!]" ], "where": [ - 536 + 538 ] } ], @@ -10030,7 +10315,7 @@ export default { 530, { "distinctOn": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "limit": [ @@ -10040,11 +10325,11 @@ export default { 172 ], "orderBy": [ - 543, + 546, "[SocialFollowingOrderBy!]" ], "where": [ - 536 + 538 ] } ], @@ -10052,7 +10337,7 @@ export default { 531, { "distinctOn": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "limit": [ @@ -10062,11 +10347,11 @@ export default { 172 ], "orderBy": [ - 543, + 546, "[SocialFollowingOrderBy!]" ], "where": [ - 536 + 538 ] } ], @@ -10080,10 +10365,10 @@ export default { 0 ], "lastLogin": [ - 712 + 729 ], "password": [ - 549 + 566 ], "preferences": [ 325, @@ -10130,10 +10415,10 @@ export default { } ], "proUserSubscriptionId": [ - 549 + 566 ], "profilePicture": [ - 549 + 566 ], "prompts": [ 461, @@ -10268,16 +10553,16 @@ export default { } ], "role": [ - 714 + 731 ], "slug": [ - 549 + 566 ], "threads": [ - 551, + 568, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -10287,19 +10572,19 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "threadsAggregate": [ - 552, + 569, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -10309,22 +10594,22 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "userId": [ - 715 + 732 ], "userTokens": [ - 670, + 687, { "distinctOn": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "limit": [ @@ -10334,19 +10619,19 @@ export default { 172 ], "orderBy": [ - 685, + 702, "[UserTokenOrderBy!]" ], "where": [ - 676 + 693 ] } ], "userTokensAggregate": [ - 671, + 688, { "distinctOn": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "limit": [ @@ -10356,30 +10641,30 @@ export default { 172 ], "orderBy": [ - 685, + 702, "[UserTokenOrderBy!]" ], "where": [ - 676 + 693 ] } ], "username": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "UserAggregate": { "aggregate": [ - 654 + 671 ], "nodes": [ - 652 + 669 ], "__typename": [ - 549 + 566 ] }, "UserAggregateFields": { @@ -10387,7 +10672,7 @@ export default { 172, { "columns": [ - 666, + 683, "[UserSelectColumn!]" ], "distinct": [ @@ -10396,27 +10681,27 @@ export default { } ], "max": [ - 658 + 675 ], "min": [ - 659 + 676 ], "__typename": [ - 549 + 566 ] }, "UserBoolExp": { "_and": [ - 655 + 672 ], "_not": [ - 655 + 672 ], "_or": [ - 655 + 672 ], "bio": [ - 550 + 567 ], "chats": [ 38 @@ -10425,22 +10710,22 @@ export default { 32 ], "dateJoined": [ - 594 + 611 ], "email": [ - 550 + 567 ], "favouriteTopic": [ - 550 + 567 ], "followers": [ - 536 + 538 ], "followersAggregate": [ 532 ], "following": [ - 536 + 538 ], "followingAggregate": [ 532 @@ -10455,10 +10740,10 @@ export default { 1 ], "lastLogin": [ - 594 + 611 ], "password": [ - 550 + 567 ], "preferences": [ 333 @@ -10467,10 +10752,10 @@ export default { 327 ], "proUserSubscriptionId": [ - 550 + 567 ], "profilePicture": [ - 550 + 567 ], "prompts": [ 469 @@ -10491,49 +10776,49 @@ export default { 509 ], "role": [ - 665 + 682 ], "slug": [ - 550 + 567 ], "threads": [ - 559 + 576 ], "threadsAggregate": [ - 553 + 570 ], "userId": [ - 695 + 712 ], "userTokens": [ - 676 + 693 ], "userTokensAggregate": [ - 672 + 689 ], "username": [ - 550 + 567 ], "__typename": [ - 549 + 566 ] }, "UserConstraint": {}, "UserInsertInput": { "bio": [ - 549 + 566 ], "chats": [ 35 ], "dateJoined": [ - 712 + 729 ], "email": [ - 549 + 566 ], "favouriteTopic": [ - 549 + 566 ], "followers": [ 535 @@ -10551,19 +10836,19 @@ export default { 0 ], "lastLogin": [ - 712 + 729 ], "password": [ - 549 + 566 ], "preferences": [ 330 ], "proUserSubscriptionId": [ - 549 + 566 ], "profilePicture": [ - 549 + 566 ], "prompts": [ 466 @@ -10575,107 +10860,107 @@ export default { 512 ], "role": [ - 714 + 731 ], "slug": [ - 549 + 566 ], "threads": [ - 556 + 573 ], "userId": [ - 715 + 732 ], "userTokens": [ - 675 + 692 ], "username": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "UserMaxFields": { "bio": [ - 549 + 566 ], "dateJoined": [ - 712 + 729 ], "email": [ - 549 + 566 ], "favouriteTopic": [ - 549 + 566 ], "lastLogin": [ - 712 + 729 ], "password": [ - 549 + 566 ], "proUserSubscriptionId": [ - 549 + 566 ], "profilePicture": [ - 549 + 566 ], "role": [ - 714 + 731 ], "slug": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "username": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "UserMinFields": { "bio": [ - 549 + 566 ], "dateJoined": [ - 712 + 729 ], "email": [ - 549 + 566 ], "favouriteTopic": [ - 549 + 566 ], "lastLogin": [ - 712 + 729 ], "password": [ - 549 + 566 ], "proUserSubscriptionId": [ - 549 + 566 ], "profilePicture": [ - 549 + 566 ], "role": [ - 714 + 731 ], "slug": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "username": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "UserMutationResponse": { @@ -10683,35 +10968,35 @@ export default { 172 ], "returning": [ - 652 + 669 ], "__typename": [ - 549 + 566 ] }, "UserObjRelInsertInput": { "data": [ - 657 + 674 ], "onConflict": [ - 662 + 679 ], "__typename": [ - 549 + 566 ] }, "UserOnConflict": { "constraint": [ - 656 + 673 ], "updateColumns": [ - 693 + 710 ], "where": [ - 655 + 672 ], "__typename": [ - 549 + 566 ] }, "UserOrderBy": { @@ -10776,74 +11061,74 @@ export default { 324 ], "threadsAggregate": [ - 555 + 572 ], "userId": [ 324 ], "userTokensAggregate": [ - 674 + 691 ], "username": [ 324 ], "__typename": [ - 549 + 566 ] }, "UserPkColumnsInput": { "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "UserRoleComparisonExp": { "_eq": [ - 714 + 731 ], "_gt": [ - 714 + 731 ], "_gte": [ - 714 + 731 ], "_in": [ - 714 + 731 ], "_isNull": [ 0 ], "_lt": [ - 714 + 731 ], "_lte": [ - 714 + 731 ], "_neq": [ - 714 + 731 ], "_nin": [ - 714 + 731 ], "__typename": [ - 549 + 566 ] }, "UserSelectColumn": {}, "UserSetInput": { "bio": [ - 549 + 566 ], "dateJoined": [ - 712 + 729 ], "email": [ - 549 + 566 ], "favouriteTopic": [ - 549 + 566 ], "getFreeMonth": [ 0 @@ -10855,56 +11140,56 @@ export default { 0 ], "lastLogin": [ - 712 + 729 ], "password": [ - 549 + 566 ], "proUserSubscriptionId": [ - 549 + 566 ], "profilePicture": [ - 549 + 566 ], "role": [ - 714 + 731 ], "slug": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "username": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "UserStreamCursorInput": { "initialValue": [ - 669 + 686 ], "ordering": [ 170 ], "__typename": [ - 549 + 566 ] }, "UserStreamCursorValueInput": { "bio": [ - 549 + 566 ], "dateJoined": [ - 712 + 729 ], "email": [ - 549 + 566 ], "favouriteTopic": [ - 549 + 566 ], "getFreeMonth": [ 0 @@ -10916,67 +11201,67 @@ export default { 0 ], "lastLogin": [ - 712 + 729 ], "password": [ - 549 + 566 ], "proUserSubscriptionId": [ - 549 + 566 ], "profilePicture": [ - 549 + 566 ], "role": [ - 714 + 731 ], "slug": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "username": [ - 549 + 566 ], "__typename": [ - 549 + 566 ] }, "UserToken": { "token": [ - 549 + 566 ], "tokenByToken": [ - 595 + 612 ], "user": [ - 652 + 669 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "UserTokenAggregate": { "aggregate": [ - 673 + 690 ], "nodes": [ - 670 + 687 ], "__typename": [ - 549 + 566 ] }, "UserTokenAggregateBoolExp": { "count": [ - 713 + 730 ], "__typename": [ - 549 + 566 ] }, "UserTokenAggregateFields": { @@ -10984,7 +11269,7 @@ export default { 172, { "columns": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "distinct": [ @@ -10993,13 +11278,13 @@ export default { } ], "max": [ - 679 + 696 ], "min": [ - 681 + 698 ], "__typename": [ - 549 + 566 ] }, "UserTokenAggregateOrderBy": { @@ -11007,79 +11292,79 @@ export default { 324 ], "max": [ - 680 + 697 ], "min": [ - 682 + 699 ], "__typename": [ - 549 + 566 ] }, "UserTokenArrRelInsertInput": { "data": [ - 678 + 695 ], "onConflict": [ - 684 + 701 ], "__typename": [ - 549 + 566 ] }, "UserTokenBoolExp": { "_and": [ - 676 + 693 ], "_not": [ - 676 + 693 ], "_or": [ - 676 + 693 ], "token": [ - 550 + 567 ], "tokenByToken": [ - 598 + 615 ], "user": [ - 655 + 672 ], "userId": [ - 695 + 712 ], "__typename": [ - 549 + 566 ] }, "UserTokenConstraint": {}, "UserTokenInsertInput": { "token": [ - 549 + 566 ], "tokenByToken": [ - 604 + 621 ], "user": [ - 661 + 678 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "UserTokenMaxFields": { "token": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "UserTokenMaxOrderBy": { @@ -11090,18 +11375,18 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "UserTokenMinFields": { "token": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "UserTokenMinOrderBy": { @@ -11112,7 +11397,7 @@ export default { 324 ], "__typename": [ - 549 + 566 ] }, "UserTokenMutationResponse": { @@ -11120,24 +11405,24 @@ export default { 172 ], "returning": [ - 670 + 687 ], "__typename": [ - 549 + 566 ] }, "UserTokenOnConflict": { "constraint": [ - 677 + 694 ], "updateColumns": [ - 691 + 708 ], "where": [ - 676 + 693 ], "__typename": [ - 549 + 566 ] }, "UserTokenOrderBy": { @@ -11145,117 +11430,117 @@ export default { 324 ], "tokenByToken": [ - 606 + 623 ], "user": [ - 663 + 680 ], "userId": [ 324 ], "__typename": [ - 549 + 566 ] }, "UserTokenPkColumnsInput": { "token": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "UserTokenSelectColumn": {}, "UserTokenSetInput": { "token": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "UserTokenStreamCursorInput": { "initialValue": [ - 690 + 707 ], "ordering": [ 170 ], "__typename": [ - 549 + 566 ] }, "UserTokenStreamCursorValueInput": { "token": [ - 549 + 566 ], "userId": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "UserTokenUpdateColumn": {}, "UserTokenUpdates": { "_set": [ - 688 + 705 ], "where": [ - 676 + 693 ], "__typename": [ - 549 + 566 ] }, "UserUpdateColumn": {}, "UserUpdates": { "_set": [ - 667 + 684 ], "where": [ - 655 + 672 ], "__typename": [ - 549 + 566 ] }, "UuidComparisonExp": { "_eq": [ - 715 + 732 ], "_gt": [ - 715 + 732 ], "_gte": [ - 715 + 732 ], "_in": [ - 715 + 732 ], "_isNull": [ 0 ], "_lt": [ - 715 + 732 ], "_lte": [ - 715 + 732 ], "_neq": [ - 715 + 732 ], "_nin": [ - 715 + 732 ], "__typename": [ - 549 + 566 ] }, "chatAggregateBoolExpCount": { @@ -11272,7 +11557,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "chatbotAggregateBoolExpCount": { @@ -11289,7 +11574,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "chatbotCategoryAggregateBoolExpCount": { @@ -11306,7 +11591,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "labelChatbotCategoryAggregateBoolExpCount": { @@ -11323,7 +11608,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "messageAggregateBoolExpCount": { @@ -11340,7 +11625,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "preferenceAggregateBoolExpBool_and": { @@ -11357,7 +11642,7 @@ export default { 1 ], "__typename": [ - 549 + 566 ] }, "preferenceAggregateBoolExpBool_or": { @@ -11374,7 +11659,7 @@ export default { 1 ], "__typename": [ - 549 + 566 ] }, "preferenceAggregateBoolExpCount": { @@ -11391,7 +11676,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "promptAggregateBoolExpCount": { @@ -11408,7 +11693,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "promptChatbotAggregateBoolExpCount": { @@ -11425,7 +11710,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "promptUserAggregateBoolExpCount": { @@ -11442,7 +11727,7 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "referralAggregateBoolExpCount": { @@ -11459,93 +11744,93 @@ export default { 173 ], "__typename": [ - 549 + 566 ] }, "socialFollowingAggregateBoolExpCount": { "arguments": [ - 544 + 547 ], "distinct": [ 0 ], "filter": [ - 536 + 538 ], "predicate": [ 173 ], "__typename": [ - 549 + 566 ] }, "threadAggregateBoolExpBool_and": { "arguments": [ - 573 + 590 ], "distinct": [ 0 ], "filter": [ - 559 + 576 ], "predicate": [ 1 ], "__typename": [ - 549 + 566 ] }, "threadAggregateBoolExpBool_or": { "arguments": [ - 574 + 591 ], "distinct": [ 0 ], "filter": [ - 559 + 576 ], "predicate": [ 1 ], "__typename": [ - 549 + 566 ] }, "threadAggregateBoolExpCount": { "arguments": [ - 572 + 589 ], "distinct": [ 0 ], "filter": [ - 559 + 576 ], "predicate": [ 173 ], "__typename": [ - 549 + 566 ] }, "timestamptz": {}, "userTokenAggregateBoolExpCount": { "arguments": [ - 687 + 704 ], "distinct": [ 0 ], "filter": [ - 676 + 693 ], "predicate": [ 173 ], "__typename": [ - 549 + 566 ] }, "user_role": {}, @@ -11815,7 +12100,7 @@ export default { 151, { "value": [ - 549, + 566, "String!" ] } @@ -11982,7 +12267,7 @@ export default { 242, { "value": [ - 549, + 566, "String!" ] } @@ -12035,7 +12320,7 @@ export default { 261, { "messageId": [ - 715, + 732, "uuid!" ] } @@ -12088,7 +12373,7 @@ export default { 282, { "value": [ - 549, + 566, "String!" ] } @@ -12141,7 +12426,7 @@ export default { 303, { "name": [ - 549, + 566, "String!" ] } @@ -12357,7 +12642,7 @@ export default { 440, { "value": [ - 549, + 566, "String!" ] } @@ -12414,7 +12699,7 @@ export default { "Int!" ], "userId": [ - 715, + 732, "uuid!" ] } @@ -12467,7 +12752,7 @@ export default { 507, { "referralCode": [ - 549, + 566, "String!" ] } @@ -12476,7 +12761,7 @@ export default { 530, { "distinctOn": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "limit": [ @@ -12486,11 +12771,11 @@ export default { 172 ], "orderBy": [ - 543, + 546, "[SocialFollowingOrderBy!]" ], "where": [ - 536 + 538 ] } ], @@ -12498,7 +12783,7 @@ export default { 531, { "distinctOn": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "limit": [ @@ -12508,19 +12793,19 @@ export default { 172 ], "orderBy": [ - 543, + 546, "[SocialFollowingOrderBy!]" ], "where": [ - 536 + 538 ] } ], "thread": [ - 551, + 568, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -12530,19 +12815,19 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "threadAggregate": [ - 552, + 569, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -12552,28 +12837,28 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "threadByPk": [ - 551, + 568, { "threadId": [ - 715, + 732, "uuid!" ] } ], "token": [ - 595, + 612, { "distinctOn": [ - 608, + 625, "[TokenSelectColumn!]" ], "limit": [ @@ -12583,19 +12868,19 @@ export default { 172 ], "orderBy": [ - 606, + 623, "[TokenOrderBy!]" ], "where": [ - 598 + 615 ] } ], "tokenAggregate": [ - 596, + 613, { "distinctOn": [ - 608, + 625, "[TokenSelectColumn!]" ], "limit": [ @@ -12605,28 +12890,28 @@ export default { 172 ], "orderBy": [ - 606, + 623, "[TokenOrderBy!]" ], "where": [ - 598 + 615 ] } ], "tokenByPk": [ - 595, + 612, { "token": [ - 549, + 566, "String!" ] } ], "toneEnum": [ - 614, + 631, { "distinctOn": [ - 627, + 644, "[ToneEnumSelectColumn!]" ], "limit": [ @@ -12636,19 +12921,19 @@ export default { 172 ], "orderBy": [ - 625, + 642, "[ToneEnumOrderBy!]" ], "where": [ - 617 + 634 ] } ], "toneEnumAggregate": [ - 615, + 632, { "distinctOn": [ - 627, + 644, "[ToneEnumSelectColumn!]" ], "limit": [ @@ -12658,28 +12943,28 @@ export default { 172 ], "orderBy": [ - 625, + 642, "[ToneEnumOrderBy!]" ], "where": [ - 617 + 634 ] } ], "toneEnumByPk": [ - 614, + 631, { "value": [ - 549, + 566, "String!" ] } ], "typeEnum": [ - 633, + 650, { "distinctOn": [ - 646, + 663, "[TypeEnumSelectColumn!]" ], "limit": [ @@ -12689,19 +12974,19 @@ export default { 172 ], "orderBy": [ - 644, + 661, "[TypeEnumOrderBy!]" ], "where": [ - 636 + 653 ] } ], "typeEnumAggregate": [ - 634, + 651, { "distinctOn": [ - 646, + 663, "[TypeEnumSelectColumn!]" ], "limit": [ @@ -12711,28 +12996,28 @@ export default { 172 ], "orderBy": [ - 644, + 661, "[TypeEnumOrderBy!]" ], "where": [ - 636 + 653 ] } ], "typeEnumByPk": [ - 633, + 650, { "value": [ - 549, + 566, "String!" ] } ], "user": [ - 652, + 669, { "distinctOn": [ - 666, + 683, "[UserSelectColumn!]" ], "limit": [ @@ -12742,19 +13027,19 @@ export default { 172 ], "orderBy": [ - 663, + 680, "[UserOrderBy!]" ], "where": [ - 655 + 672 ] } ], "userAggregate": [ - 653, + 670, { "distinctOn": [ - 666, + 683, "[UserSelectColumn!]" ], "limit": [ @@ -12764,28 +13049,28 @@ export default { 172 ], "orderBy": [ - 663, + 680, "[UserOrderBy!]" ], "where": [ - 655 + 672 ] } ], "userByPk": [ - 652, + 669, { "userId": [ - 715, + 732, "uuid!" ] } ], "userToken": [ - 670, + 687, { "distinctOn": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "limit": [ @@ -12795,19 +13080,19 @@ export default { 172 ], "orderBy": [ - 685, + 702, "[UserTokenOrderBy!]" ], "where": [ - 676 + 693 ] } ], "userTokenAggregate": [ - 671, + 688, { "distinctOn": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "limit": [ @@ -12817,29 +13102,29 @@ export default { 172 ], "orderBy": [ - 685, + 702, "[UserTokenOrderBy!]" ], "where": [ - 676 + 693 ] } ], "userTokenByPk": [ - 670, + 687, { "token": [ - 549, + 566, "String!" ], "userId": [ - 715, + 732, "uuid!" ] } ], "__typename": [ - 549 + 566 ] }, "Mutation": { @@ -12932,7 +13217,7 @@ export default { 151, { "value": [ - 549, + 566, "String!" ] } @@ -12994,7 +13279,7 @@ export default { 242, { "value": [ - 549, + 566, "String!" ] } @@ -13012,7 +13297,7 @@ export default { 261, { "messageId": [ - 715, + 732, "uuid!" ] } @@ -13030,7 +13315,7 @@ export default { 282, { "value": [ - 549, + 566, "String!" ] } @@ -13048,7 +13333,7 @@ export default { 303, { "name": [ - 549, + 566, "String!" ] } @@ -13124,7 +13409,7 @@ export default { 440, { "value": [ - 549, + 566, "String!" ] } @@ -13146,7 +13431,7 @@ export default { "Int!" ], "userId": [ - 715, + 732, "uuid!" ] } @@ -13164,128 +13449,128 @@ export default { 507, { "referralCode": [ - 549, + 566, "String!" ] } ], "deleteSocialFollowing": [ - 542, + 545, { "where": [ - 536, + 538, "SocialFollowingBoolExp!" ] } ], "deleteThread": [ - 567, + 584, { "where": [ - 559, + 576, "ThreadBoolExp!" ] } ], "deleteThreadByPk": [ - 551, + 568, { "threadId": [ - 715, + 732, "uuid!" ] } ], "deleteToken": [ - 603, + 620, { "where": [ - 598, + 615, "TokenBoolExp!" ] } ], "deleteTokenByPk": [ - 595, + 612, { "token": [ - 549, + 566, "String!" ] } ], "deleteToneEnum": [ - 622, + 639, { "where": [ - 617, + 634, "ToneEnumBoolExp!" ] } ], "deleteToneEnumByPk": [ - 614, + 631, { "value": [ - 549, + 566, "String!" ] } ], "deleteTypeEnum": [ - 641, + 658, { "where": [ - 636, + 653, "TypeEnumBoolExp!" ] } ], "deleteTypeEnumByPk": [ - 633, + 650, { "value": [ - 549, + 566, "String!" ] } ], "deleteUser": [ - 660, + 677, { "where": [ - 655, + 672, "UserBoolExp!" ] } ], "deleteUserByPk": [ - 652, + 669, { "userId": [ - 715, + 732, "uuid!" ] } ], "deleteUserToken": [ - 683, + 700, { "where": [ - 676, + 693, "UserTokenBoolExp!" ] } ], "deleteUserTokenByPk": [ - 670, + 687, { "token": [ - 549, + 566, "String!" ], "userId": [ - 715, + 732, "uuid!" ] } @@ -13699,10 +13984,10 @@ export default { } ], "insertSocialFollowing": [ - 542, + 545, { "objects": [ - 537, + 540, "[SocialFollowingInsertInput!]!" ] } @@ -13711,152 +13996,152 @@ export default { 530, { "object": [ - 537, + 540, "SocialFollowingInsertInput!" ] } ], "insertThread": [ - 567, + 584, { "objects": [ - 562, + 579, "[ThreadInsertInput!]!" ], "onConflict": [ - 569 + 586 ] } ], "insertThreadOne": [ - 551, + 568, { "object": [ - 562, + 579, "ThreadInsertInput!" ], "onConflict": [ - 569 + 586 ] } ], "insertToken": [ - 603, + 620, { "objects": [ - 600, + 617, "[TokenInsertInput!]!" ], "onConflict": [ - 605 + 622 ] } ], "insertTokenOne": [ - 595, + 612, { "object": [ - 600, + 617, "TokenInsertInput!" ], "onConflict": [ - 605 + 622 ] } ], "insertToneEnum": [ - 622, + 639, { "objects": [ - 619, + 636, "[ToneEnumInsertInput!]!" ], "onConflict": [ - 624 + 641 ] } ], "insertToneEnumOne": [ - 614, + 631, { "object": [ - 619, + 636, "ToneEnumInsertInput!" ], "onConflict": [ - 624 + 641 ] } ], "insertTypeEnum": [ - 641, + 658, { "objects": [ - 638, + 655, "[TypeEnumInsertInput!]!" ], "onConflict": [ - 643 + 660 ] } ], "insertTypeEnumOne": [ - 633, + 650, { "object": [ - 638, + 655, "TypeEnumInsertInput!" ], "onConflict": [ - 643 + 660 ] } ], "insertUser": [ - 660, + 677, { "objects": [ - 657, + 674, "[UserInsertInput!]!" ], "onConflict": [ - 662 + 679 ] } ], "insertUserOne": [ - 652, + 669, { "object": [ - 657, + 674, "UserInsertInput!" ], "onConflict": [ - 662 + 679 ] } ], "insertUserToken": [ - 683, + 700, { "objects": [ - 678, + 695, "[UserTokenInsertInput!]!" ], "onConflict": [ - 684 + 701 ] } ], "insertUserTokenOne": [ - 670, + 687, { "object": [ - 678, + 695, "UserTokenInsertInput!" ], "onConflict": [ - 684 + 701 ] } ], @@ -14482,232 +14767,235 @@ export default { } ], "updateSocialFollowing": [ - 542, + 545, { + "_inc": [ + 539 + ], "_set": [ - 545 + 548 ], "where": [ - 536, + 538, "SocialFollowingBoolExp!" ] } ], "updateSocialFollowingMany": [ - 542, + 545, { "updates": [ - 548, + 559, "[SocialFollowingUpdates!]!" ] } ], "updateThread": [ - 567, + 584, { "_inc": [ - 561 + 578 ], "_set": [ - 575 + 592 ], "where": [ - 559, + 576, "ThreadBoolExp!" ] } ], "updateThreadByPk": [ - 551, + 568, { "_inc": [ - 561 + 578 ], "_set": [ - 575 + 592 ], "pkColumns": [ - 571, + 588, "ThreadPkColumnsInput!" ] } ], "updateThreadMany": [ - 567, + 584, { "updates": [ - 587, + 604, "[ThreadUpdates!]!" ] } ], "updateToken": [ - 603, + 620, { "_set": [ - 609 + 626 ], "where": [ - 598, + 615, "TokenBoolExp!" ] } ], "updateTokenByPk": [ - 595, + 612, { "_set": [ - 609 + 626 ], "pkColumns": [ - 607, + 624, "TokenPkColumnsInput!" ] } ], "updateTokenMany": [ - 603, + 620, { "updates": [ - 613, + 630, "[TokenUpdates!]!" ] } ], "updateToneEnum": [ - 622, + 639, { "_set": [ - 628 + 645 ], "where": [ - 617, + 634, "ToneEnumBoolExp!" ] } ], "updateToneEnumByPk": [ - 614, + 631, { "_set": [ - 628 + 645 ], "pkColumns": [ - 626, + 643, "ToneEnumPkColumnsInput!" ] } ], "updateToneEnumMany": [ - 622, + 639, { "updates": [ - 632, + 649, "[ToneEnumUpdates!]!" ] } ], "updateTypeEnum": [ - 641, + 658, { "_set": [ - 647 + 664 ], "where": [ - 636, + 653, "TypeEnumBoolExp!" ] } ], "updateTypeEnumByPk": [ - 633, + 650, { "_set": [ - 647 + 664 ], "pkColumns": [ - 645, + 662, "TypeEnumPkColumnsInput!" ] } ], "updateTypeEnumMany": [ - 641, + 658, { "updates": [ - 651, + 668, "[TypeEnumUpdates!]!" ] } ], "updateUser": [ - 660, + 677, { "_set": [ - 667 + 684 ], "where": [ - 655, + 672, "UserBoolExp!" ] } ], "updateUserByPk": [ - 652, + 669, { "_set": [ - 667 + 684 ], "pkColumns": [ - 664, + 681, "UserPkColumnsInput!" ] } ], "updateUserMany": [ - 660, + 677, { "updates": [ - 694, + 711, "[UserUpdates!]!" ] } ], "updateUserToken": [ - 683, + 700, { "_set": [ - 688 + 705 ], "where": [ - 676, + 693, "UserTokenBoolExp!" ] } ], "updateUserTokenByPk": [ - 670, + 687, { "_set": [ - 688 + 705 ], "pkColumns": [ - 686, + 703, "UserTokenPkColumnsInput!" ] } ], "updateUserTokenMany": [ - 683, + 700, { "updates": [ - 692, + 709, "[UserTokenUpdates!]!" ] } ], "__typename": [ - 549 + 566 ] }, "Subscription": { @@ -15039,7 +15327,7 @@ export default { 151, { "value": [ - 549, + 566, "String!" ] } @@ -15254,7 +15542,7 @@ export default { 242, { "value": [ - 549, + 566, "String!" ] } @@ -15323,7 +15611,7 @@ export default { 261, { "messageId": [ - 715, + 732, "uuid!" ] } @@ -15392,7 +15680,7 @@ export default { 282, { "value": [ - 549, + 566, "String!" ] } @@ -15461,7 +15749,7 @@ export default { 303, { "name": [ - 549, + 566, "String!" ] } @@ -15741,7 +16029,7 @@ export default { 440, { "value": [ - 549, + 566, "String!" ] } @@ -15814,7 +16102,7 @@ export default { "Int!" ], "userId": [ - 715, + 732, "uuid!" ] } @@ -15883,7 +16171,7 @@ export default { 507, { "referralCode": [ - 549, + 566, "String!" ] } @@ -15908,7 +16196,7 @@ export default { 530, { "distinctOn": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "limit": [ @@ -15918,11 +16206,11 @@ export default { 172 ], "orderBy": [ - 543, + 546, "[SocialFollowingOrderBy!]" ], "where": [ - 536 + 538 ] } ], @@ -15930,7 +16218,7 @@ export default { 531, { "distinctOn": [ - 544, + 547, "[SocialFollowingSelectColumn!]" ], "limit": [ @@ -15940,11 +16228,11 @@ export default { 172 ], "orderBy": [ - 543, + 546, "[SocialFollowingOrderBy!]" ], "where": [ - 536 + 538 ] } ], @@ -15956,19 +16244,19 @@ export default { "Int!" ], "cursor": [ - 546, + 555, "[SocialFollowingStreamCursorInput]!" ], "where": [ - 536 + 538 ] } ], "thread": [ - 551, + 568, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -15978,19 +16266,19 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "threadAggregate": [ - 552, + 569, { "distinctOn": [ - 572, + 589, "[ThreadSelectColumn!]" ], "limit": [ @@ -16000,44 +16288,44 @@ export default { 172 ], "orderBy": [ - 570, + 587, "[ThreadOrderBy!]" ], "where": [ - 559 + 576 ] } ], "threadByPk": [ - 551, + 568, { "threadId": [ - 715, + 732, "uuid!" ] } ], "threadStream": [ - 551, + 568, { "batchSize": [ 172, "Int!" ], "cursor": [ - 582, + 599, "[ThreadStreamCursorInput]!" ], "where": [ - 559 + 576 ] } ], "token": [ - 595, + 612, { "distinctOn": [ - 608, + 625, "[TokenSelectColumn!]" ], "limit": [ @@ -16047,19 +16335,19 @@ export default { 172 ], "orderBy": [ - 606, + 623, "[TokenOrderBy!]" ], "where": [ - 598 + 615 ] } ], "tokenAggregate": [ - 596, + 613, { "distinctOn": [ - 608, + 625, "[TokenSelectColumn!]" ], "limit": [ @@ -16069,44 +16357,44 @@ export default { 172 ], "orderBy": [ - 606, + 623, "[TokenOrderBy!]" ], "where": [ - 598 + 615 ] } ], "tokenByPk": [ - 595, + 612, { "token": [ - 549, + 566, "String!" ] } ], "tokenStream": [ - 595, + 612, { "batchSize": [ 172, "Int!" ], "cursor": [ - 610, + 627, "[TokenStreamCursorInput]!" ], "where": [ - 598 + 615 ] } ], "toneEnum": [ - 614, + 631, { "distinctOn": [ - 627, + 644, "[ToneEnumSelectColumn!]" ], "limit": [ @@ -16116,19 +16404,19 @@ export default { 172 ], "orderBy": [ - 625, + 642, "[ToneEnumOrderBy!]" ], "where": [ - 617 + 634 ] } ], "toneEnumAggregate": [ - 615, + 632, { "distinctOn": [ - 627, + 644, "[ToneEnumSelectColumn!]" ], "limit": [ @@ -16138,44 +16426,44 @@ export default { 172 ], "orderBy": [ - 625, + 642, "[ToneEnumOrderBy!]" ], "where": [ - 617 + 634 ] } ], "toneEnumByPk": [ - 614, + 631, { "value": [ - 549, + 566, "String!" ] } ], "toneEnumStream": [ - 614, + 631, { "batchSize": [ 172, "Int!" ], "cursor": [ - 629, + 646, "[ToneEnumStreamCursorInput]!" ], "where": [ - 617 + 634 ] } ], "typeEnum": [ - 633, + 650, { "distinctOn": [ - 646, + 663, "[TypeEnumSelectColumn!]" ], "limit": [ @@ -16185,19 +16473,19 @@ export default { 172 ], "orderBy": [ - 644, + 661, "[TypeEnumOrderBy!]" ], "where": [ - 636 + 653 ] } ], "typeEnumAggregate": [ - 634, + 651, { "distinctOn": [ - 646, + 663, "[TypeEnumSelectColumn!]" ], "limit": [ @@ -16207,44 +16495,44 @@ export default { 172 ], "orderBy": [ - 644, + 661, "[TypeEnumOrderBy!]" ], "where": [ - 636 + 653 ] } ], "typeEnumByPk": [ - 633, + 650, { "value": [ - 549, + 566, "String!" ] } ], "typeEnumStream": [ - 633, + 650, { "batchSize": [ 172, "Int!" ], "cursor": [ - 648, + 665, "[TypeEnumStreamCursorInput]!" ], "where": [ - 636 + 653 ] } ], "user": [ - 652, + 669, { "distinctOn": [ - 666, + 683, "[UserSelectColumn!]" ], "limit": [ @@ -16254,19 +16542,19 @@ export default { 172 ], "orderBy": [ - 663, + 680, "[UserOrderBy!]" ], "where": [ - 655 + 672 ] } ], "userAggregate": [ - 653, + 670, { "distinctOn": [ - 666, + 683, "[UserSelectColumn!]" ], "limit": [ @@ -16276,44 +16564,44 @@ export default { 172 ], "orderBy": [ - 663, + 680, "[UserOrderBy!]" ], "where": [ - 655 + 672 ] } ], "userByPk": [ - 652, + 669, { "userId": [ - 715, + 732, "uuid!" ] } ], "userStream": [ - 652, + 669, { "batchSize": [ 172, "Int!" ], "cursor": [ - 668, + 685, "[UserStreamCursorInput]!" ], "where": [ - 655 + 672 ] } ], "userToken": [ - 670, + 687, { "distinctOn": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "limit": [ @@ -16323,19 +16611,19 @@ export default { 172 ], "orderBy": [ - 685, + 702, "[UserTokenOrderBy!]" ], "where": [ - 676 + 693 ] } ], "userTokenAggregate": [ - 671, + 688, { "distinctOn": [ - 687, + 704, "[UserTokenSelectColumn!]" ], "limit": [ @@ -16345,45 +16633,45 @@ export default { 172 ], "orderBy": [ - 685, + 702, "[UserTokenOrderBy!]" ], "where": [ - 676 + 693 ] } ], "userTokenByPk": [ - 670, + 687, { "token": [ - 549, + 566, "String!" ], "userId": [ - 715, + 732, "uuid!" ] } ], "userTokenStream": [ - 670, + 687, { "batchSize": [ 172, "Int!" ], "cursor": [ - 689, + 706, "[UserTokenStreamCursorInput]!" ], "where": [ - 676 + 693 ] } ], "__typename": [ - 549 + 566 ] } } From f3e94b8f32d9eba928584be07a538f9b3a9e7c63 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Mon, 16 Dec 2024 16:23:43 +0100 Subject: [PATCH 12/21] update --- .../tables/public_social_following.yaml | 11 +- .../down.sql | 1 + .../up.sql | 1 + .../sidebar/sidebar-category-general.tsx | 2 +- .../routes/chat/chat-chatbot-details.tsx | 80 +++- .../components/routes/profile/user-card.tsx | 10 +- .../routes/thread/user-thread-panel.tsx | 1 - apps/masterbots.ai/lib/utils.ts | 2 +- .../services/hasura/hasura.service.ts | 382 ++++++++++++++---- 9 files changed, 403 insertions(+), 87 deletions(-) create mode 100644 apps/hasura/migrations/masterbots/1734356983533_alter_table_public_social_following_alter_column_followee_id/down.sql create mode 100644 apps/hasura/migrations/masterbots/1734356983533_alter_table_public_social_following_alter_column_followee_id/up.sql diff --git a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml index 09de602e..2a2b153c 100644 --- a/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml +++ b/apps/hasura/metadata/databases/masterbots/tables/public_social_following.yaml @@ -22,6 +22,7 @@ insert_permissions: _eq: X-Hasura-User-Id columns: - followee_id + - followee_id_chatbot - follower_id comment: "" - role: user @@ -34,6 +35,7 @@ insert_permissions: _neq: X-Hasura-User-Id columns: - followee_id + - followee_id_chatbot - follower_id comment: "" select_permissions: @@ -42,6 +44,7 @@ select_permissions: columns: - created_at - followee_id + - followee_id_chatbot - follower_id filter: {} comment: "" @@ -50,6 +53,7 @@ select_permissions: columns: - created_at - followee_id + - followee_id_chatbot - follower_id filter: {} comment: "" @@ -57,6 +61,7 @@ select_permissions: permission: columns: - followee_id + - followee_id_chatbot - follower_id filter: _or: @@ -70,6 +75,7 @@ update_permissions: permission: columns: - followee_id + - followee_id_chatbot - follower_id filter: follower_id: @@ -80,6 +86,7 @@ update_permissions: permission: columns: - followee_id + - followee_id_chatbot - follower_id filter: _and: @@ -90,10 +97,6 @@ update_permissions: check: null comment: "" delete_permissions: - - role: anonymous - permission: - filter: {} - comment: "" - role: moderator permission: filter: diff --git a/apps/hasura/migrations/masterbots/1734356983533_alter_table_public_social_following_alter_column_followee_id/down.sql b/apps/hasura/migrations/masterbots/1734356983533_alter_table_public_social_following_alter_column_followee_id/down.sql new file mode 100644 index 00000000..0533b897 --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734356983533_alter_table_public_social_following_alter_column_followee_id/down.sql @@ -0,0 +1 @@ +alter table "public"."social_following" alter column "followee_id" set not null; diff --git a/apps/hasura/migrations/masterbots/1734356983533_alter_table_public_social_following_alter_column_followee_id/up.sql b/apps/hasura/migrations/masterbots/1734356983533_alter_table_public_social_following_alter_column_followee_id/up.sql new file mode 100644 index 00000000..c3ed363a --- /dev/null +++ b/apps/hasura/migrations/masterbots/1734356983533_alter_table_public_social_following_alter_column_followee_id/up.sql @@ -0,0 +1 @@ +alter table "public"."social_following" alter column "followee_id" drop not null; diff --git a/apps/masterbots.ai/components/layout/sidebar/sidebar-category-general.tsx b/apps/masterbots.ai/components/layout/sidebar/sidebar-category-general.tsx index f97d3355..73e86f3d 100644 --- a/apps/masterbots.ai/components/layout/sidebar/sidebar-category-general.tsx +++ b/apps/masterbots.ai/components/layout/sidebar/sidebar-category-general.tsx @@ -5,7 +5,7 @@ import { useSidebar } from '@/lib/hooks/use-sidebar' export function SidebarCategoryGeneral({ page }: { page?: string }) { const { filteredCategories, isFilterMode } = useSidebar() - + if (!filteredCategories.length) return
No matching categories found
return (
    diff --git a/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx b/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx index bfa788b4..92216068 100644 --- a/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx +++ b/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx @@ -2,13 +2,16 @@ import { ChatChatbotDetailsSkeleton } from '@/components/shared/skeletons/chat-c import { Button } from '@/components/ui/button' import { useSidebar } from '@/lib/hooks/use-sidebar' import { useThread } from '@/lib/hooks/use-thread' -import { cn } from '@/lib/utils' -import { getCategory, getThreads } from '@/services/hasura' -import { MessageCircle, MessageSquare, Users } from 'lucide-react' +import { cn, Ifollowed, formatNumber} from '@/lib/utils' +import { getCategory, getThreads, chatbotFollowOrUnfollow } from '@/services/hasura' +import { MessageCircle, MessageSquare, Users, Loader } from 'lucide-react' import { useSession } from 'next-auth/react' import Image from 'next/image' import { useParams } from 'next/navigation' import { useEffect, useState } from 'react' +import toast from 'react-hot-toast' +import router from 'next/router' +import type { SocialFollowing } from 'mb-genql' /** * Displays detailed information about a chatbot or welcome message in the Masterbots application. @@ -30,10 +33,67 @@ export default function ChatChatbotDetails({ page }: { page?: string }) { const [threadNum, setThreadNum] = useState(0) const [categoryName, setCategoryName] = useState('') const { slug } = useParams() + const [isFollowLoading, setIsFollowLoading] = useState(false) + const [followers, setFollowers] = useState(activeChatbot?.followers || []); if (status === "loading") return + + const handleFollowChatbot = async () => { + try { + if (!session) { + toast.error('Please sign in to follow user') + router.push('/auth/signin') + return + } + + setIsFollowLoading(true) + const followerId = session.user?.id + const followeeId = activeChatbot?.chatbotId + if (!followerId) { + toast.error('Invalid user data'); + return; + } + + if (!followeeId) { + toast.error('Invalid chatbot data, please select a chatbot'); + return; + } + const {success, error, follow} = await chatbotFollowOrUnfollow({followerId, followeeId, jwt: session.user.hasuraJwt as string}) + if(!success){ + console.error('Failed to follow/Unfolow bot:', error) + toast.error(error || 'Failed to follow/unfollow bot') + return + } + if(follow){ + setFollowers([ + ...followers, + { + followerId: followerId, + followeeId: null, + followeeIdChatbot: followeeId, + chatbot: null, + createdAt: new Date().toISOString(), + userByFollowerId: null as unknown, + user: null, + __typename: 'SocialFollowing' + } as SocialFollowing + ]); + }else{ + setFollowers(followers.filter(follower => follower.followerId !== followerId)) + } + + toast.success(follow ? `You have followed ${activeChatbot?.name} successfully` : `You have unfollowed ${activeChatbot?.name}`) + + } catch (error) { + setIsFollowLoading(false) + toast.error('Failed to follow user') + console.error('Failed to follow user:', error) + } finally { + setIsFollowLoading(false) + } + } const getThreadNum = async () => { if (!session?.user) return const threads = await getThreads({ @@ -48,7 +108,6 @@ export default function ChatChatbotDetails({ page }: { page?: string }) { const category = await getCategory({ categoryId: activeCategory as number }) setCategoryName(category.name) } - // eslint-disable-next-line react-hooks/rules-of-hooks useEffect(() => { if (!activeCategory) { @@ -60,6 +119,9 @@ export default function ChatChatbotDetails({ page }: { page?: string }) { const botName = activeChatbot?.name || 'BuildBot' + const followed = Ifollowed({followers, userId: session?.user?.id || ''}) + + return (
    @@ -131,17 +193,23 @@ export default function ChatChatbotDetails({ page }: { page?: string }) { Followers:{' '} - 3.2k + {formatNumber(followers.length || 0)}
diff --git a/apps/masterbots.ai/components/routes/profile/user-card.tsx b/apps/masterbots.ai/components/routes/profile/user-card.tsx index c4bc6b7a..b963d215 100644 --- a/apps/masterbots.ai/components/routes/profile/user-card.tsx +++ b/apps/masterbots.ai/components/routes/profile/user-card.tsx @@ -2,9 +2,9 @@ import { Separator } from '@/components/ui/separator' import Image from 'next/image' import { BookUser, BotIcon, MessageSquareHeart, Wand2, ImagePlus, Loader, UserIcon, Users } from 'lucide-react' import { Button } from '@/components/ui/button' -import { User } from 'mb-genql' +import type { User } from 'mb-genql' import { useProfile } from '@/lib/hooks/use-profile' -import { type Message, useChat } from "ai/react"; +import { type Message, useChat } from "ai/react"; import { nanoid, removeSurroundingQuotes } from '@/lib/utils' import { useModel } from '@/lib/hooks/use-model' import toast from 'react-hot-toast' @@ -189,8 +189,8 @@ export function UserCard({ user, loading }: UserCardProps) { } const {success, error, follow} = await userFollowOrUnfollow({followerId, followeeId, jwt: session.user.hasuraJwt as string}) if(!success){ - console.error('Failed to follow/Unfolow user:', error) - toast.error(error || 'Failed to follow/unfollow user') + console.error('Failed to follow/Unfollow user:', error) + toast.error(error || 'Failed to follow/Unfollow user') return } @@ -204,6 +204,8 @@ export function UserCard({ user, loading }: UserCardProps) { createdAt: new Date().toISOString(), user: prevUser, userByFollowerId: prevUser, + chatbot: null, + followeeIdChatbot: null, __typename: 'SocialFollowing' }; diff --git a/apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx b/apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx index b62a1432..7cd25afa 100755 --- a/apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx +++ b/apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx @@ -211,7 +211,6 @@ export default function UserThreadPanel({ const showNoResults = !loading && searchTerm && threads.length === 0 const showChatbotDetails = !loading && !searchTerm && threads.length === 0 - return ( <>
diff --git a/apps/masterbots.ai/lib/utils.ts b/apps/masterbots.ai/lib/utils.ts index 6a726ea0..0ad3ee79 100644 --- a/apps/masterbots.ai/lib/utils.ts +++ b/apps/masterbots.ai/lib/utils.ts @@ -354,4 +354,4 @@ interface IProps { } export const Ifollowed = ({followers, userId} : IProps): boolean => { return Boolean(followers?.some(follower => follower.followerId === userId)); -} \ No newline at end of file +} diff --git a/apps/masterbots.ai/services/hasura/hasura.service.ts b/apps/masterbots.ai/services/hasura/hasura.service.ts index 2675f7ec..3189a472 100755 --- a/apps/masterbots.ai/services/hasura/hasura.service.ts +++ b/apps/masterbots.ai/services/hasura/hasura.service.ts @@ -53,6 +53,11 @@ export async function getCategories() { category: { chatbots: { chatbot: { + followers: { + followeeId: true, + followerId: true, + followeeIdChatbot: true + }, ...everything }, ...everything @@ -150,7 +155,8 @@ export async function getThreads({ }, prompts: { prompt: everything - } + }, + }, messages: { ...everything, @@ -362,6 +368,131 @@ export async function getChatbot({ return chatbot[0] as Chatbot } +// export async function getBrowseThreads({ +// categoryId, +// categoriesId, +// keyword, +// chatbotName, +// chatbotsId, +// userId, +// limit, +// offset, +// slug +// }: GetBrowseThreadsParams) { +// const client = getHasuraClient({}) + +// const { thread } = await client.query({ +// thread: { +// __args: { +// orderBy: [{ createdAt: 'DESC' }], +// where: { +// ...(categoryId +// ? { +// chatbot: { +// categories: { +// categoryId: { _eq: categoryId } +// } +// } +// } +// : {}), +// ...(categoriesId +// ? { +// chatbot: { +// categories: { +// categoryId: { _in: categoriesId } +// } +// } +// } +// : {}), +// ...(chatbotName +// ? { +// chatbot: { +// name: { _eq: chatbotName } +// } +// } +// : {}), +// ...(chatbotsId +// ? { +// chatbot: { +// chatbotId: { _in: chatbotsId } +// } +// } +// : {}), +// ...(userId +// ? { +// userId: { +// _eq: userId +// } +// } +// : {}), +// ...(slug +// ? { +// user: { +// slug: { +// _eq: slug +// } +// } +// } +// : {}), +// isPublic: { _eq: true }, +// isApproved: { _eq: true } +// }, +// limit: limit || 30, +// offset: offset || 0 +// }, +// chatbot: { +// categories: { +// category: { +// ...everything +// }, +// ...everything +// }, +// threads: { +// threadId: true +// }, +// ...everything +// }, +// messages: { +// ...everything, +// __args: { +// orderBy: [{ createdAt: 'ASC' }], +// ...(keyword +// ? { +// where: { +// _or: [ +// { +// content: { +// _iregex: keyword +// } +// }, +// { +// content: { +// _eq: keyword +// } +// } +// ] +// } +// } +// : ''), +// limit: 2 +// } +// }, +// user: { +// username: true, +// profilePicture: true, +// slug: true +// }, +// isApproved: true, +// isPublic: true, +// ...everything +// } +// }) + +// return thread as Thread[] +// } + + + export async function getBrowseThreads({ categoryId, categoriesId, @@ -373,74 +504,83 @@ export async function getBrowseThreads({ offset, slug }: GetBrowseThreadsParams) { - const client = getHasuraClient({}) + const client = getHasuraClient({}); - const { thread } = await client.query({ + const baseWhereConditions = { + ...(categoryId + ? { + chatbot: { + categories: { + categoryId: { _eq: categoryId } + } + } + } + : {}), + ...(categoriesId + ? { + chatbot: { + categories: { + categoryId: { _in: categoriesId } + } + } + } + : {}), + ...(chatbotName + ? { + chatbot: { + name: { _eq: chatbotName } + } + } + : {}), + ...(chatbotsId + ? { + chatbot: { + chatbotId: { _in: chatbotsId } + } + } + : {}), + ...(userId + ? { + userId: { + _eq: userId + } + } + : {}), + ...(slug + ? { + user: { + slug: { + _eq: slug + } + } + } + : {}), + isPublic: { _eq: true }, + isApproved: { _eq: true } + }; + + // Get double the limit to ensure we have enough threads for interweaving + const { thread: allThreads } = await client.query({ thread: { __args: { orderBy: [{ createdAt: 'DESC' }], - where: { - ...(categoryId - ? { - chatbot: { - categories: { - categoryId: { _eq: categoryId } - } - } - } - : {}), - ...(categoriesId - ? { - chatbot: { - categories: { - categoryId: { _in: categoriesId } - } - } - } - : {}), - ...(chatbotName - ? { - chatbot: { - name: { _eq: chatbotName } - } - } - : {}), - ...(chatbotsId - ? { - chatbot: { - chatbotId: { _in: chatbotsId } - } - } - : {}), - ...(userId - ? { - userId: { - _eq: userId - } - } - : {}), - ...(slug - ? { - user: { - slug: { - _eq: slug - } - } - } - : {}), - isPublic: { _eq: true }, - isApproved: { _eq: true } - }, - limit: limit || 30, + where: baseWhereConditions, + limit: (limit || 30) * 2, // Get more threads to allow for filtering offset: offset || 0 }, + threadId: true, chatbot: { + chatbotId: true, + name: true, categories: { category: { ...everything }, ...everything }, + followers: { + followerId: true + }, threads: { threadId: true }, @@ -454,16 +594,8 @@ export async function getBrowseThreads({ ? { where: { _or: [ - { - content: { - _iregex: keyword - } - }, - { - content: { - _eq: keyword - } - } + { content: { _iregex: keyword } }, + { content: { _eq: keyword } } ] } } @@ -471,6 +603,11 @@ export async function getBrowseThreads({ limit: 2 } }, + messagesAggregate: { + aggregate: { + count: true + }, + }, user: { username: true, profilePicture: true, @@ -478,13 +615,51 @@ export async function getBrowseThreads({ }, isApproved: true, isPublic: true, + userId: true, + modelsEnum: { + ...everything + }, ...everything } - }) + }); - return thread as Thread[] -} + if (!allThreads) return []; + + // Type assertion to ensure allThreads is treated as Thread[] + const threads = allThreads as Thread[]; + + // Separate following and organic content + const followingThreads = threads.filter(thread => + thread.chatbot?.followers?.some(follower => follower.followerId === userId) + ); + const organicThreads = threads.filter(thread => + !thread.chatbot?.followers?.some(follower => follower.followerId === userId) + ); + // Interweave the results with proper typing + const interweavedThreads: Thread[] = []; + let followingIndex = 0; + let organicIndex = 0; + + while ( + (followingIndex < followingThreads.length || organicIndex < organicThreads.length) && + interweavedThreads.length < (limit || 30) + ) { + // Add up to 4 following threads + for (let i = 0; i < 4 && followingIndex < followingThreads.length && interweavedThreads.length < (limit || 30); i++) { + interweavedThreads.push(followingThreads[followingIndex]); + followingIndex++; + } + + // Add 1 organic thread if available + if (organicIndex < organicThreads.length && interweavedThreads.length < (limit || 30)) { + interweavedThreads.push(organicThreads[organicIndex]); + organicIndex++; + } + } + + return interweavedThreads; +} export async function getMessages({ threadId, limit, @@ -1007,4 +1182,71 @@ export async function userFollowOrUnfollow({ followerId, followeeId, jwt }: { error: error instanceof Error ? error.message : 'Failed to follow/unfollow user.' }; } -} \ No newline at end of file +} + + + +// chatbot follow or unfollow function + +const getChatbotFollowStatus = async (client: MbClient, followerId: string, followeeId: number) => { + const { socialFollowing } = await client.query({ + socialFollowing: { + __args: { + where: { followerId: { _eq: followerId }, followeeIdChatbot: { _eq: followeeId } } + }, + followeeIdChatbot: true, + followerId: true, + } + }); + return socialFollowing?.length > 0; +}; + +const followChatbot = async (client: MbClient, followerId: string, followeeId: number) => { + return client.mutation({ + insertSocialFollowingOne: { + __args: { + object: { followerId, followeeIdChatbot: followeeId } + }, + followeeIdChatbot: true, + followerId: true, + chatbot: { name: true } + } + }); +}; + +const unfollowChatbot = async (client: MbClient, followerId: string, followeeId: number) => { + return client.mutation({ + deleteSocialFollowing: { + __args: { + where: { followerId: { _eq: followerId }, followeeIdChatbot: { _eq: followeeId } } + }, + affectedRows: true, + returning: { followeeIdChatbot: true, followerId: true } + } + }); +}; + +export async function chatbotFollowOrUnfollow({ followerId, followeeId, jwt }: { + followerId: string; + followeeId: number; + jwt: string; +}) { + if (!jwt) throw new Error('Authentication required to follow/unfollow chatbot'); + + const client = getHasuraClient({ jwt }); + try { + const isFollowing = await getChatbotFollowStatus(client, followerId, followeeId); + if (!isFollowing) { + await followChatbot(client, followerId, followeeId); + return { success: true, follow: true }; + } + await unfollowChatbot(client, followerId, followeeId); + return { success: true, follow: false }; + } catch (error) { + console.error('Error following/unfollowing chatbot:', error); + return { + success: false, + error: error instanceof Error ? error.message : 'Failed to follow/unfollow chatbot.' + }; + } +} From f584fcf67d63d4dea8d028139395386b5039990f Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 17 Dec 2024 10:11:04 +0100 Subject: [PATCH 13/21] threads by following user/bots --- .../components/routes/browse/browse-list.tsx | 21 +- .../routes/chat/chat-chatbot-details.tsx | 8 +- .../chat/onboarding-chatbot-details.tsx | 12 +- .../onboarding-chatbot-mobile-details.tsx | 12 +- .../services/hasura/hasura.service.ts | 181 ++++-------------- apps/masterbots.ai/types/types.ts | 4 +- 6 files changed, 76 insertions(+), 162 deletions(-) diff --git a/apps/masterbots.ai/components/routes/browse/browse-list.tsx b/apps/masterbots.ai/components/routes/browse/browse-list.tsx index b37c78c8..170688f7 100644 --- a/apps/masterbots.ai/components/routes/browse/browse-list.tsx +++ b/apps/masterbots.ai/components/routes/browse/browse-list.tsx @@ -31,6 +31,7 @@ import { getBrowseThreads } from '@/services/hasura' import { debounce } from 'lodash' import type { Thread } from 'mb-genql' import React from 'react' +import { useSession } from 'next-auth/react' const PAGE_SIZE = 50 @@ -42,6 +43,8 @@ export default function BrowseList() { const [loading, setLoading] = React.useState(false) const [count, setCount] = React.useState(0) const { selectedCategories, selectedChatbots, activeCategory, activeChatbot } = useSidebar() + const { data: session } = useSession() + const userId = session?.user?.id const fetchThreads = async ({ categoriesId, @@ -57,14 +60,16 @@ export default function BrowseList() { const threads = await getBrowseThreads({ ...(activeCategory !== null || activeChatbot !== null ? { - categoryId: activeCategory, - chatbotName: activeChatbot?.name, - } + categoryId: activeCategory, + chatbotName: activeChatbot?.name, + ...(userId ? { userId } : {}) + } : { - categoriesId, - chatbotsId, - keyword, - }), + categoriesId, + chatbotsId, + keyword, + ...(userId ? { userId } : {}) + }), limit: PAGE_SIZE, }) setThreads(threads) @@ -115,7 +120,7 @@ export default function BrowseList() { categoriesId: selectedCategories, chatbotsId: selectedChatbots }) - }, [selectedCategories, selectedChatbots, activeCategory, activeChatbot]) + }, [selectedCategories, selectedChatbots, activeCategory, activeChatbot, session]) // biome-ignore lint/correctness/useExhaustiveDependencies: diff --git a/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx b/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx index 6128e924..b4922a06 100644 --- a/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx +++ b/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx @@ -135,6 +135,7 @@ export default function ChatChatbotDetails() { console.log('Starting new chat with:', botName) } + const followed = Ifollowed({followers, userId: session?.user?.id || ''}) const sharedProps = { botName, @@ -147,12 +148,11 @@ export default function ChatChatbotDetails() { isWelcomeView, categoryName, onNewChat: handleNewChat, - onFollow: handleFollow + onFollow: handleFollow, + followers } - // const followed = Ifollowed({followers, userId: session?.user?.id || ''}) - - + return ( <> diff --git a/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx b/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx index 95c79744..42ee60fc 100644 --- a/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx +++ b/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx @@ -1,9 +1,10 @@ import { Button } from '@/components/ui/button' import { Card, CardContent, CardFooter, CardHeader } from '@/components/ui/card' -import { cn, numberShortener } from '@/lib/utils' +import { cn, numberShortener, Ifollowed } from '@/lib/utils' import type { ChatbotDetailsProps } from '@/types/types' import { Bot, MessageSquarePlus, Users } from 'lucide-react' import Image from 'next/image' +import { useSession } from 'next-auth/react' export function OnboardingChatbotDetails({ botName = 'BuildBot', @@ -14,8 +15,13 @@ export function OnboardingChatbotDetails({ isWelcomeView = true, categoryName, onNewChat, - onFollow + onFollow, + followers }: ChatbotDetailsProps) { + + const { data: session } = useSession() + const followed = Ifollowed({followers, userId: session?.user?.id || ''}) + return (
@@ -85,7 +91,7 @@ export function OnboardingChatbotDetails({ onClick={onFollow} className="border-zinc-200 dark:border-zinc-100/50 text-zinc-500" > - Follow + {followed ? 'Following' : 'Follow'}
diff --git a/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-mobile-details.tsx b/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-mobile-details.tsx index 93ed7512..d6a79adf 100644 --- a/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-mobile-details.tsx +++ b/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-mobile-details.tsx @@ -1,9 +1,10 @@ import { Button } from '@/components/ui/button' import { Card, CardContent, CardFooter, CardHeader } from '@/components/ui/card' -import { cn, numberShortener } from '@/lib/utils' +import { cn, numberShortener, Ifollowed } from '@/lib/utils' import type { ChatbotDetailsProps } from '@/types/types' import { Bot, MessageSquarePlus, Users } from 'lucide-react' import Image from 'next/image' +import { useSession } from 'next-auth/react' export function OnboardingMobileChatbotDetails({ botName = 'BuildBot', @@ -14,8 +15,13 @@ export function OnboardingMobileChatbotDetails({ isWelcomeView = true, categoryName, onNewChat, - onFollow + onFollow, + followers }: ChatbotDetailsProps) { + + const { data: session } = useSession() + const followed = Ifollowed({followers, userId: session?.user?.id || ''}) + return (
@@ -121,7 +127,7 @@ export function OnboardingMobileChatbotDetails({ onClick={onFollow} className="border-zinc-200 dark:border-zinc-100/50 text-zinc-500" > - Follow + {followed ? 'Following' : 'Follow'}
diff --git a/apps/masterbots.ai/services/hasura/hasura.service.ts b/apps/masterbots.ai/services/hasura/hasura.service.ts index 3189a472..ad47e59d 100755 --- a/apps/masterbots.ai/services/hasura/hasura.service.ts +++ b/apps/masterbots.ai/services/hasura/hasura.service.ts @@ -368,131 +368,6 @@ export async function getChatbot({ return chatbot[0] as Chatbot } -// export async function getBrowseThreads({ -// categoryId, -// categoriesId, -// keyword, -// chatbotName, -// chatbotsId, -// userId, -// limit, -// offset, -// slug -// }: GetBrowseThreadsParams) { -// const client = getHasuraClient({}) - -// const { thread } = await client.query({ -// thread: { -// __args: { -// orderBy: [{ createdAt: 'DESC' }], -// where: { -// ...(categoryId -// ? { -// chatbot: { -// categories: { -// categoryId: { _eq: categoryId } -// } -// } -// } -// : {}), -// ...(categoriesId -// ? { -// chatbot: { -// categories: { -// categoryId: { _in: categoriesId } -// } -// } -// } -// : {}), -// ...(chatbotName -// ? { -// chatbot: { -// name: { _eq: chatbotName } -// } -// } -// : {}), -// ...(chatbotsId -// ? { -// chatbot: { -// chatbotId: { _in: chatbotsId } -// } -// } -// : {}), -// ...(userId -// ? { -// userId: { -// _eq: userId -// } -// } -// : {}), -// ...(slug -// ? { -// user: { -// slug: { -// _eq: slug -// } -// } -// } -// : {}), -// isPublic: { _eq: true }, -// isApproved: { _eq: true } -// }, -// limit: limit || 30, -// offset: offset || 0 -// }, -// chatbot: { -// categories: { -// category: { -// ...everything -// }, -// ...everything -// }, -// threads: { -// threadId: true -// }, -// ...everything -// }, -// messages: { -// ...everything, -// __args: { -// orderBy: [{ createdAt: 'ASC' }], -// ...(keyword -// ? { -// where: { -// _or: [ -// { -// content: { -// _iregex: keyword -// } -// }, -// { -// content: { -// _eq: keyword -// } -// } -// ] -// } -// } -// : ''), -// limit: 2 -// } -// }, -// user: { -// username: true, -// profilePicture: true, -// slug: true -// }, -// isApproved: true, -// isPublic: true, -// ...everything -// } -// }) - -// return thread as Thread[] -// } - - - export async function getBrowseThreads({ categoryId, categoriesId, @@ -506,6 +381,19 @@ export async function getBrowseThreads({ }: GetBrowseThreadsParams) { const client = getHasuraClient({}); + console.log({ + categoryId, + categoriesId, + keyword, + chatbotName, + chatbotsId, + userId, + limit, + offset, + slug + + }) + const baseWhereConditions = { ...(categoryId ? { @@ -559,13 +447,12 @@ export async function getBrowseThreads({ isApproved: { _eq: true } }; - // Get double the limit to ensure we have enough threads for interweaving const { thread: allThreads } = await client.query({ thread: { __args: { orderBy: [{ createdAt: 'DESC' }], where: baseWhereConditions, - limit: (limit || 30) * 2, // Get more threads to allow for filtering + limit: (limit || 30) * 5, offset: offset || 0 }, threadId: true, @@ -603,40 +490,47 @@ export async function getBrowseThreads({ limit: 2 } }, - messagesAggregate: { - aggregate: { - count: true - }, - }, user: { username: true, profilePicture: true, - slug: true + slug: true, + followers: { + followerId: true + }, }, isApproved: true, isPublic: true, userId: true, - modelsEnum: { - ...everything - }, ...everything } }); if (!allThreads) return []; - // Type assertion to ensure allThreads is treated as Thread[] const threads = allThreads as Thread[]; - // Separate following and organic content - const followingThreads = threads.filter(thread => - thread.chatbot?.followers?.some(follower => follower.followerId === userId) - ); + // Separate following content (both from followed bots and users) + const followingThreads = threads.filter(thread => { + if (userId) { + // For bot content + if (thread.chatbot) { + return thread.chatbot.followers?.some(follower => follower.followerId === userId); + } + // For user content + if (thread.user) { + return thread.user.followers?.some(follower => follower.followerId === userId); + } + } + return false; + }); + + + // Organic content (neither from followed bots nor followed users) const organicThreads = threads.filter(thread => - !thread.chatbot?.followers?.some(follower => follower.followerId === userId) + !thread.chatbot?.followers?.some(follower => follower.followerId === userId) && + !thread.user?.followers?.some(follower => follower.followerId === userId) ); - // Interweave the results with proper typing const interweavedThreads: Thread[] = []; let followingIndex = 0; let organicIndex = 0; @@ -660,6 +554,7 @@ export async function getBrowseThreads({ return interweavedThreads; } + export async function getMessages({ threadId, limit, diff --git a/apps/masterbots.ai/types/types.ts b/apps/masterbots.ai/types/types.ts index 21251f15..b2b21aae 100644 --- a/apps/masterbots.ai/types/types.ts +++ b/apps/masterbots.ai/types/types.ts @@ -1,12 +1,13 @@ import type { WordWareFlowPaths } from '@/types/wordware-flows.types' import type { Message } from 'ai' import type { UserRole } from 'mb-drizzle' -import type { Chatbot, LabelChatbotCategory } from 'mb-genql' +import type { Chatbot, LabelChatbotCategory, SocialFollowing } from 'mb-genql' import 'next-auth' import type { DefaultSession, DefaultUser } from 'next-auth' import type { ChatCompletionMessageParam } from 'openai/resources' import type Stripe from 'stripe' + // * Chat types export interface Chat extends Record { id: string @@ -242,6 +243,7 @@ export interface ChatbotDetailsProps { isWelcomeView?: boolean categoryName?: string onNewChat?: () => void + followers?: SocialFollowing[] onFollow?: () => void } From 29f4f7e9c71c66c0af01bb5986ff6413e5ce1504 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 17 Dec 2024 10:16:13 +0100 Subject: [PATCH 14/21] update --- .../routes/browse/browse-chatbot-desktop-details.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/masterbots.ai/components/routes/browse/browse-chatbot-desktop-details.tsx b/apps/masterbots.ai/components/routes/browse/browse-chatbot-desktop-details.tsx index ac1a6b53..0be90996 100644 --- a/apps/masterbots.ai/components/routes/browse/browse-chatbot-desktop-details.tsx +++ b/apps/masterbots.ai/components/routes/browse/browse-chatbot-desktop-details.tsx @@ -3,7 +3,7 @@ import { Button } from '@/components/ui/button' import { Card, CardContent, CardFooter, CardHeader } from '@/components/ui/card' import { cn, numberShortener } from '@/lib/utils' import type { BrowseChatbotLayoutProps } from '@/types/types' -import { Bot, BotMessageSquareIcon, ChevronLeft, MessageSquarePlusIcon, Users } from 'lucide-react' +import { Bot, MessageSquareIcon, ChevronLeft, MessageSquarePlusIcon, Users } from 'lucide-react' import Image from 'next/image' import Link from 'next/link' @@ -109,7 +109,7 @@ export function BrowseChatbotDesktopDetails({
- + Threads:{' '} From 917aad822412ac12bfe1761c07a4ca6b89235fcf Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 17 Dec 2024 11:01:30 +0100 Subject: [PATCH 15/21] update --- .../components/routes/browse/browse-list.tsx | 4 +- .../services/hasura/hasura.service.ts | 48 ++++++++----------- .../services/hasura/hasura.service.type.ts | 1 + 3 files changed, 24 insertions(+), 29 deletions(-) diff --git a/apps/masterbots.ai/components/routes/browse/browse-list.tsx b/apps/masterbots.ai/components/routes/browse/browse-list.tsx index 170688f7..a18e53b8 100644 --- a/apps/masterbots.ai/components/routes/browse/browse-list.tsx +++ b/apps/masterbots.ai/components/routes/browse/browse-list.tsx @@ -62,13 +62,13 @@ export default function BrowseList() { ? { categoryId: activeCategory, chatbotName: activeChatbot?.name, - ...(userId ? { userId } : {}) + ...(userId ? { followedUserId: userId } : {}) } : { categoriesId, chatbotsId, keyword, - ...(userId ? { userId } : {}) + ...(userId ? { followedUserId: userId } : {}) }), limit: PAGE_SIZE, }) diff --git a/apps/masterbots.ai/services/hasura/hasura.service.ts b/apps/masterbots.ai/services/hasura/hasura.service.ts index ad47e59d..bdf2883c 100755 --- a/apps/masterbots.ai/services/hasura/hasura.service.ts +++ b/apps/masterbots.ai/services/hasura/hasura.service.ts @@ -377,23 +377,11 @@ export async function getBrowseThreads({ userId, limit, offset, - slug + slug, + followedUserId }: GetBrowseThreadsParams) { const client = getHasuraClient({}); - console.log({ - categoryId, - categoriesId, - keyword, - chatbotName, - chatbotsId, - userId, - limit, - offset, - slug - - }) - const baseWhereConditions = { ...(categoryId ? { @@ -452,7 +440,7 @@ export async function getBrowseThreads({ __args: { orderBy: [{ createdAt: 'DESC' }], where: baseWhereConditions, - limit: (limit || 30) * 5, + limit: (limit || 30) * 2, offset: offset || 0 }, threadId: true, @@ -511,24 +499,31 @@ export async function getBrowseThreads({ // Separate following content (both from followed bots and users) const followingThreads = threads.filter(thread => { - if (userId) { - // For bot content - if (thread.chatbot) { - return thread.chatbot.followers?.some(follower => follower.followerId === userId); + if (followedUserId) { + // Exclude user's own posts + if (thread.userId === followedUserId) { + return false; } + + // For bot content + const isFollowingBot = thread.chatbot?.followers?.some(follower => { + return follower.followerId === followedUserId; + }); + // For user content - if (thread.user) { - return thread.user.followers?.some(follower => follower.followerId === userId); - } + const isFollowingUser = thread.user?.followers?.some(follower => { + return follower.followerId === followedUserId; + }); + + return isFollowingBot || isFollowingUser; } return false; }); - - + // Organic content (neither from followed bots nor followed users) const organicThreads = threads.filter(thread => - !thread.chatbot?.followers?.some(follower => follower.followerId === userId) && - !thread.user?.followers?.some(follower => follower.followerId === userId) + !thread.chatbot?.followers?.some(follower => follower.followerId === followedUserId) && + !thread.user?.followers?.some(follower => follower.followerId === followedUserId) ); const interweavedThreads: Thread[] = []; @@ -551,7 +546,6 @@ export async function getBrowseThreads({ organicIndex++; } } - return interweavedThreads; } diff --git a/apps/masterbots.ai/services/hasura/hasura.service.type.ts b/apps/masterbots.ai/services/hasura/hasura.service.type.ts index 98ac8a33..be332c77 100644 --- a/apps/masterbots.ai/services/hasura/hasura.service.type.ts +++ b/apps/masterbots.ai/services/hasura/hasura.service.type.ts @@ -59,6 +59,7 @@ export interface GetBrowseThreadsParams { slug?: string | null limit?: number offset?: number + followedUserId?: string } export interface GetChatbotsParams { From e641ed201b27fd3589363123cbbc8229da7068b4 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 17 Dec 2024 11:07:43 +0100 Subject: [PATCH 16/21] update --- .../routes/browse/browse-chatbot-mobile-details.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx b/apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx index ddd4e8b8..919c493c 100644 --- a/apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx +++ b/apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx @@ -6,7 +6,7 @@ import { cn, numberShortener } from '@/lib/utils' import type { BrowseChatbotLayoutProps } from '@/types/types' import { Bot, - BotMessageSquareIcon, + MessageSquareIcon, ChevronLeft, MessageSquarePlusIcon, Users @@ -43,7 +43,7 @@ export function BrowseChatbotMobileDetails({ {chatbot.name}
- + Threads: {chatbot.threads.length} From 8c009c575434ad5e94e16ca56ab7e79dfee070c5 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 17 Dec 2024 11:39:57 +0100 Subject: [PATCH 17/21] update --- .../components/routes/chat/chat-chatbot-details.tsx | 5 +++-- .../components/routes/chat/onboarding-chatbot-details.tsx | 1 + .../routes/chat/onboarding-chatbot-mobile-details.tsx | 1 + apps/masterbots.ai/components/routes/profile/user-card.tsx | 4 ++++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx b/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx index b4922a06..ab71810e 100644 --- a/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx +++ b/apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx @@ -8,7 +8,7 @@ import { useSession } from 'next-auth/react' import { useParams } from 'next/navigation' import { useEffect, useState } from 'react' import toast from 'react-hot-toast' -import router from 'next/router' +import { useRouter } from 'next/navigation' import type { SocialFollowing } from 'mb-genql' import { OnboardingChatbotDetails } from '@/components/routes/chat/onboarding-chatbot-details' import { OnboardingMobileChatbotDetails } from '@/components/routes/chat/onboarding-chatbot-mobile-details' @@ -24,6 +24,7 @@ export default function ChatChatbotDetails() { const [threadNum, setThreadNum] = useState(0) const [categoryName, setCategoryName] = useState('') const [isLoading, setIsLoading] = useState(true) + const router = useRouter(); const handleFollow = async () => { @@ -67,7 +68,7 @@ export default function ChatChatbotDetails() { } as SocialFollowing ]); }else{ - setFollowers(followers.filter(follower => follower.followerId !== followerId)) + setFollowers(followers.filter(follower => !(follower.followerId === followerId && follower.followeeIdChatbot === followeeId))) } toast.success(follow ? `You have followed ${activeChatbot?.name} successfully` : `You have unfollowed ${activeChatbot?.name}`) diff --git a/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx b/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx index 42ee60fc..57c89fff 100644 --- a/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx +++ b/apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx @@ -88,6 +88,7 @@ export function OnboardingChatbotDetails({ diff --git a/apps/masterbots.ai/components/routes/profile/user-card.tsx b/apps/masterbots.ai/components/routes/profile/user-card.tsx index c6a306f7..94c44774 100644 --- a/apps/masterbots.ai/components/routes/profile/user-card.tsx +++ b/apps/masterbots.ai/components/routes/profile/user-card.tsx @@ -1,19 +1,28 @@ import { Separator } from '@/components/ui/separator' import Image from 'next/image' -import { BookUser, BotIcon, MessageSquareHeart, Wand2, ImagePlus, Loader, UserIcon, Users } from 'lucide-react' +import { + BookUser, + BotIcon, + MessageSquareHeart, + Wand2, + ImagePlus, + Loader, + UserIcon, + Users +} from 'lucide-react' import { Button } from '@/components/ui/button' import type { User } from 'mb-genql' import { useProfile } from '@/lib/hooks/use-profile' -import { type Message, useChat } from "ai/react"; +import { type Message, useChat } from 'ai/react' import { nanoid, removeSurroundingQuotes } from '@/lib/utils' import { useModel } from '@/lib/hooks/use-model' import toast from 'react-hot-toast' import { UserPersonalityPrompt } from '@/lib/constants/prompts' -import { ChangeEvent, useCallback, useEffect, useState } from 'react' +import { ChangeEvent, useCallback, useEffect, useState } from 'react' import { useUploadImagesCloudinary } from '@/lib/hooks/use-cloudinary-upload' -import { formatNumber, Ifollowed } from '@/lib/utils' +import { formatNumber, isFollowed } from '@/lib/utils' import { useSession } from 'next-auth/react' -import { userFollowOrUnfollow } from '@/services/hasura/hasura.service'; +import { userFollowOrUnfollow } from '@/services/hasura/hasura.service' import type { SocialFollowing } from 'mb-genql' import router from 'next/router' @@ -23,30 +32,37 @@ interface UserCardProps { } export function UserCard({ user, loading }: UserCardProps) { const { isSameUser, updateUserInfo } = useProfile() - const isOwner = isSameUser(user?.userId); + const isOwner = isSameUser(user?.userId) const { selectedModel, clientType } = useModel() const [isLoading, setIsLoading] = useState(false) - const [generateType, setGenerateType] = useState("") + const [generateType, setGenerateType] = useState('') const [bio, setBio] = useState(user?.bio) - const [favouriteTopic, setFavouriteTopic] = useState(user?.favouriteTopic) - const [userProfilePicture, setUserProfilePicture] = useState(user?.profilePicture) - const [isUploadingImage, setIsUploadingImage] = useState(false); - const { uploadFilesCloudinary, error: cloudinaryError } = useUploadImagesCloudinary(); - const { data: session } = useSession(); + const [favouriteTopic, setFavouriteTopic] = useState< + string | null | undefined + >(user?.favouriteTopic) + const [userProfilePicture, setUserProfilePicture] = useState< + string | null | undefined + >(user?.profilePicture) + const [isUploadingImage, setIsUploadingImage] = useState(false) + const { uploadFilesCloudinary, error: cloudinaryError } = + useUploadImagesCloudinary() + const { data: session } = useSession() const [userData, setUserData] = useState(user) const [isFollowLoading, setIsFollowLoading] = useState(false) - - const userQuestions = user?.threads.map((thread) => { - if (!thread.messages?.length) { - return null; - } - return { - id: thread.threadId, - content: thread.messages[0].content, - createdAt: new Date(), - role: "user" as Message["role"], - } - }).filter(Boolean) as Message[] + + const userQuestions = user?.threads + .map(thread => { + if (!thread.messages?.length) { + return null + } + return { + id: thread.threadId, + content: thread.messages[0].content, + createdAt: new Date(), + role: 'user' as Message['role'] + } + }) + .filter(Boolean) as Message[] const [lastMessage, setLastMessage] = useState(null) const { append } = useChat({ @@ -55,69 +71,71 @@ export function UserCard({ user, loading }: UserCardProps) { body: { id: nanoid(), model: selectedModel, - clientType, + clientType }, onResponse(response) { if (response.status === 401) { toast.error(response.statusText) } else if (!response.ok) { toast.error('Failed to process request') - } - setIsLoading(false) - }, + } + setIsLoading(false) + }, onError(error) { toast.error('An error occurred') setIsLoading(false) }, async onFinish(message) { setLastMessage(message.content) - }, + } }) - const handleProfilePictureUpload = async (event: ChangeEvent) => { - if (!event.target.files || event.target.files.length === 0) return; - const file = event.target.files[0]; - + const handleProfilePictureUpload = async ( + event: ChangeEvent + ) => { + if (!event.target.files || event.target.files.length === 0) return + const file = event.target.files[0] + // You can add validation for file type and size here - setIsUploadingImage(true); - + setIsUploadingImage(true) + try { - const { data, success } = await uploadFilesCloudinary(file); + const { data, success } = await uploadFilesCloudinary(file) if (!success) { - console.error('Failed to upload image xx:', cloudinaryError); - toast.error('Failed to upload image'); - return; + console.error('Failed to upload image xx:', cloudinaryError) + toast.error('Failed to upload image') + return } - - const imageUrl = data?.secure_url as string; - + + const imageUrl = data?.secure_url as string + // Update the user's profile picture - await updateUserInfo(null, null, imageUrl); - + await updateUserInfo(null, null, imageUrl) + // Update the user state - setUserProfilePicture(imageUrl); - toast.success('Profile picture updated successfully'); + setUserProfilePicture(imageUrl) + toast.success('Profile picture updated successfully') } catch (error) { - toast.error('Failed to upload image'); + toast.error('Failed to upload image') } finally { - setIsUploadingImage(false); + setIsUploadingImage(false) } - }; + } - const handleUpdateUserInfo = useCallback(async () => { + const handleUpdateUserInfo = useCallback(async () => { if (lastMessage) { - try { + try { if (generateType === 'topic') { - setFavouriteTopic(removeSurroundingQuotes(lastMessage)) - await updateUserInfo(null, removeSurroundingQuotes(lastMessage), null) + setFavouriteTopic(removeSurroundingQuotes(lastMessage)) + await updateUserInfo(null, removeSurroundingQuotes(lastMessage), null) } else { setBio(removeSurroundingQuotes(lastMessage)) - await updateUserInfo(removeSurroundingQuotes(lastMessage), null, null) + await updateUserInfo(removeSurroundingQuotes(lastMessage), null, null) } - } catch (error) { - toast.error('Failed to update user information') - } finally { + } catch (error) { + toast.error('Failed to update user information') + } finally { setIsLoading(false) - } + } } }, [lastMessage, generateType, updateUserInfo]) @@ -128,50 +146,45 @@ export function UserCard({ user, loading }: UserCardProps) { } }, [handleUpdateUserInfo, user?.profilePicture]) - const generateBio = (type: string) => { - try { - setIsLoading(true) - setGenerateType(type) - if (!userQuestions?.length) { - toast.error('No thread history available to generate content'); - setIsLoading(false); - return; - } - const promptContent = UserPersonalityPrompt(type, userQuestions) + setIsLoading(true) + setGenerateType(type) + if (!userQuestions?.length) { + toast.error('No thread history available to generate content') + setIsLoading(false) + return + } + const promptContent = UserPersonalityPrompt(type, userQuestions) return append({ id: nanoid(), content: promptContent, role: 'system', - createdAt: new Date(), + createdAt: new Date() }) } catch (error) { - setIsLoading(false); - toast.error('Failed to generate content'); - console.error('Bio generation failed:', error); + setIsLoading(false) + toast.error('Failed to generate content') + console.error('Bio generation failed:', error) } } useEffect(() => { - return () => { - setLastMessage(null); - setIsLoading(false); - }; - }, []); + return () => { + setLastMessage(null) + setIsLoading(false) + } + }, []) useEffect(() => { // update bio and topic when user changes setBio(user?.bio) setFavouriteTopic(user?.favouriteTopic) setUserData(user) - } - ,[user]) - - + }, [user]) const handleFollowUser = async () => { - if (isFollowLoading) return; + if (isFollowLoading) return try { // if no session is found, redirect to login\ if (!session) { @@ -183,24 +196,28 @@ export function UserCard({ user, loading }: UserCardProps) { const followerId = session.user?.id const followeeId = user?.userId if (!followerId || !followeeId) { - toast.error('Invalid user data'); - return; - } + toast.error('Invalid user data') + return + } if (followerId === followeeId) { - toast.error('You cannot follow yourself'); - return; - } - const {success, error, follow} = await userFollowOrUnfollow({followerId, followeeId, jwt: session.user.hasuraJwt as string}) - if(!success){ + toast.error('You cannot follow yourself') + return + } + const { success, error, follow } = await userFollowOrUnfollow({ + followerId, + followeeId, + jwt: session.user.hasuraJwt as string + }) + if (!success) { console.error('Failed to follow/Unfollow user:', error) toast.error(error || 'Failed to follow/Unfollow user') return } - if(follow){ + if (follow) { setUserData(prevUser => { - if (!prevUser) return prevUser; - + if (!prevUser) return prevUser + const newFollower: SocialFollowing = { followerId, followeeId, @@ -210,30 +227,30 @@ export function UserCard({ user, loading }: UserCardProps) { chatbot: null, followeeIdChatbot: null, __typename: 'SocialFollowing' - }; - + } + return { ...prevUser, followers: [...(prevUser.followers || []), newFollower] - } as User; // Assert the entire object as User type - }); + } as User // Assert the entire object as User type + }) toast.success(`You are now following ${user?.username}`) - }else{ + } else { setUserData(prevUser => { - if (!prevUser) return prevUser; - + if (!prevUser) return prevUser + return { ...prevUser, followers: prevUser.followers.filter( - follower => follower.followerId !== followerId || follower.followeeId !== followeeId + follower => + follower.followerId !== followerId || + follower.followeeId !== followeeId ) - }; - }); + } + }) toast.success(`You have unfollowed ${user?.username}`) } - setIsFollowLoading(false) } catch (error) { - setIsFollowLoading(false) toast.error('Failed to follow user') console.error('Failed to follow user:', error) } finally { @@ -241,179 +258,233 @@ export function UserCard({ user, loading }: UserCardProps) { } } - const followed = Ifollowed({followers: userData?.followers, userId: session?.user?.id || ''}) + const followed = isFollowed({ + followers: userData?.followers, + userId: session?.user?.id || '' + }) return (
{ - loading && !user && ( + > + {' '} + {loading && !user && (
- ) - } - { - !loading && user && ( + )} + {!loading && user && (
-
- {/* Profile Name */} -
-

{user?.username}

-
+
+ {/* Profile Name */} +
+

+ {user?.username} +

+
- Threads: - {user?.threads.length} -
-
- -

bio:

- -
- {isOwner && ( - - )} -
- - -
-
- - - {/* Bio Section */} -
- {isOwner && !bio && ( -

- click - to create a Masterbots biography based on your thread history. -

- )} - {bio && ( -

{bio} -

- )} -
+ Threads: + {user?.threads.length} +
+
+ +

bio:

- {/* Stats Section */} -
-
-
- - Threads: - {user?.threads.length} +
+ {isOwner && ( + + )} +
+
+ -
-
- -

Favourite topic:

- {isOwner && ( - - )} -
- {isOwner && !favouriteTopic && ( -

- click - and know your most common topic. -

+ {/* Bio Section */} +
+ {isOwner && !bio && ( +

+ click{' '} + + to create a Masterbots biography based on your thread history. +

)} - {favouriteTopic && ( -

{favouriteTopic}

+ {bio && ( +

+ {bio} +

)}
-
-
- {!isOwner && ( - - )} -
-
- Following -
- - { formatNumber(userData?.following?.length || 0)} + {/* Stats Section */} +
+
+
+ + Threads: + {user?.threads.length} +
+ +
+
+ +

Favourite topic:

+ {isOwner && ( + + )} +
+ {isOwner && !favouriteTopic && ( +

+ click{' '} + + and know your most common topic. +

+ )} + {favouriteTopic && ( +

+ {favouriteTopic} +

+ )} +
- -
-
- Followers -
- - { formatNumber(userData?.followers?.length || 0)} + +
+ {!isOwner && ( + + )} +
+
+ Following +
+ + + {formatNumber(userData?.following?.length || 0)} + +
+
+
+ Followers +
+ + + {formatNumber(userData?.followers?.length || 0)} + +
+
+
-
-
-
- {/* Profile Image and Follow Button Section */} -
-
-
- {`${user.username}'s { - e.currentTarget.src = 'https://api.dicebear.com/9.x/identicon/svg?seed=default_masterbots_ai_user_avatar' - }} - /> + {/* Profile Image and Follow Button Section */} +
+
+
+ {`Profile { + e.currentTarget.src = + 'https://api.dicebear.com/9.x/identicon/svg?seed=default_masterbots_ai_user_avatar' + }} + /> +
+ {isOwner && ( + <> + + + + )}
- {isOwner && ( - <> - - - - )}
-
- ) - } - + )}
) -} \ No newline at end of file +} diff --git a/apps/masterbots.ai/lib/utils.ts b/apps/masterbots.ai/lib/utils.ts index 605905bc..5bbac38f 100644 --- a/apps/masterbots.ai/lib/utils.ts +++ b/apps/masterbots.ai/lib/utils.ts @@ -352,7 +352,7 @@ interface IProps { followers: readonly SocialFollowing[] | undefined | null; userId: string; } -export const Ifollowed = ({followers, userId} : IProps): boolean => { +export const isFollowed = ({followers, userId} : IProps): boolean => { return Boolean(followers?.some(follower => follower.followerId === userId)); } /** From 17b2740aa7f0cee40e09a0c7e97fbc72feccc358 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Wed, 18 Dec 2024 15:37:48 +0100 Subject: [PATCH 20/21] update --- bun.lockb | Bin 408776 -> 409016 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bun.lockb b/bun.lockb index 6efc9fddce3813767b8ee661ef1b1e27f597cfd9..2d3434e468b32d43bfdf0d0a902180490d7e8990 100755 GIT binary patch delta 73874 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 delta 73689 zcmeF4d0b8F-}l$rwb=`iA(eSJ$RP^Zjk`ib$XsSc6iphaNM$-14;C)-Jd~NxK**Ts zn90m>%=26k&*!_YRln}veeU~pKd;yGJpVjrznnhT_kGRZYh0_%$@pfGTVOG-MS~7y zwzN30vwQgM#FwqAc50n*JY#70U&p)8J>ps+KIQ51)Ar80dt``K=PC(86+uWm0IdwQ zgqlM4;YWFBs9$JU&2fG_W;PW4Nlb)RfcAn?v41)8Tu~|yRP~LM zAebZm5tKSVNS4a##k#V4S@VQb23}S~P)LN|NI@8@b~(zGmz@u-hCI)pSf+Ciz2gHSMa zCb|Ppm;tQ{+uB1AETEQ9YS0Z7M9v702#AUb3W%sGi@Lh?i$`EWCthl?3x;~~W{wNu&9n=$MkQ(8#@-ch{t!~xnI`jZHRRC_m+e0|Se z5E?+Q_TcG9*5lA*cqlbDh-*S(Ulq8kYOSiJs#;aw59S%~L93#G zv#MsOx=~dbim98Jq-vO|gH=6(j?s)>9zesGAS8AJpaKKKLc`!E!5KD9-R4jl=l?@J z{riq4po0HfJ#`$#J<$*yp?Os~l+S>mNbB)|eo;a_jDtM8LIq8Yf%38njT8LPeM&by zoDcOmDA@s#cGdwgQ9?juXwXP(LNvX|QPalq@{}C}b|=_0MJO$O;*g&_9TE@{78Dl{ z&;)au%Bu~fbd{kLUzxYBS)xvDXz@-N84xlqAVLrV{X$0vp}^|VJY(5td9+Dm&j*;Y zR9^9ne=&~F?BbdK?=wEkKN_tUgdlYVJV1JChdj^3BB5|1p9Lf1`8-|%=g=-b05&x; zG9Y+FKtw=5xL*W<0kLH;a+EnZz;8GeI%AT$E<&S%u;E3H2n&gh3JQ+QRnuibY1vIc zI?@OzHNGFTmLMb~dZQv*SfOFziu?Th{UZXQtUSBq%f}+%GbcMwu#dMm*`JX*}OjDD4M)SHwDSK}FQl;ta*3(d0Lt&{mB{xzrA! zVKVo?G`3F3O;->O%oK#$*ozZ) zAV4kh_X`T93f`dtI#YVg=K2eiwh&V&I+f@EHHR8QD?rEiMFqqlpKhQWQK?13Lu98B z-0(Yhn8!TD(}@qEw%|F?dX#+uUnaJ&sn~1CN5$2FP5XkQ%$rpawkhmOu&G&#Q7(;S z-1s26JqQ!v2bvK^igYFqhS34&6C7lBg)P^Yrn zL9L^(`a?#9T95FH@{2<}4Mp+d)S#hM&-)F$LvOa@WTDA&6Mzaj4JCUZJV35;-pL!Z z1xhY#4yE|^h^O>_?&2N_j|hqk867Fu@8%6R+QTb;0h>HiJb7=zCQs%-siVPZ@IQIr zEC7vF3pL`*UOpN3L#d~$pj2V9%HyH5nu{wA4jUgFG%7Ia6dFWxV5DDkaFiejBf}y> zaE1t1z^NWPG@R-&9l+B`2^qXaouHJURwj3OaRVH|X|-3&;;!2OrByNyS`8Wxr6G!h zQjc07JvAT#8*Y?!P-JljYJgMv;tte6LuhC!mq&mq9u*emPp8N?d45&%ggJ+KvnHw< z3?;`$9pQWkZ0bkV9PWpnu&J2`U{f`#pyX%)%@r+9s% z0)iq@ns6MPiW#5F-IxcZe(eP(4L{A(N8w!Y^A8S4QOjv@hUXg|GGYw1^Ac>Dpczn1 zu!O`4NJt&8agNW_O^BeW{s-*(&|Y!8!ni;9c$r_|4ITz1N0xJa5o3C^f|7D!-2}g-sJ@8AR`iO;z6R1VOL^Ah!TeeqmfRIZY6Jp7DW6htj~pOGU+2IDFs2=U-F6HmS44Ib_n5)h1= za40yx76={=zVTiU56~)T8280bOBBuOm$y~b?=wG`y`VI=lD_czg1%ttp>wf@vs@!=@hYhf;YdszwAv zh6Rrc5Ms2VayJTvQiFy;DP2M}6@=3}1AK~K8x)@dt56VSNGU5SlW?JG4-Z67M)*aH zj0_kT5E>OZM#l^M45g0Xm>Dr5C?ec1G!_T-@W9CE;Sqk30Yb}iqB3d2gCa0VBNK!W zxRO3%c~R+cRA2yZ^0C4fBqR^ifl`6R&jX|Jd_(C+1dk&T{31pvI$iZ-2-FhkeV{ZK zJfKyeQYBH@r*A>2-1ATq+TgPhAlF6th11C-Y=li?{idR*tlJR*{?Sy$HP}>eJrqb< zp{gkS0zF@ayLKOx@~r}=ov$9&CJoUm@Osdx$WQShP?{S)(CW1QXH@3}w>IZ3J8H>$ zT&ISptW(@|tZ`@u##`|CT}VegbEzpRvpWsxX+0a)5|zoj2uc;lp35hijpo%3Z75EVu$w6J4aQg{t+CVp`d?A$jkqo7g3WbuR{GgPsJCr(P52bRd zsPO`n{PGeFr~0ldiYasw0V;42v?eqjN<$rp5ugkMp;Ykd=A3s|?UB};_kz++u5H0r zw+`{-2`4D6cE6Ya>)~M$0oE$74kZt@#}ukYQ)q+@&+raPJ$ecy*U`&GJIvjFYJ7Vr z6*wYncvM7CXh37ww7=DYQjcv=AjRKm%`3=((p)dzMmE8whE0J|x}|oakU%{g13*3Q zt*QeS2{oj)p1ZaRl%`feTi(FB_T07D)ck_|Mg&xWO&KJ(=d#%2cdZ^G(;z7aP?%yDL8Fn9W~TV>@4X zeQDmVP7h31O_R?gT{e-Iw06@qiCNtC;M8C1%6YAQbuSG^RyUcH`AW8FV^gr&?Tm6Lzp@?TNAhdmh%xPb|Op@U|q+jiEd8>Xs=x za?`~0iw7Ss6Gk37{(9cnJF)Ng<=u8YIB8ht;pH35=zD9qS^A3_(+-Y#_~ZNzt2QR$ z5;?D}n{Mg+9dGmwuB)g@usiTEOt=3iS8(sWmW&f=WUzkiAchDy6!qWNX@pf{a zLp>Y!^818s=Z?;9?e*l#{wYn%PAoHcxy$U0p)(^!XAkc3{AA74g!?<5?i0EnP3v?0 zp#O3?+|gd1=iq5EW5snJ<9-#69G*NPZR;{Gp9&`$+~~=AHjpzMt>hRNE7O44Rh<@` zP4k~SMQHP|#+j4y8W+E`o=#;&Q_tfr)w@S@_i0$|(8|>}F1?a{oo#gCZWFg2NpPwt zCp)iMV6bp&W*#mN>K*%LbYQ3a@eiD`dwlV6tamgmJ95V8W&PW{b|2_#=UvS~e&A?j<=i;M*0kNcwdMDE*RHuVIC^H^rX8&> z9(z;H*(GVGI4?E5ZT;haeTwTK+Zg8Qk`HXUY%%^)^Ry#|WMd{J$H7%yAaUHE5&{P(`+Ur{J z6dE~cv|cQd3r4$&{bYwRuHtezc8sg^M{7Z7j>Ki;q<(s-Y#Tvn2TPQ5I_SmDvO}<| zI9rYlc9rU5%ju%TBz4kDV_>yaEYVjlt%XIojN}|Iz4j5THgZu9C&?U1x+*+ruDuQh zWiggffOb8C&a#V_lk}WI;9A*zm|oJO;XDf(AWeZ~gE(}rhh9p9)eDx=I7w?S2xvPR z?%qc)+RK??u2L`<`kSaxnx85=gu6<09eBD*vb(oln**zt>@v(rs_Mu)1jlsHYX`&X zC};O`lGY>SjxwsqIqmh*Ygp7eky9fJ@qSXPUaJ;7 z0S{WCB5ETB6mkBr$b-h@L2-c`8|^Ax2SXN=g`SI5mt&M%2`vdTkR-jCOLi zmy(Mj5j5H(71s_q7?k`h?BsVM2%^Dc-=XMJGNlu+u{t%pTU|5tsFK*-ff zyw;%uO)Shl?IeU8WtYxQ(piMMD=FLu>m?5lLGb12=h*9D^iYf>AHD81ESlscg=;!? zl(XUt(j+vHYK0qn>NU9?Wyc8y?RP+XIlHfu)TR^fGDcv4UXo# z)`b_zLL8P#2&@ird?zPqH$pT+B$=A{78a&PVp%!okiD)mH!z@>2%}VsPm=YpsPD$g z&=LXgq}O9?%pLU=P~z~U9t6g&;fQ7-D^tn=cDcmdsD!B@OE%?d9$E5RV$0;H*@ zG+8pmP|&o*mg@Bp7)Rorx+ybo~8P%3xP%bPzIOn(qW!~P>@ zv`)r?mi#bDXi8$mVY6Egs|Rhq+K&hsWS8~MI-inZMe_BqXdUof?=>tcT$%h*U925m zR8E3k=Ld^iSh8ZY8;K~p+jE4-;e5ZY+n-x#qL*Ik3yXI&2lHZvYAI)fCcD2JH`}1e z9Uy1@ZqSS$C>Q>2&^{W7-&>L2HHJZQ+&qJ{W)OG3KxZXKtmxO+lguI3o$1Xw0OG)<#q0UOExnFT8x+HX{BvjVFIJSopieKbx zT!Q{A2{jvzUt}u9MU;dxOG3hk;@D0Ic_`^-mxL~rgsS5egAywZM97VgM+d!bD=cgm z{~7`5qe|eJ!Fm&?k^Fa4#)2S}k#oG8(I%}49w`?xgR~owlo^A91*sV&$1O2vyW+{% zTaI7iq+O0sHzo9}BxDy@%qEwFE+FKkq^l7`E}^``OG4X9LZ3@QhSA08ep5o(E1Zo> zkmZ=-NPmPnDaEChgx-~e^ufiklMwPy(j6-a=|YNGx028TB~-M`nIiderTw-}D4)|< zTK)8zVWD#2DucuT)s@*rFI|F#{T}NZt54G;OwL+u(2Nd~3s)O->%#cr;fo+VQWC@D zxHSfiX}FxV#-MczM?tbnA1BScaM^LKL3>RBI0-eC#>!c14N}jsd^PaG7mSr1*BLZN z$I5Z*3|iv|LHJcUgj*m)8#?wsAH6ghRts3zDsYl4f#oI_c{^$HBIK;~2FWIpw_Z^8 zF#Nhl$*Q3#q1^;aNi024Q}Js`y(pds+wB&6ooe6=LWkEz$#EO8Ap^ETr2;uhsu#^m z#R7*l2o`w=ix~UUI#`ratDNCiVbPg@a{}|sc${3g$)GWelN~p=RiPK}s3N z9m#i^d{`Zj3A+&b>pY(CNxZ4kVYNdXKZbH)QA#CFTOkIO(Ow`qBg8pfMG|4r)u6Q; zzS&bVZ=#&F*&v;qSh7=Z)N4%QWychQW@5Y?mtv4E#+Mp%srn?o>?EbP3t`bwhD8>v zm(G`1IjD%<06WXstDU5-2vNV03a8~nShSyGPwuIgF2k~ih0bo&OXU)|#jgqNV9`*+ zd${;cf<@g>E`QpiWGNeLnIt}5@HoyKH(1!Id5gpkvcoo4Y4BuTKTaMGy>eFm1gHEgxlP30|DE~AV`G2AYT<0hU2x(|IV;T|4x>4VJHBk(&Z%7vDuuvi1n9UUUP|R+&R5bbN-hF#`Pvi5YUi zK39_uu-hQJfR8ClvJjQ+TxvX*`v)`2SFargtA*?`!AY8n5Y>&FG(2^PxMC?6C^Zfb zGw4;V-_<^{oR;t~td2@6X{Khu;u8ZiRqHno-x%SooG%D7mCy==0+mgw`T~Ai=e_lZ z)dS@yS2l5voSEq=y#nj5FdDs1GWQi)fjjFASTyO3l}Yp*7WoSIA3Tb=FDzcn*h93_ zU|}xzags6-Qn$tJ_Qs3IU)Tq={)+`+w9>dg5$Z!BsV&1-jZmPnVQII(8m%5H--_2O~zTbOb|kO>W}ui<$^FoF=#wzz{11k zQ)goYl&huo@(R?Xw582TxUnSZLb8}Konn|h^e+M2e(q7Ewui&Sm{ua`fZ41m=}iKBs@3yT(QW#y_dX`>w1 z$slEHEZ)>9iDpyj2mC&;Xk3-~shPJ)&N^X`o&gR3#2W#e+wC^Rq;s&SXlw{6daW)M7A+S|hg3Q1ltDWSpsO73<0RgY9dcbY z4YtT}xdth63+_cq-AQBg(otBwU@7OL)Nm_bFns%thsFKxe%f9KgJv;Y^t-)oTk$QJ zru0Bq_DVZoY2k z@|5Fo)#$iG&N^$57VY3qNw`_8(M#81^+RGjGfmJ-p*xGcK<^Yz!ur>IY`lvKDspv_ zLJ{hZJa~VCXWLJ(l-a{_DvI{vZaM3`K^wmt&Q;EpI(tgyKka<5Xt4MJejOIIUD<`D z25H5Q7&O@?z~Tc!RywSXN=mYdVA0Uwq65o)FHgx|c07R9M~M@$9NO$FnSR*yr^4cX zPx8kD0<1ptHb7&uUv|7?&;;(6;~=Z|%UPGOfA8mhDkrRbcLwuq(r&l>B+H;sM@UmJuIv6xj%P4bgk7_B`P^~7LJcg}Q>W9!!q>_|p$!D<0 z0hrG?_FEj{&&p`UYQ1LoAvx}bL38VnoCT?RST2ODIxIWpVd);`ZbCk6L(PwrTrcp_ zY8ot>#r&E00xWWD_$x+U04=3#)gxbk2xa3~Qkqd7cbd8VlY$ao%2|p^w-7;vl z9F?;mFOSNFw+xciF@Af2zdiJtk;mk?+Xku9aeg%7$n33`Tw&45z-EIdfOW@Z$2*u5 zfb9Tr(qr+|I8l63iQ{lcz#=d38`?ow23T07I7|dt2u>Ri5%~NHGE1gyl;@=0Nj+q=_T)RIrf38B<2>+P+a{qt#jqV z2L@>lpcfM2b{?k}pUJTgU8N?c@hk;~`2?@W!J>&#R@pH3!=mj6uU?|;bug$FGz`0e z(-}UCm5Zx(94s5T=$*6iS>+hOw$KkDnmNi`k*>lbZ(wa>Mz=l3ovB#b*|6HNY@O(A zjF583N#5s+S3hlobN=9y7c&DVdxHx!-t@+B7D9MEhJ*V8LY_+bG+5>r`3|Y%Qgrf}e zDHRrt1zL*N)DK~`QSPX{uk-OkL-y#U3|RkKClziK?}a$xw4SgG%6grS5S7IbqeHN0 zc43q;13svhveLBO@|3RN#5>|u~n0eQD*cI3mN>8@Pb zbZu|(0Vr98QaDH}r2%yIUWG-=i2JhoZJw7;oIbEGh~uw0$H7vU9wyITSoU%}p8Z}?2&qsHhW?kk+~PNrL9oar%KomMN0!p{ z;|NhN;hcT;;ypR*y+O0~p6vL=pm}poj{AbG`##^0;aWEwaIjpIa&oZwW!{$^zZx`! z_vN^+21);*WUz4tO3k10!Nk1BDIEg~d*4?lX(vK70hA#UU&;jquG%rr z=w4P-;H1q(sG}09_`EnY5+Ph!C>9~Sqb+cfG%t8tl(SXS|An0O&7fTihzGlGP8y4s zvg3DycG63%MA_xLllD47O1YX^ujE2R^?n6+Dut#a)J_Q%AjA{7zLp(-7^DTS`I)Wk zU(z*LYX8Ia8uK@DA(GsD!?!GK&3L2#mhYVyqfUBpf}Hu&ReB6IOz|2$se8PmDH;FJ zNs2{?4t7kqL-u81(00OCTDZTYd(Wpe-|Ys&qLEb2IcYttwy=~9UA)OMMG?OZ`@mNV z)*Ei`gJHQM32p{%dhH5WcuL1+@Dd^Z8!G)rKJ}FJ;&|p@ghDn0(vFJ}?yQ#{!lM3S zq;MbT@`+p6J#c%S4U1ZjMYvio{e(r$R~EaJ___FT3cI294y-OTo3y`wDQ?DTgt{yH zzxh{Q4suSmH->>r?ptRa0-bp2cm-yhkGU?p;A|R>5OoXA?yDEqv4S$9tM)!%7iF{d zC{Q;&X*ohYlm^j;{1O&Tb~LsQ$UdTjLw8T{@I}5#rsUGh)Mkuya1}CyYsPs@2iyMTSZdZ+{xY{0pPs^z2s1aXTlmCt=CP0MRET+va&#IKr}4L3O8+7 zR3UG63w%$Gju>tQ!=k*{K{0;&VA1U7$Jtjk4r>7qq^Z8}5fz@33 z{Z0jZ0S~|5!DQ`+5T(FAf?L3B;;^uuP~RC?G&huckyNb$9~SIR9rPysVcAj~2H6bv zGd{>OL0c#}Xy`Ij3#SZ*^$9GsXK3%QCd|cdXRq(tB;b0ehKG;@AwUZ zRWh5kX&@-&l{0;RP&twM-;!0)hmuyA-|udh=Z)hHWpKZN-HKMx`7u!zk=h;Pdc z@WnwMI|w0MG||Lm2&p?D-jscZr95J5{qgNUygy#y=o^QRJL!-)(3jcz{V`D5hlS7P`6s{BiI@7BI7wMKD;#B&^PiSJTwgZotRrp1UzN6dJL$p@qO(oiHSbC~6~N8d-KsW2)k-$92ErP`3xRVo zVbNK|Q&w)yrvi32+zAH5;&%daM0#@;XNxYI;wzCvu?OKLOQdRHLc+QGVDa+|=b+XC zUz+SL7iBo>5TMNj{amZpZc#9Or6V692XJGSVSD}|rV9_ax{T)-uu9dP_<~kcA zfcLomPTC6y*^%!>W0u)Ubk$k5;kB2nMkx$rAT^er;lwj6wlywMW$`sjUJZICdBNgG zJvn15EWWPj7YJWraYw__dgI%czErcA&I;O~pyql$w7BgA*y~`>yhc@NdT|%av_lFz zd=ZmRCrox}0W5yHP*rDOwO9I=G+AHS#DSkGv_om}UuXEHiE^wDL5v^LRg%R*y>u8B zjbs&NBt=Kw6&(5N@sthA331A4ASSX*J(^(VBr3n0LXuN@DHs+FHjWs4ck5t!ti5MYE1?jTlT!LH)h?~%iYRc3idN&H2?`hoKpA7y2vQ2hsx~P#V4`aOol?Bg8&#>i zB&4T`r>iP1WtH?kH~Y4vNKxl!7}|-KFx-!-$1E{?^OMu>L)0DN-O0nM~VNlCj3_s|BpDv|G#LN!l^Um)s~Y| z&_uOKDZZl0O`+zno2c>sBSroHdl~)@r^f;C9~(eDvQm52RP6~V@n2PK1~p=LJE+@- zjhc*<=A0drkY44aw3wV!byYbj1>IF`uc`->s_O`)Roxj%bH1m_dqL>~O;8H%r-J`Z zDT%L|?(dWuJ{a*-@enl~DK)?kN{cN}<^NI|J~e_e2B``DPI2)P4kDhC9KsJue;BH) zQq?{|k@%1jKcn)qP>MQFKT2x?0J-*(8bL}ez6zxZuBn`qc%EvLQt%djP(}Bll>Pz1 ze^c7uo~WFZg3nYtfdUkMp@Py%1-?|{U#sz?RNzM_HRubJI#39u^xvTLDXoNxR9;$< z561^ep|R0XY5zl|3M(KzRcHdGvMZ_iNvXW*Dz{L1X{Gcv6przy02NeIO-M==)Kz&s zmH(YmR73or+1(6E`C3A$JR4PQq4Xgo-b&ThPz}vLI~BBr;*a1!5l|;G{!OU@S8%GZ zlbWtGlnU+wrMcj(+C5aeFO-ICAQXRuA^1V*heB8@N}gW|rS>mZ`D$nd*ju4=@*IRx{n=3Zlvc`j7@VSx;s=#~Qq?mA z@qzMXOMu#UOO5!SC{=I=>B~W%sQE}K_#8hd{-w%GD>e8PIO%I6)K7soDtN1AASM1z z)%Pm@JEe*~s`3AwQhA@$bS2uM6d)Jn!=?fYp_Jj9s^6hBBt}Stpg@1ynLeatSZy!S zoHh3nb+ii!71g-EQ<_#))p$~>qnc`$R^nzVC#7=DRhyLJEmXUdCMffwshXjgnt+rt zG*|7?O2`I3X!_bisdG+hI#SB#tlFd$@2cAWS^0EQ5>SiX)eIe=RFDUhcqi5Ngwp)! z1*H!u#rIL;`>LFj^7m8K2TJMstMMh;Moln4jVP_u^1%Pap#yQkn>fDo;{5DRpa#vAQl1P&S+yYQmXN z%J@5!DqH}i3=378srFK674WT4nzehN_#^D6AF5LROxRT3At*KYuo{2Z82zX4F*V{i zlro%xQiZ3Xv=d%X^%|5ax}(P5gG#WULMh)1D1AsN|0~rdrHWsxHYvrwrG1eK$X7uj zloEb}(ub7n@2X9z1gSgpfl@&lC^bNT)mKU73B>_Y%3!KSkdj?lwMoen z<|?;P)e=e#s0pRdf2UOu-va30sI`3XWB9uVw^;zLRmIYFtXu28DL9clvY4y6w% zHPBnNNy+Y^+N6}Pmuml=($lEWTTR$kRUb72DYKyi4Oy(r~v#RI}l18 z35HSwL!i{bNQ%ch1z{Wl)Y2GLB+!q4Qz{^l(y@>*tX>+*Sum-dxlpQS0hE%- zlnlB^jb8$#Pidu1X`RYTE9Kju^3qE6Y*sn66-*8&L#i6_->HUKhl@=TXbtUElao@r zGoW-h=Rzs!Jbus~cAE@Uss4MgNgqNf>WOMUhf*_M5>%D^@CtT$=vOtqK#NhQG(Yge z5^9dopp2GKIv(oN=%`9lwhe4*NINLaKyN5L;08dcoY7FKXbhAp8V9B8%Va1ycs7*s zEmir(GGllTQUK^fN(H1sDMOmdODlOS3!HkMt?Cgd<;#ImgKj{nBR8S+AvI>N$BK28 z^ZGuSz>lC*%o8nnipz(X(j)CP&p};^RbM&%_E?IPf#l03zYg* z1f@@Dr3O+Y6(Fjrp~U$7?<~R{;gp(; zl%mh5HYpW<7E0){YF~lU49$a5`rE4BgHm~aLh(mHsL!GYm=}QrZ$Cb(m4q zgJ=L+>q$^5V5+LWK`X&t45b2AK*_^vReLj(e7OTkpVCSV-vdtN?Nj6blTweVrTbM) zS2aV`Oej@&2uck-0;SK9^oKs;`hVUVlkf1Mx3T1&f8HDa^WL}|O$2=YUa{c+K7w%frTBl|8>G#L<_>qYB0sp)={^z~1 za0G9pXhQt+-WX26=f8fR{Lg!1<;mlp_r~hm)Bm5}8(WSSKWW|Cj!xb2Hag;gc;MX? zY23NItMlu&ZkyTjz9FXb&q2q96$$lr_3Rh?b+c{0e%H;^^p2OclNTSEd_`V=*+1c` zc6M-jw|MbLIhLI)dNJQ*(S(^GB(`SK4AF<_W&niD0I*~IlSQBOj2U9LrfwD^&S)o9 zskCop*y$}Xt)9*rU8BQD(*btBS**W!dwSQEUR~nPnyqV=pP682zU*_ejShW7W*z7e z-ZH+&E(!nV%PFE_~4y`YoO#7qN z^MEw7do|c={A;jm@J5Z7=B>cCY}E8)DW}ox?HfSe3#@Phi0>H??P)mTBkOsZJaZOc zAA!$IJOhwHAm9wZSGJo#;5h)Zvj7Fm?<|1Dd4LlHzOl;Z0CEXLp93gjIRs+<0BCd` z;3pe<9>D4Xz%>93{xVyGKg514kI1w?K#W9onMm?Q5W5S=q-9ALkjefMz+(bsne9b@ zX9N~q1d!N60!uCfcw7P~&*onO@Vo->nScp%zYLI1VB=+gO6)y>l&b)JuK-kLYp($K zUIWlx1*pn;UIoxy2iQlzjEUC(G6)1*12AX12?X8%FuM+5$^5PZSmXhmAW)N4z5$R+ zAo>PCZI(kI<|aU+Jb=1vY#xBsEr4qT>a+Sc0rCh;y9v;cT_TWt8^G=sKqHoP3&8#k zz+(bUnC)$VX9O1A258D25?FEz~T|W z2?9>c_6a~PfkjUMT-ZYbF@FJgJOyxN^Pd7(JqGwpz@5226Me*XY$-{5_MW5z>--$z z!Pb&=WCbLhSkD&_PnJs3nTanUU08n-FSeVcE0bP9x-mbJ?ktnUn^k@d>A`|Xda@jn zUd-|hq&FK&(ubWU>C5WBh4f>wBtGmCi7#vV4$_|`kqlrrA^iu^y+{2RPum!kw7zy1 z=j@)Q^YwXSjSEKC-f_QG*p;_ILIZ!>!xihe?LU8Ez=PTM>euS*)yQg9#fG8DiRR^h z-YLJS%mx3+p(slfepLDa9mHn5M=gWdLy{rP;R9qSn@=)~Jty&F?jIrkY$?fb_MT(} z>--54z}AwCWCbLnSkKRpK$c1p#KbR<(X2no7`B@vm`PtDA<<2Xh7!Mc7MzAbo%cFpKRb;Q154Oam~7`Dp<137jDCJF9G@@mZ9j!D2Ro zJ)h;kX1*doBVz!WjWq_)X#lPfSj6gU0Wt_oqed`xi9nzcfL$4Yr7WoofQ2!Y@d(Xc z&c;4MvvUbtBe0Uy{|g{SOJ)28u$o;WU{!|7cnq+XB|QenE2F8v{(3BS71#6So?I3w zT*{)Bjci6))MBp#cuin4bI<`iBd}5jkjkDDSRw&*lK{4|r4oQ=Ie;Pp+gayw0Qm&A zmjl?z3J9c>2N+x)U^h!G58zt?z@!2|8tY#HKxYDwO<*6BOaL+ngqQ%NvrGbk6#;5j z1juAT6#*^XrY)d0Fx131f;Rs--f11KVJ zo^>_@$S1Jf4B!GQAdpfWU~qMSODwfIfUh}#i8;U(*54dJX918+;2M)G05S-KSODB$ znFInY0cu+U++;zP02Va>&J(!JENcMd5{Rz>aF?AX5K~iQ(lyuH_m?C=9=SBX*Uy?~ ze)I@#BiXe!tz>E5V(PcEgYKQ_)MHC}isi?0?d+rqW!C&YVDFN?xxJ5{S=hYW+$T+X z|M|7lPII5d)o2s|)awEv*aSSr4Fyz-!jI9zZ^U?ezfOvH}7r^#KOg2YAm? z>jU^U05E9)@R9Xz0HA9KkWJt-lNthK5C~}q@Rel}2>b=0_AdYhEa(>ii$(zF34CLg zjR0~9#5V#cVy6kjGzPG44Dgf1HU_Y20&tgr$eK0*$RjYP34js1Ng&w@z{Ltc%Vt;s z*f#}uO`t4uXbSL*z{;io5_?Wy$*%z2eg!Dcmi`Lh*$kkFfC=l|3?QGt_GSQ;SOI~Q z<^Y4615{?I%>jI^0Zgm`s|x4(^dd^1m?5?Xvl67NNx?_ z(i)%+5MU2r$95CQAYkSIpl5y# z0D+DGCkQyO%8mdQP5{x408T82KrVqsP5>@!tP?-*?t{rbQ zRcqHJ>qr_aYOk?i(SPC`>dVCTs3@ZYDhgGKewm+qbeiv$b>{F$|J14xA z{u=6&an1U-v2IpX?kQis^m(o-XD z;q6@q(ne)^mm3gy(|K#I`N#dCPrij2E%f>_;upP*W5J%>UAeEySl0cTX?}4-eBkNp z_i8Qv;PA2j#M@yfdwD+kjhPJ6guBJ{o|p4x-iLBa6K$NAWyJisp?AA2p0)Ir_sp)e zuo-f_MbqC-Ja4n~kAe+#?_8f=IN;9~Gd&+f+J5%EX#Mfxi~Lb*SoR=vG9d8N#IY4l z2bDdysoKtA!9QnTeID^->!nwTW|fy`IBd`kJu}IrqP9WXGHu7t@afpEO0w1J&xsv3 zN<$_{wNh^kqQ4|t{7kU2bSF1e8S366G*EWfzCN{ao7D^I6_#0iwCa@LpC4`w8M4cA zRv+!}`jsQHEIodP3<+8FzTeE3?K;evF*rDX^>>q`tJZ7Uu#mx60M>)CuvV8YxZ>3% zL0jyXShD=^XOE{Xi87m)GugCVZXchoeUA_7lE1#~^T2nTeJx)cD73eJmetBp`z>pz zmEIfw@K(5K*6k)gSnVMw_b$rCeYNQjnrcI6?hOH0&u$V(9!hg>D8NQGV<>?AFo4$p z-8PqQ$~^a{i)((%@vL{K<_tsEU4L$EI%rS#=$V4+Z{2TRXp%UFb>ANTeO%DB-xig9 z)FW@xsq6L26fXZmH?qo>x}8S6DxA*l4ntE`4nsw$?D;TMw8Re;b@Kz*%9i>8c=`hr z5x}+AA0VH=c7Fg|dkLfr2N*mYU^h!04&XZiz+?mfuDv4wbO8X_1aR#Q0LUN^5&)3S zG6@8Z1gJd{0N37;02ZSF&J)13cN9P_f%s7Xxb_l=2?VeX1i-a75Wp%3;4Xn2)-(tp zkHDNDfMe_?f#lHuE~5cXuo8C6*Kg;2Q?;n7|cg8x5cf*O(-%cse1=#pq|E zzQOLNi?2`fAK%wGz~8S~o3tnXckZ=lXY%aG^7xL)3&&URJ#}XNx{QKy*Qck|t!+0; z+jnz=Xu$GcWe->CD$ui>j3IPM#elAIh-zF9&2K4(6eIoChG@%GA-79B3utzuv6n$6Ue z_h;L8N$FCN7_b>LXIq4rp~;U@D72e62M8%FkNtZQ&+_1@|0wm4NBecUjI@v^ORa4;Cj+xeO_?UF7p_ z^Ju5tm8MH3-btCYBNnanc6>LqYWnfkRgIdPdBvIcd0Mf~U&DohDi3}R{MN)ZBs?X`# z-!$`#-S+o-7xb#?q&=(lH`)E6QT8z-;~!h{m_w(_o9p?HZvM7f=7VEgLDy%yI0^;k%=#E^4e8wNPGyApPySLD(+9yeE8uAh4` z#_@b^nNvL*-Sa)_ZPM`E=%BXyKbrMpbLQZ<%$eJ3__oQ(i!0@~)}7ruX7-Tg)02YA zUOv6}roT_w^<~1U-foiW+iIAVg{Rq+>HViBEbRG5x$Cd?-XEMfKlFvPGnTo`)#SRx zY)hP2X~=`fWrv-o|I%VZa;rwQj(rrnwNCw2p7J={tNn)T!=vUqI<=hoX0qGDl=Hb) zHaF&5uJbp)8p4Pg)Y0(usmUV8x6>mXmFhz=8y3*`*qxZ|^ZF@gc z9Qbg2!^NFu7TkY-p!2fbFTbt6y2}3g>@Kf@pLFl?(%11>t@O{oYc7f`8<#MR-iVFv zfmi5(3otnv^~7v(V43r2`p7h&763T0panF22%HD#=2F_fUFT}f)_G8|aoo>Skq`Tx>)futS-Z?WU3QgizBc8`hwy^1@Ew+V z7P1g4^)o|7uFQQ2DzaLHii(y1xU>%K+>dz@o(f zc=T8d@Qi>56^cg>2C!rafXQ+IFV=rKfag*GvlRf{*lq&(OEuZ7_DX=BENG>M-ks)< z^k$Z;5UpE*^zo|@-ItvvkU_wDHGmHrD+2_s1h^&x^k?-K0$8j9n6?mLAiG2$mw??O zfWa(j5kSmpfX4)eGFxi5)f((lw|{vMJL3Ae6C3KhnX&mwm!wC>f|72p%G;GaYsWA9 zZ|iSAer1zg@$(t`+DYZd_5V8TYsBY-pn^`9XBj1w>lC-p;eM&5;Kwpopx8VV%cfCV zhqI<@0Fu`N%vl2vz-|(-UkBi_7GM;cu@>MNf#^d3K`iGGz>@UXN+xaa_ZQ+MMuh{_HwVqD$QL#JLufi&!0j&?C?G{Y_LzmODon_=*zNGF%Qi) zqoR1`w;2`1Y(YgQ2qdt|DF9Ym0isg?l2{IbJb;9k1H2d3EBb9^-*xGGnz;3hYciyD zq>U$` z-JvQi&dq##Wbo@5O_JxBFZtPPiCa>Q#$#rUsk;94%wugnr+rAuzL%Ku)pFRr!y!*! z_0M*@S|QA?zJJui-erfH?~l-}V)5J1qid;X?=)6_3)*YH9UYjq1+M$8bWH}IkE5NY zefgB~RBU!QQWDnuT(!AqmC*d^r5^qvaVtA&o%~xLU%56SEZN@5VA`eW_@*Xyo_)8n z*7upv+swI;-QA8mN7Ft_ecaxx`q{o~LH(g+E$>#^-t$85-D~YeX$zVJ%szB{y4U*J z?`^%aCWRiY-OA(E`M5of**{+guNduBr`ELvb}dWI+8HcqE1J7x2b%kME80Jc*=_^y z+zGH~8^9d)kU%~GkL>`zv-#TrQg&hewD{2Y{)ffqTLyOM`6g-8xABi$EsywQMi-n| z+S)LDlHOu%wA8<6#o7b@T6CjY!k!&FHe~ny#qH%pi^_5HPej%1g?|dGT>rIzhZ{b_pm!=3lTrawE}_JX$3#$U3hj#`Uq?MFQ)_P|eTOZ(|wL+Q)*8teB> z{c>$Z(B$MzH%-bsN*+6JvUjH#+nR4O5}YS?F|NBkIkW6u$6L25jbHB8rD{iSb6t&J zR<<8>ZSH~1?EHTCDLM`9U(a&VP*HL^D%waL+Q=;T0@!B&#P0>z%uW+{M!Kq`yf z2e2d);4Xo!tm%FL&n$pB`_b6#r5l@*dn<1DyDLrl=j8i0-FMn|SKhmdAAI(#onw?5 zcK%@vadrLsx7>GBb^PAykNDrS&Q-rGx}>9`ooq%r zDoQy3XHV&1A^Y?%TX~oKXjtU)kPh+5Wmc|!Ycs<5Naqpt?(L{Eb-Hh_PCK(_rfD)= zKYg_++|qGt?GBrth6OkKKI@_Nfn}wfy_-2?pjh97X#dI#)RV@Z6VPP?bjt+T$ChRS zWB_yxKG)Ss_u$4@vGc%MC)zGCnlV3ed2|o$ty>;{TDBfKs(VqbX{<`SO$)>^zZINL zOkX&*`My0zICq@YXymIqr7BKmowHDE;33qrJqz_@GWX*E7KZ^g9tSwU-V?|r zV6q9WE&k_8l-t_4wqn7GaR<|P4L{y*;l+hfF~^3SXO2?Vl@Zxh(|-1v{~-S1*(;qY zCnrs+cmHJ3M(K_F?_t~Ke(!Ru;i7SAxqHG{$Pu_U`yeVh%rdi4kyQ>V>U#nphpjyU zkVim!5;Y$yJ*ZVH?7notdl_q9)~eUQnLobTTz!+X-t2;7>d(J^y}dv(_lwVL<9Ye) z{0#+LzLs5Cc}=A3{bSJKvoAIb=`z=DQjEmnkD}(+bb_8>4(m{n{V`Ouavi`a_ME^o z0^Mjzo@V_w0W3LAO`!wxEE5j`c%A?V$p$#jD$}8xPhc<_i|5nSlK?3v0ZdK-Tw?uC z0r;K*$R==wNx1;JTq+|M;2O&$kU^mKX@DCn=rlm!X@K(tZZgX=02XHe;?DrwW~T|{ z60klCaF@lN1&BF|dGb-5b380W2<gQ27;t)I%Io?QgfhL4Z4o;759w$79slZM$!>6;H9d!7tz$^Srq^Wl z$2$$)9!*A8Huj3Pq0uz7#HSxxDwZscbiRl+VYLd%Q8A|Wd2mR1kDG^e1bkGP| z7@9@4Mw=-C?=sw@(>k0gsXiSs7D|qC`s=)k_SabpVkb4OnhRMzonlz%>>2#=Ru?%mkj8xJEE0R{*fvuq@9K;M)~VY>eSTH zvL7{!LQRVQ|KgkR2F6rroLTYzT6}nLPz(Bh*wK54y6M?9jmnC0k73o)(eqj6rK|h< zu(9GJTXK|4KaSH6Tb`R-bew|u)j9b4B8vO-Pwf92574lDE@w*rTopdLzu2|gMqUZ@ z&u(F-D)|)KG%v=}4}4~+X((r$%4Yws-o68@ilk}xoWsm93nD1tD8YmQBnV~^*PL?} zMS`M8HU}{0xGQDOx(1A^Vp?;~Ig6MxX4mX}Yo-T~1;6kApL_3leC?jD>gww5n(8n! zjY#9qY=$C@WlTmIlljx~VS;a}NW)vjI_01VgwsV{eB&Ocn<*IiyDj`vjsTb|(q;-q zKFMUINJ|iDd=|zkk;aoyj`Fb$YegEL8^%iU2l$&r4d)0xK5!#RNy9t5^8_QG;&C0| z-+YnAU+LFTQgpfnB8`t=;Dg8b$A^)z9KLqpPxkR!B+~foAwElje?0rcKjnCU93pKQ zr=fi141(Mu@lTQ28tM5&+Deher+8>@Bd-!^e8S`rZd?3TBaJI>0~{4;iGq)hGPxkq zcy`B1+W~RAk;r|xP9)kRz7uKOhwDX}3GvNHqLZYK!+#=GPk>(`Qwu-c3NGm4Nl90wVE)Jw}E%4he_(~wo zinHzP5NRb5?=JXuDtXcVrI6SNiEKPPJL9Ht0rY}#w@53Ev}7jY$A`*sv<&bV5jL{D zBCRaqJCMdkwhw76rW^ogulx=PK381j=OYIA$EVV9)D6I}qx_DDwDP!06=_FBnmevX zh_quO%>&nNuo*T+KFp5g@gY35#rw%8M4A`UKB6z#cH&No#0t3Rg=XbGJcTrFR{VJt zU3a8$AD$6uK8X7x%@N@_kya7$>PX}6x**c{?4rs@D~9kA(pVWjUG$}B)ypbh9G?cR zdxON{2(Jo89CoaGCm64ZG@QY$96X0WIie5A{Fh>M797Fvmf)*__#W0CzhtB_*%#O+ z((VYpnn>%!Cnj>g-W7>{h`(f2@w+F|Y9aoINV_l6enVPb zk;dl%a)1hhYX|A@rah-*(qv_lBnAnhg;>?tqJJR^vZC0SDNDD+9NBHX$1w>j9(o(rJ{2WDEFyb$f#!5Mfv`TEr z`04l3w|i!#$nm~eO&WLK%v2%@oY6om&==?j@I+uBz=Qu_UA)f5G?-v&fC0-J!pfX%=bU@MRWYy-9fJAj=4pLM+v z;6Z!~kVG>dn7xeK0k5_b*aehEt;zr;;QdMhr2rm|`5>K@z$#!hum(s3cv$9PI46(` z;L$fPz$0#cfJfQMFn0b1YCmuQI1KPe%OmS?KD6otA}4{zrg>QAQJ6(d6{ltZG~UqCC<}5055^pz-r{-W8YE$K1J>ex}zQXqCL{+ zz{f|7@?6A|y(-U!!jTXOl!L}R1FnvEd7vzyM+P%M0%RZuP!XsE;xB$a|IN&zSkdI$$3A6(EthZ@Mn}p6PijWUg z;-fY@04a#y0eH4@A9w)ZP{26d57;38MFl=mkdG()hRolA9q6^403ZCy=Roq&ldAzf zqjDv{XICx<_-xCi0H49>3)BSoMAL!*PlI^c!zZ48g`Dre58xBvhBC|ZpNw!v1b@^- zS@|tRkF5ZB4#bNzUX=0C!h9&NH{b(Q1PTKd0H2+l1IP*F0&)X+0G^BS+>0k~Jezz3 z@EnSdvBtbfS+y2J=)yC|AfP?a0q6+W116v-a2?IWb1FVW{xEO^I0_sCdID3?Qhel+ z2jB^K0TqDqfE(Zfyhh~?0+WCv;2(={91sZv^JI$WNkxGrAkGA)0qb$y6leyt0FIzP zj{$saVH2P!&>Uz1v;^7#?SYO!cOVc50)l}awEdM?`MBB;lYq-PFq0Pu-vMpVGd$IL z4m<*MNJ|7CpZNI{SOX*ie6ngd5CKF2QGg%t8&C(R4>SN80*!#iKoh_S zpb^j*XaY0^-mt0hUmWQT@ceK%YMKizksG*(_()(hunOQg;497q@Lw0128E{s1A!61 zNMHhB2JC`zC%|_Ss15W3{}{*^3ycHS0_%Ydl<$pMj<`5vkpcdzEX9B%khTHafgM0R zXu|>C72@M(FXNW{8{nM=KBSa)7kD>;4+C}vT!7(dKVGbNMc55!1f)PVudR74og1hJ zIu?s@${IHabq)t206(A>&={x$1^7VD70B=p3gLBbDsT&MLqUuV5I!4WFQ7ZX%h^r< zFJXNEUbgazl$XSP5Jmu;M+Q0>3Szp6n(aja`+)tx0n)!UD;&q?ck&sLJfG)s$^*X& zEkU;e#-N-pkZleW0C=Thhd$v|&nG-=p0^E@`qr#%vs{RWK~5ilKV9Q^EWm3HCx8#! z;x)u)faUi`8uK^o&XO3PJ0Br0+@%vG*0924sad#0OUo9c>uOK1MmrH9|6|#2g1()4>4Z> zOnu^%u|^L@oydd@e;qS2lNsU?U<7gkIe=UM^J{`E5a)TZIYI`D0AFZK=|r`2>_i5ev`jD#k;ZxK5jO$+$SMriB@wy+ysBld-W6%Q z8ZL!6(;NZrcs7h;Yz4)E62LGpl}0!RU<<7ZEJfN1pbFxN2+JX?1XKig;4BaDNa_l3 z3;Q7S1}XqvfCu0SaK6fP=Zjg{gs*0KGol0A6oK3c;JMB3zzo12m<~(>rUHDU@J+)G zt_#o^=m=B;+5^=AKcEIs6Y!<&U(Kp|H$b#LP!FgJ)B$)T`VFWBbO2ZdE}p@AH2zfj zo0)H12rhXR6$AtV-GKn08_*Tt+lc+>AfP_7#UmUB3;~7$allw$BrpM(2n-k3BShLb zgrfky)_BJtKAI0O=Zsn+5|sFOm6(>!0yLf}h;!!2z$Ac$Y6WUMtO)1fsU%M+d6$KE zWZD3;aNQaqS7@%j6ef+h;4bEFT>>ly76J=^`M^A25k3nwE8LL3a7lp+;hA+La0RG= z>>&t)0iNZ20#9|M1tQK%H(tWAb@6hp3Q!sFF{35l%~}@W@oXKyPXrQyHNZ4r3ebZJ z{4n#1>xU?BazF`X!-FS8ke~}eh<~~u{KsFav;?XG6@kLQTVyx|EC-eW-2JzJ#lQ+& zZv|EXe*!EIS#&EA-vVp~{sPu<|ExxY=dNpkL|_xJ5!e8%2bfVy<4}t;jrlnLao{kp z1K18E0o#DRz;&SW%-;z2@`Pd!BHURAfdc?LrPBaAudzUGq#Xhlh;&Xn zhU=ri5nu+u`A-5Tfakyi;3{w$xB^@RE&%6&bHG{P49D5L`QkEgNyPb@<0(Kga0|Er zTnBCf*D_plI$z%g?gRILe83&xF2KsX1|9-$#5K$3w3k5K3;g#Ccm!|(EbIyJSX@6v z$U-<1hp8gY*BpN(t~t(h9!B3GbGa3=HP%cPDTmsAh1Hi4t zg|k4d0-6FWS1UNPY=xKmKP!fe0yxeZ=S5)!0ZX6&kO$!9A@?mey%t&^jd}T+3(beP z)`i^Fnv&e*acpQ@1J<7VoHMZd&W}vYsI?BahNdVtq1Fk_F&<bBI7GjN?6U!L7x^!~x)MAR5;ZKp&tt&z(V<#G2bA;!+C}Q zLxCXxS9T1b$w!_7iouOXqAKRc4_axIOmSS~RDgh)zzkqIpk?LocU)_^wDdnj8ecPw z!-Oo-Rw0dfR|9_nD}dzym$l4*C$LKq;X=8P#lRw97Ld8Xg%p)TDj27gH3uww3u)Jx z;|oBaFT}8JSd{7JWszq|1|Cfo>#Nm8OG6T?8J8u2GjJU=VHq=NajhXVzLnr-8vnFL z)$(U-)HUEc0jviO@@=#qku3l}s^j7NFT~jzHzC{rumjvE!p%$r&LJ%c;Z|T5unpk( z-VTJ@ft|oUfTst05$*wUKsHY$b|dbDkn^7IfyeX}TV4P^ zOJym1eIMaP;5Oh6TmvGIHyPnA;3jYbxK6`!!M-#WEo9caAg2I#08YOrLQZ=GB%q}p zBFtFq(@fW_N@2*Fj&$zc=b7j)aQ%ku>oX#+fR8{bz!^bMmhXZoZENT?(%%8=p}<>& zb`Z?G?}2}S4*=7db{Y5tFc0TrJ}&1azA1!Jb%z&5I@gMSnv5CXQ&ZB@ih#)5pnrhIa+!zkkOV_5 zb&r&HS!{vK856*y3D@XgQv_(d6q#3YjLWDti)RPq3|5w`adJ*1r%B98)ly($StSu_ z>Xtw}v&Yk#gk}8Bz0LLELRn=lnA>I%;#qk>tx8$}Ldd@q%~+}I6i~e`ya}}UrQ6M_ zR@}K|p(ra*1|e4kmg7P*E68R3)c+Z4 zm0gXrrq>3oU)f8>Zs5^1i|z_YtFg*5Z$8dI3LWD~a>b*+RF zcs?-_sEGJfgaZJrT{!&Jq=tPh`&9P58RNW+?+ye2-2mQ1Vn0(C@peE9eoMpw4vHV1 zH3u9KXJ^wC@u3KtAZ!fO0r;UBKU}K`)Bt>e?GRQAA?MeWWf~V^K-duA!uYxY!umix z;67wGLfDMo(qp1C3TExvBC!on3fHX=a^Wq3)_@bz7@T$&dAcIpfop$+9RYqs!;fmZ z08WtA31Me(&6VVGxJ7v50}rxw2Z4cc_-_EvAK;x4e#FoR=mBtzm^ln_9=UrVWI^qL zP{di`o`O%~AjI24sflx1$c_dvRF2dgb~NjGc-aGWM%;@n4fXP0vdBI zk&(A#27yOQ=Qn_OtlR_M1HgV@AHZYhUWB}t%FVqK@$Enz#J3?F4GiM`=fYEgc}N%x zBmw;3B_81PEeJOQe*xO&?qj5H!u3XA4saLO8xZnCn@5QAX7D1!A0p(!*CEaib-1+? zfi=JwU^VyuSVR^8Gl4r`o{w-9@F%bWU`>|;%Ydc85@0c~5SRpv0EPgX!ov_}C59qo z1-Q`R09R(BNE?Z80x+J5;{aA-6z~E}oQVtN_!EFN<+vu4YsA9104-!XUvmMRrYXS{ z^N>Z7CZ$BEQFhr1%*YC8%&a|k0oPO$#==+Pnlo}7ny2MqLCnt;$S6ZohUIY{?zUur`MJfJ_X)~Z znv3m#o11NbGjLOB{mhx!YLyIG#QBcV6xI5bWw6Ds7Br4$u9wB=uR>A?-=Mb_oXAzzOSQ)JavMP*Qg!`9mf*lY05w;!f`}zpkCD#L#yxi}Z zo0_#|@Ad#83(Lx@vEYjUJ190vtt+_D$w=b@Gb_ifkU1?*Yo6;M7C`1}2(JP>4D%4m zqZX$pBYq3G0o(+b&Uspa&RC3V#sJ_U(jNf#f$D%SupK;({B9V2i};x+ez~i4O3Gs+ zwaP(3^CUY;Su7Qn@bqveZCoPR>Q9pO63I)yCFzcX)Fq$Zg?wElTW@E*zqgx*8`zG! zW7`mJ_oh$%b*tA5F5#m0uk7aThK1onQ1XFNqWO`>C3n6V>Ozx|)gBC$+&sM9+;y=r zff3;$p*_wYi->*^cE!?#_JKhZVV_<^SVT}jOiv7Ccl%YJU%BZ;XEJvKpEH$qgJv$& z1y?NA6Xkkfyv$DQ8s>voPd5*D6yGB{AhKsvn9ja-^yfh5y+xeqHW-}Lax1ub>iTqd z4G!;z{lcbpuVP-FnC@(>i{>(?eKt}-6wAuyM6pUkkVQ?&Dpy{tgY%%ulc;xjlr2_E9T(6-FyK4N?d4I0L-c}!+vMbq;5oH%mzvnuN8{#4=2r!; zUpVt}(gyc%h5BcuHGvLS8{H=?Ts$_~r%OJL6^YykO7k zKhN=DxwZ~q=k`VMJ;|d2bdRM*2<+npU-cemgNBUlRUCXC=wCG7B#Hxr_gpZ*bmQ;e zYH=j=1lWQWsF?7fkaO5WbmTpY7^ z&Kp%%HKC$DU{K;#)Wk<}z=vsld_a!H8FoTbF#1c)w=mm>Im7ma$DpJ{EV+DhC zeRwx8`gQfKC#{+L5{&RWstr3;$88c=6}QPf8eSFByVj?9Ri(!Esa3JaN2bIGkIiAJ zfeVnSf|^ND!zzd3WMUdp(Q1;7!MZ+GswR0FhBl-y4t*QZA`YiFqKnm}#xP41)Wgue z3GJ>9b`jE&>gdpEzWDDIVg^%FO7R8Ry(yKfA(fHqG{qwWT0BFtp_erz*|ZVYY^@Dy zuKUsMrf&>%QmoZex34KpseznA0`09KS!T{|DAbHTK&*oz7Gg4cJ`4S*W_(|#75GbW zwAxpypm7*3HmA?N|5lksxJZ_{MQiIaYFAv-VrdK2!3{BXnOl9*@^DlNo|zrP`xdmJ zrW9|Qk7W(}PY>T^C5DVFUx_GHy2u43$72o-^0hP0%SY^1N;4A=Qi}2(6&c+7rFxmF-9<-7%blj zzNsY_4;jCp#SUjG{~H8}fdv90d+>;iar?KsyW5Plv~;Gx-=ubia&2kXZ|LQUZRr(4 zQzN_%z(ecmtzVn1uTl1!#P*;xUHi6_yEg1Ev>nx`E!p_=Z>Ltf!C6zT&Vw%xGw6r0 z<=|c!4GPP6&@^?``2}}$f`WT`M!Td*wIv_DDRaH8^kr1_bYDAAavg}5JE|3TGk-Dm z^8Nc{rLR%lgZs$c0u;VU?W{`_7+$Q^Nri$T2s?%ysa#!DqBJ;ofOBqM_}#bN2LE*F z6+2Qla2V=zq(OC2nKm719j<+PA%`_`EcqDjE*-V&lb$0E6dO?F9u0fn&Qtadmxl2Z zKk7(dk=JHDIBdZ&Vb6Ap8#nKb);MTbeQBG|{VHnTkCkV*+^Blv2Kv6DY8^Q{sg%q4 zD~DTJH);S%Wu?z`1v*h!188a2iN-XLJbj7@&d%E>#ayt-VF^x8v;-`y94LJIh8Ah) z^Viic_@Wqg%rhWewN8`@89q(G!Lz6+E1y{ti{_dP4tPH1=mrYAqx^rKT;76ibyuW% z^ZaUWC)#jEvX;SgvJ?3>OStXKb=GNS1C51KYO%1?h~9&vGu2$teLCexG^%Mu1CW4ed!#2{$$Y@ z(%T4*?uEYQGIy~0kj@b*D8E;IUaZ&TIpfkPL;cC0^G*i`8{`6e_Z=6W1a?g4SOH2Q zP+HbFTh>&hz@O=qUH+7ayr%PlV@=)AF44ZF=B0By_NNr)_zn*4`g4mdiX3!#(kz{0 zZZKIjk!Ixn6rvhul^(RA3G~Ub4=cNQcxK&)3I%=mo%3edhYH7X(L?UF=5$Rmni~{7 z6w0II`|Tg(J&8R4C}f)0{WUK2$jT&_Zk(Wh`C1^b_wbPS>oB zKbe|Avn=~i$%{U04vwt*P~ph34;2dfZ~^DdvJVxG$D((`x-I!}dHQz0bj`l|({toC z6bL6{b1B3S5JBP1rOk#xkyN||oZXm6a&Ik_p((8;qvTWJWF$>$fr<=@RQ>5~LynZ~ zy$U8Me!!hqVD+MCFJ}~-l(!{@=h0C~wOUFhy#ds2t)#|=0x`6%6;vJ_rMms$uFGz{ zT->^%;v(RU@Fru7I$JVZeWbhRsGhx)65zqG4;w>Ykyk50s2K8VolvTcAxB?2*&1P? zzVxuQw3)isgKikjX4QkjDgEeVJ?Mnr7 z1K`WtH&*R4Khj$nrr~w7TDjhCBiY7*!4p2QqMJ_&vU0J#=WI_*KK$S#D9S{@N0)in z0|ibLGZD|%$YX&#<94n%Z`1!=xipGSKTz4?h)(Eq zO>N>_D?LyO^5m*(M^Aik-4NgW;jR9h$sGfer+aWrSZH`G*7~jE2d}qS$;wr7^R9@2 zs1C&O@bI!)SijOs9|XGSJ$Qx#8`6%)SlIpf^MJbN@OCOjIi-dB2o=f=%uy()(4Hw_ zF7&OfWE<*Y2n&b}jzKw*(ZR8?p~2BN{oPw`D!Y9$@_M1hkU9o=d4yjVO!>b}KJNsI zC+bxJyLzDTaMbYQu`v1N($-2I%%m#l7J^a`lqh*%qkz|!7r0PdJGJe--70eDEWx18 zZ9nbF*pMbm1C~2uoI=GbVYfyUH>ULh{ix6H5>$#eirWhc=XsdoxJ7zI4V;zXwIXyp z2MR9{Op_9#Yx}=!q)@zg^?w5tHXPShZLH77tu9v&Bw<@`Kw=#yw%b|wV9Le5pr9dP zk`?7aYKKj&*u83l^R6CDQRe_fLBUhp_~!SLwz==zQADBeGFevz6dO?1zj$0VHN4~6 zbV^H5co4Dp6t{jzzK0EprIUJsR0O2zh3-wVv39Wlg>MOn8x0DNNzl(kST}ZjtW~?LG$KmOuTOhG^ z=B=l=)L%EJxDW>w-hyHaiZQnR^d{vlrHDKzDDPm^VGka9<4g~$BdgOXj-aqK{{eN+ zyt)6hs-Sq_byHB{Si5>T`jqKj#o?SF!N8h;#FRf?FX=qw#+6c_cw&zPnSwy!9zSPv z^EE$GF%KwW%GFm;I=nVpeEXVDPDL7~tT0zl*cL2%UR){}?vDqBT?J-90cAp!$)s-S z@tu{2S9*5QS-Q9x(7uo2Q!>yR^+ z(wRCTE2|Hse6Zd0uT3zTsxTPai2D!>VWHiz8T)Pi^zuV}^E=aG8>N1?z!&G7<|e{} z2cVho9OT%$YrZZ0=d=3iO>+x6@G|coZ?`G=C~p zrqrh)i5p}5TK$}}XZQ4BX>L9|(|L_N+=~;BBsU#UEHR}#NIq`xWqLXHAk-91Bn!weAZ9u;`-?@_5($YsG6&U{btP{7tVaI@qS_=g_gO zL(=o)8G?;L>bOjYajJE zZpG72N!74d`>B(|BgZtKpPdzGKS1$lGzbe%w9i+8zMeQL$#kB%yN6qgze3b$g- zTU&Y`_@kVj^C%m9y1}4ui@5Gxd1HBDk5Ev=_&ORCZr|X7ISzSQ{aJQ`Gi~gmblwRB zYy~LR1M84M5kcH{I#-{2&+65V+viL_x=7XapQ*aPWb4yxs48Y@(J==dV=g)ykPp7x z&BLQ3C~VZlYS;dI|Mg>)40^FStP2@Rll-L+Q`=#xU({R7n^-FGQ#<5EQ}fUhJ&f{q z#oS@=Fe=v#;rL-xtE&{^&7Wp-b^dA|{>bX-QeLaMqkrLDc7Vby+Q7fZ`TrCvNZT8M3D+1r?$L-LSEw#Jx-&Bh)sC8dGZa5namPYU{uT zbk#?YdjKXv4MtE<0H%V~M$$>Xt}`;BJLW~rN2-QsYiSwQx|sPzWQ5&tb-InD3f;ko zU8bJhr82pvj#6G5ieEK~=5hM$(R3CP>{pCdC9E9yJ;G~|J!YX=<0|`7R<_EB(O`_q z_3`uIp8MPXvD~2d97FDblB0b%DBPey9S-bYV7^E;=sO^VM;CQV&Tbkm+4Fehe*LUW zT`S3;AA%Gsr2K1F)=+9Jr3RuOb9SPfL8xu9aTFOOdE#6-kDjo(J2({{!7I8FB+WJX zj#sUD_T9#JXZoDuJ$bzh~3o=?Ep@%d_)ZUOVl}`6Wu4Pl{dn~s7hV{h$sM<1`5@|g7r_u9~u#ckC z)M-eePa~`xYUa9YS}ot&?!o3@t6HkS3$IwW~j46SJPdAO44VCH9GWu!O=+eUbJU4m)P28{y>qwbO|O2hIg}WKLPpP_rhGSuLQJu9RsZ2r z@1LbtJ~_-w&+)Sw87pEfV;mJ^Q5Tc7{E>fE*w=raGvnOBorc<03ksBP9w+}eDnexXE^Iw14e^)xkvZ?Bf zzG|mSU)Jt!#O_Jlcfzj;Unkt0y^IIfJlN!#`QEbX>_+FoFV=vnMKdFLg9g5;XCiS;~E7q}l z7NaOJ$fz={9blUO(WbTj{JH<^v$=a9@n>T-XuT#3PjfB8@Pxwl??kiIiEiz%qJ7m7 z27MXTI}7)$jV;=+BAQ>TH!T~GKIEw8Vn2PUI(e;LuK%H>-*$4Bh=;&xOH;{#lHD(S zwBpRIC}N-_+aFt|&N5Q{Pv17Vtaz-*@^tgT%MLVkAdHd!ScT+eFf6C!f#@_$iarj+ zT*hiSl^cXR)^)i$Cw4kn^6wW1^O%s|gEvX=y2x_s1`eNQ;NZDQLLR$Qzpt}M(ElVo7>q}K%~n#=A^tKUy&hCt#^fyrvMnyt`x=Q?}VUznmOpiJPp zt)`+w(L`2j)FSQN8$@s2SBIUem@tN}p_W4>Py2+<>fHJM^Bs139lxCehr6<_(52GC zp%@&jR+IZUh$^>U?X58@J3gB;b4)WZ@>&vuX0`Q{Iuvuxy5Qhpb@h639wwDB)Ll=PT>G5Zs5VWJz5$c>Mf{^qv6UhI8YtZJex7TJZP|rC(2(YY zq#1M*c}-8j!J8FF;@4c7wQ+fdA>3>eS;T`Q>@T%hUF+1YWOJ=;#*siR-!ODDHOGw1 zXWVAh<@N7Bq(k4yA9AFZwg41f(Un~l_~1j|rAt8(chc6)l!#Ic$2ZgAc+?5b>obQ( zHjvwJghI9<*ESk59DJH{8@HJ@@U`7GI?jBM^BtkdZJXMvuimt4J8Q}G2WqQwV^rBj zjYpt9$Ay+%T0itzcI1S5Cn~K~ZyUvrfGjb?q?03fHqntDBaxPkmMo}7Jt?;-7mDCU z{d>~8x>hd-9!~c(rtM@JnXa^OH72Va>eRAFcZ=>P9}U{cI;lIjF*|4hT28B_=9{!B z?oebbh>}u$y^jr$w*(-g@W0b`kmD$fKg+6)ma$-;%vWIFM2Iu5GlspCt>Daw$xfT~( z9QqV*$B!RHLloRc-Ns6uZVUFQ9MKK8rDpD?E%^}4jsJX06j!#pLze(3cIn&_NneQwU{7TQN8g}VZ*rt z)NQI6)?Iv-N^5++3V`nyZRC$KHtD7aPl zlX9ntc&ldzwV5cDm6Z-qL>Ury)4YjN75s^hD--d)(^V=l34D>%VG*6kU`X z)lai&z(u;K*mT_@S(UU357mO{GS zNs6DUvTc|GXQ!nj8(-(ru20jsgYeKIIa{{b+x*r|ITiXuFLHtOJ`?i3X?1Vjq$tX#O-Td)>4XLmx-vETOci7f%D;P^;;ZSEC$fREw|p zcaEf;re;T!?odXa!l3YORrN8=j&7XQxV=JA2EfcuU99w~d2n~+(r(pm^b+z5|C=`) za*L>UxS9>`!4%1YFI}dvKIX&Uv)MC4vh|2QtKPt^J$~PK`TEh>O1-cLh{|+S9di1c z5b1)7Y06F0t4xL~QSs#GSyri=VrojWxS5pruS8|k=>-i>$lg@aOh>bkbj!-ZPSfm9 zH33h6f_mFzAu~x%g(BMUtb*`m#EM zuzCF5t~@6rEOwbLlC)WUv(nan9vImOdwv=cFZpiCuuJkM{XL84uUF{JEGfh% z`xhunUR5o;$NBPG?~g9fS1}c(e|@gfl-Y2C&%nXMMT0eN&HHT{>X>c~?`Yp_$;;H> znyT*3^AEePjM+R^VNhNGYIlt+=HNbkL8a$NWpggMu9ij3oiS72gsa?;o3G0Um)M|l z-96=Vp%OFyHM;U)AOR_VaG*{jD zo3)0w<=-uJ<TlL{&a17psh6*!`b4S^nO^rY%G#x*^`UY{l06zBg!|gYd7OQ*E$|K`k zcU0xN_Am{7)PKQx%%N zy-#}=N;b{2lUhM%^+4^SJKs;ObE%MTmQtSbXeqlq?wWM`jl?ZWaTDf$sJ1|{;*0zY z$AsD3GwjfM<~Wk^m01cuc#OgQG4uc()=m4MpnL(G6zX`GhR~OwVnY z`IP+8!S*+vs(n`C(27>2?0aGNA4_6SZ@i%Sfu{e7S%;F}R^+!asD{zlAjGE?CyH0K zvZX&(NFh~7>ej8`sfwxqgrK^`N927XJ_#iWR zO5m$u@KP{c#q5UCe3m^A3_KM-*Z%g@Ql1;IQkaGmz6CeXIWXuC(zDf=-X0@|HIkS8 zkyonM+yAjZX|Ic0j6xOM?h3mV{`8qtS$~;!u0ht@bP0J3W#3ZnM9Clf!J&zglcCr< znv@9Zaeb#cX8V&RR;|oabea{a?KotJqrYdBceFQAs-0oZoi=aD{G8oFe;r~+s=RWk)i8nN@1@5xC;8u#+Yecgn5=S)z+3rqI*PZXr}qUT{WduQ_PIh zuCuhkw6$8+EuGfgS@-Avg|_*Bw06v__^&%zThQ9S`l5Q$U9NBaeC8h*r_R~nq;;xk znWV4k!;QU?{%}g)kgMvg=m7@JsQj`tBEvBX$HtMgF&@ zoz|(pyw7FDEh}sDT#disaF^@`mjAlf4ga&g{rN`A)JSQv{N3f zT%2Jr?{Yh-ZQi{~mGOqK4>^^Q>}kePFh;+VEUD%($(cGLOYrw0gWbxsbSUIjV&^pL6Y&GByd`mVB4?>&;N;P>|Rw{9} z_Notykj)%7}jk?bJM0{s7m?V38;zT zLvFHzz6O0BYImE&pa`hLsa^};e#Fi$ub89c% z(89Ft5`@hxtXH<6Ud5kiUZ&(Hb-PWmzYT?H%5}*``EXhha=0+LU&gbe%gAC4>1TbO z>zkgiZkXP}&jjWA$bB}2PQM;1DCozZK7__YEB?mYfX7HDA<$%LqgLoe(ETSL#tm+) zWK$f0lTE@E$y&lznfi6MsS;QVp=@($!QHN&CUu)aae+;3sOc5Sm0n(#s>5@luyX5sQgDsrrLMW+yM~8&0V(T_Jz$$4&qN7g=Y)5q0>*%Rzq#58?u_lfs+l& zqVdVL)uLU-r&sq68)|t~a;>U-6uwMoW;6Qe?A`5G-4kr+l^vk)0AqD=(r>$0oOqF5 z)Bzi6o{XZ-*-(uXXsLd#Z@6JYlP)0np$%2L1`XZ{(Z%BGmVW!((Ml13txxRO*iz&* z$+|MkGJC7AvsL?R<(mOx+s}4NQnD*w6qmOp$Md-V>Vd-!8rqb6wO=)J$d#3uVH zZ{c1&&wp-`&a@wt0-&@{?EJ|HTKAi;C>I7PjsvhNimH497w6Yie%EhFy@@<}ib`fM z8y}42irHIF8Q}E&+NtDpuHK+<2R{v1Cs&VMaY>YqQesV%aznCqKy);iEWl*ervHS8 z2_}BYMr?xYu%Sg)CF`PKnkghLnw{InVf&<)=}h881@$Nd!=OSm}9Mr+$5*|&!#O6?0_zNYM3`C(CVzbAYMAHJYD zB60eI@JBYO<8uZG75ciph>tt4f}0r zMGE$5t!5d#jOP2( zO4e?1Rk@!Uk4-~@X($JpWH>^F_CCU#Tsa8Fie5gFWKDa@|5(&X$qEg`Nha!jmp0;M zdFv?8cxIX?k-e|Tpx$$yin1G@;MfyYUXkpFOszrxJI)L;e=!V;sZ3T)EBfBbffu!V zebq-CC7L)bI_P_|pl~Lb8LBNPW55uDf01QbkLGA?u7Pq>qWJ`OT4!kut5~Ic4-u z+15!IL6PjIH)&0krT?muRq;x#m8Gc3UG=d^K28VkzZ+Crp(x&1oq*f;lmrLAg`K-v z_2KLF(^e@Q_|_J0Ic43JP@|ACYj12&7fRML9*zCxPCn-_3}B_w>l_x0+BCZ@#Pa}B zt>j7%i(1nb3)NsGX!e@#u=d5Z_ND=5!9IgIY zm&?hn`wW_0e)6FjpYdj&Tv7FAmK60FqiqqI_!)MoKIf&YpQUoSUki@!6)FE046>G$ z)Er4Rhi;xd`~5y_iDz3Lm2pOv-xsM#lTSYC3N2#R8S`P|8k2>7JhJf3m-*eX^p|!s zQ}6~1K81znp?zPZX8Pk);48GdPGu3e{(E~(InoX@s()`+rc%^bJYW{PZu!tFuf&;y z7T;*=SE-f(=kt6(*n)UGZ`_)^N2|A$qDY)#WQK}%DtTqx<~ zMEQ9Us^4DrqE{)hRnqfSa$Fv|*iN>juq|@ig!Xa{+Sv|ujR}_>aaAX2{}%agDF<&j zqiW>TNG?J<5@ios|3fk+9o!**lIiPyxjnVnC*MeFeLy~?r~ZzpV&Z<;l;m_ses9QI zGj?EPa7_8Yh=|^ywC^hh)ep{ZGh#df8nm zZ_!EUa_%J5b()U0YGe`vU!~PbvEl?GoVjoWOPI?s9HWc zxKBW2B>Gh}2af584h~k{GjmlMC@?xSGM1Hcjp`d5JuqNEM0d`pUWLZEMhAxkM+Zaq zu!ul@!9B2NKy*N0Y;bg+fF7ZN!e|DC_A%=d98FzU$d0zSKs+QmpieMrmf?yVI?5&J z!)@5TVjEq{qTk;o!?-G?$Tbx!*neBDP(XPF4Ox}Y70(uEUyST*slKzOq$_W)xq2kj zlZ%n}ZMimWPLZooHz!#xo}pG?&0JAP!z59)-RHMZa*kW_1FCjQ&O@z}<=IL7?#VR` z^zEr!Eotimd5b=e+Fq{x1HyV!RFqsKY0M+Jzgbe{XY%tLdT&~M2IgGlt$ay>30ZuU z!}YZFtn5zlpJj@ZNA(R2?ClyB-Iw1}p9l4BtoR*X3OUBw%+-NM93mykH784Oh?yb-|i3VdEJ@qyk!)Sg} z)U&{Cxi~raqMwtE#)@j@*|KqD(t#Ytb^4@_Kjaw(s+Gg&rC2)6%wcq+Nx6(}Nndgq zt<93+OS3rhQpWalrKGVEt#^Y5Tj*hwlkSu;8YF6w&sdZeLV{t!J%R_g@(DFmq`YyqeNb>nXn3$IZjs2~XdG7)6CC3j&>c5MKp@|k z)Y;PLp!ZH1VrlHDmtA`Y4~(JYf<|w0wlbDB3xu(bTF>L z9}$3n4^JTA_6xZ{Qi7u~&OlZh;Zb~w8P}7QJ&Y$uapNvMZH|V-dnJs^sH{82lI!J- z=jf1!u|R$t=Odc3UqD!2YMuwq6WSQ*TmfS>T2Kn3N~nv`gc^ou8MlyylT>>D#j^bs45t$GJ`V?@HAG- UrK_eUR>GO1MiZT?W_ Date: Sat, 21 Dec 2024 02:11:23 +0100 Subject: [PATCH 21/21] update --- bun.lockb | Bin 409016 -> 409256 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bun.lockb b/bun.lockb index 2d3434e468b32d43bfdf0d0a902180490d7e8990..53981702055e3815cf29ccc544c3278896fac893 100755 GIT binary patch delta 55819 zcmeFacT^Nv*FIX+bV-+ril~5ym<1KY*dRiK2{C8E42Xb42})v($dV9Hf&VEkXXPZBNBB_&n3S9l6321e0Ti}@z7a^}76GaLH2k3QMj)!DMM=RL+klM999I`w zBCtBJuZj;Vu~u3^cK|=lmgA}c9l_IB8r!i}Bp{7xvXrl}tyvSL?V*(hqC(myl*Yfb zOZY*3Z7T^b2l$;RhIx>;t;*(>Ip>e~*)~fte zAkF(YAXyTp;x{;&eDw}UmJA0^GZ&;{WTI<$bX*AMTA!8c#`w}{J3&x~rKAk4Q&2n5 z)J!WCC%Q1*UDazfV2+9o8yyQjadyzDyr5!vpwfLV ziC`PB&Xs9liKCLk5{z7EL~wKz+6;DMLyQPcbR7{L9NrH)4aKD~b9M@l`jkpA2 zzJRA`y^V5&M}Ra*ADXjzkx5|*!O_v&W9XD05*!*8hcY`M6`?1`jtEN%jWBV+Etvtg zRjjRN1(Fh)gW(j7v*UGe)TR!iz1Q`#|#D0CRq1>~PoQcutua$=$L7?LkR}f;U^%bIPDRT7SM4Zd3d-l^UN|oRv&X2Hzt7{kN{S3iu$Fk8lgT_Gdi5g8r!-Ggl_d%Lh{T@55}F6+v1HG%#>()B>{ z?k$wB1su?wl{arg$+3|sv|YLMVCIYi+M^t;_z)wd>X_eDrB&NrnJLIAm-8<4Pgaq0%;gwi6P06 z(ZjjOgtHB38W=|0_6w~ z0%;IyfYpG@&Vk*I(Q>fV?(4>~pQX(Fo- z6B!#BADozIo}1~&rw-pwV)Y&YX%5X>=+Eegyl5_O_F~c$R&KnSk7i+BLmZu^vXNaJ z$2!I?IU+J_IJasVYiNOrGbO&fQ%~K`@GF}CHk~yW5*!&#)wc>K+WN z1e^k-3sX-ZnHLqD6qbT|%cW7}8=Krv8&jC}b~c-%d2^UI-R5#!6Y%ALHK=w53*hm{ zr&epJwnagwg)wy=vuYr8a%y#nS@RI>(rk?#6Nv){$DP1fX*PSzS2wlU3)rQ^exbT) zL9d4b{wm)9NW&I@I69_vU&P9{0Me1?Pc%dZUR=y^IHIQI03Cq&OPCv$L$`;nS;pFV zw3H3-q=MMgb|66wEe4XGCa9Q)hMl3e0n!L2u3!zs0V_clfaLdmD_K~41CoFJRx!O7 zbgI`I7MIkO!o0%V)7t=8MHP@a4fT16HJbAhi;_k(J*Hq>22xp7j#EiIv|A zq~SgQPrc!4=bD83gP7s5uET?qf{%lD;5bv7d7X8KS=50KkjxggvWTdsnp*`(5t4;r zl0SNHV}|4d$xm&8ls^~w)M4Rv=7#u$$ix`jadh9o46eG9O*9X*=c4`&(KjeS9bW^| z2q*4hBYB`!Y_Ib7vsuKQ0n!Nf0I9L?Zccl9jZB5T$7Ws1m z%p`wz&0+d#pbd0$>%P!wmsqloxuroa>$M7ydbI#j`9kEAwarnU!U!9GXcF#F%+}Qa zPvuqXs-}gbV+Rm{Kr$peE-r*N>5fu{jjgFDk2&Fmino9jQ0k9g8GjZ!nLY6!8)QCo zGPB_!)=fDeIZ@_V{+GtgEFbhnW;O$oa~c3eV09zo8yr?2N~4C zMj(x^B9Iygjf;zl48s9CneOkg#ME+L$JnskfmH63WUSQKgiNJ&b#zOu96ipu4G)V< zL}#2ecVDC%80$%1k$&>rP|Qdqqp zl!Nz8Y1L1&D2+e?it>xlYXVnb{B(^Qf0j+B!#QU55+M1x43G@?gnU}WQ_eHL-Gy!o zJrPL5>+6P|vRP53P!P4H+S859#7h37Sq3CbBja;#FOXN7C5 zWe!L~ItwfhY;v6qwYG}Kfz-k=ecQvOWISf#$E{Vi#A6*vC1 zbfJoEu*+TM{tO@uq7sn2=5dedi-DwT!7E<9!@7P7v;u!i#q&TVOjO(tq`~cw0&Ja3 z=7&t?he<<`OLJOE%dk6iYTXZ54w#rY2J4IC0Cce6nuDj_sy$-m1Rz;kU*)T+s8-|3 zL#F|cP9`^CGF_f9-%kh9VzX4S-cx44i^r^jd01)Sslx%!*su-&Ye8QLq?oW%>&M3> zCSjlEKBGPjAm#;|p+P|E2L{1@6USXbP>??+ykr^4K(Ku1u2&&*Z5zOWJa0jZ-HG)(yo3fYK#q1%(L^25F|y#uf+_?AF&xy@K+ z*k4A5!e6ZZ+i%R1kB#s@8E_E=2=@RTfm4BGX%vtyhrNLIz=H2=jt$Vs)f0X&bcRkI zumY07KT_C;SHo+hzkp8V?*l3L5|cv{f)m5I=^81dY8BH!3tpjVHNRv4aNDIAQIi91vbC?ycgm=vftd*@m+BVh#$!K~U z(gL=K(CwffvS!ZlugIL&7)ZPWP`OIvpa4}&uwkSBt2`UzDf^cc<3e(?y|6tw4n zH0$|58rKdWb>ok6#CNE{9D5x)<GE5E1jY04u#n_%ghUyH5EUFA7n+n185_0>`82|{F09;g=(KaD18I3D z0?8ARKr-wz>eEC#1JZzQ0Lg%);CMQpaEGCj0q+o^_OxThq_9}t>B@6;peF#GfCGS3 zu&o>Og!wKs1AGnetE^c5&pkfh}^#YP>yP*N{fGd!Kr3R4lMIepTyfs~E#mXPc-s#l1lI|$? zwD-GN;SICzHM^$EKGa&Ll_$CJ&XT)9Cw=j)@VDaOS3*fCsq8DMd?~4Tv?*D~ti0(Y zO1W*y|K0Q#bB=pkJBz9(3*?Mjd|k3K^jx1)h?Cl%u7ILR}>pgRY5v_n2M;4bed%Zob9j0YG_ z;(hgeXQ?p2z|WUFI~n*(k`X^!OS$+NB^Bc5P06#f0cIKTGf2wC&vjB^XM^|_aq3gt zhKFSAVi3+^0=i47UAzQGEU&IgY9vyfmDC=j0+iHur2Lgsd&EY2O7Tl1&u#|(u4L?H z5cgs+CZKJeMkG2TQ2UxSK2`GUZs4CuM*Q@Ua`AJmRM_1he#B&x7c8Xw&U)TQGWIYC znRXo4TFPtZ#b1{Sdl*DVgnCny(bBlZ?$8=R(@6Pk_3%}0PlIq297fRIOSHjG)I%xj zH%u>vLhA^vlw#2yXsw}HNa_B1{;gEl%OKXrKG0m@_?~)xpk(ZA5Z8mFTFN+dub`2~ zlzE^);~PnyeGL3?$=JsrEW_o#xm47{OE`~|yHsTG;yKB)uR-*}&O!AsGR&`0%I$05 zPf3NyX;hu#e3kaej&YK)pMlSpa`BUs3i}zvW>^?4m3+TGdOlJz_BV(pz;#nvOGj%} zq(X3U*dnMMtwdwp4y}z+i@g688uM#<2ff$^7ffnVE2Y2n&_SUvf&-k}l=KzD4362_K+*c`gfPr_F3X$_Op4<#l+MzBUK_ka=l3#bd*b=*3 z2WS|4TfOiTwC0j`cQ0`VQmpTEgI;(-rO0KXTU{3HC?Dz}6%I1+yCl!S22sFm6-^m> z57di((8v}90<>|^SSY9W*NeHTR!YJ|il3pe0rNfdqP{+BMI-t7d+4B0HA^YIk6t(g zt%Kw}43Xo^{AZzfvoAC<6tMztZh%G+sG-IYm7c>4LKzo|(o}yh(VtStWl=Uu)da=8 z1(Ij5L2TN9MU;m66vskyM|tL|P0*;evZ{qgq){aEwIpMRK^)YO4TO_0NX@*4(%5c3 z!f}wT6uHE?@23|9tn}g~!uv~}(FXo!$rx=A zomy~QCuR%A5DAUEz$zsU|0;&vfUtg#$#vn zWTnc}q7x26>!rl9HC71?2X1Mn7Y0J>Am#P*5?3MR2fiXLOYu20bpkNx`d;RRj-@FE zL!-TgP1Pz@!|32f3smZdJhoDTpwSfQD4YZtny+HR??|a08SSC-W`&p=IzwYI0@n!> zp|zCrD)X(W6dNK%(sNZ~aas?3z+O0n@`gbp*I_54V&dv z(8$Y7yAO^0$}~OJ6kG@mL)0ZgqZuu37t0`btU=VaH(vv2XX++-jxz`ozZl$rXZNLPLVgx1I>%}~1)C#ksd;qgUsV8)Y#S#I~JT$Y4fsfl7o%p@slL zM6ZK}#gkTAsrw8Xd4|P)156jS3)}Z0L?#&c_mXjfK^)kXttF9-2^#*9HxZr*-B=#h zL^nO3Eg2^o_`jrF{EU+dCmO`;?&dM)M|fC5p_ zl~K&p_he301}r2)gX4O6iMdFrjtkI>--%~!VOe`%hhfJZzp)-VDC%q?9u7gHPT8zj z^=8#9m5YQwG^)mYHx3%jCi8nPH1dyf&Jn+=_1LU6@58)IJ4It@$Fz>(WH7WKb+jOb z$IyBx`=q|Fd27awB^seo59kjUm>g*8%)+-W2rF6%xNJa6gr?3TF8k}CQG{a!ne@8H z&}c-=v2VJG+WsJv%_$D4maHJUTc>I;6W!f}#s-^@&?q0sG-YGw+e*fn2CHsC9ETk- zts=*9xGLOls2mHINQE;E;$7rX%gV`zuPhm78N^Nl*Z>f0FmeerGE2GciFcsUaM)(* zJdh251@TB|R8q+kwn1~JjYqumH^0e4H;Bz5eAOF~KF7dYNriI^f^jgN+Yu1_Wyv_# zAhsOB%Hh;8KrbXf^P$H01CnQkLD)QuPSD;NUcy(Tx+*FEU~_7Iaq50?$}NQM5U7R` zsQ@K)SVC`#i_=_&E-;xQ~5~wE6wS`%&G3hsfER<+eo!n%GDZS zPK6hzwwP1mTcl_?!~5;@I=^tX<^R3frmGAbGg!}GkaA@MuaOF6gXkZ@%EJF0^!y^p zxX2(p0Eb(RMP5RaNabb;sqw|BQ^hH}k>=bmq;M;RayyX1trSv)O3Hg#Yi*R7no*p( zT%2-@Hs_8gPHitveL)KMV`$D0V@^#ePMs-ERf<*a)=(~}IJLYu^{_bQ9H*8OV~}E- z2JQO0p|w%M5DS9;Bo!_P_ezCp4dNS>vsBLYddaxXAV!U5yALPPRw*z!sJM?n9$%7{WMOFIF9I*7AGmg~8BpN4>&JT#OX;j8YhX0W=@Q z4%(QUOvT&OI=$Fm)nEfk&Vfc_gZ((Go`Tj68sznLBEMnGxY*2shP{+o z#2X~fEe3H@I_n=Ni1vEn1~l9l4r{HOV0Ji#SfJ#&)gT@L*9X;=hC2E zMT(3@CvaY-@W_m&P#Z4YyB02=Fp8^;6cUAQkR0SQ%z9TR40wm@kE5B3RX%h>xw%+$8UDUgAxpsBfHU z;jJ>W&7PrgctWE*fkq`nLc@I)<|z}Y4#oCb&M^lCzfLb~gEow;5r@v@I1GhW{Xh>b zlnCX3ADY3A+ibAgq4hu^gf#93eq>1dbA3e5dFCf8G=uY@k*{C{PO4X-b%cgzbns3~ ziFpU-9^5_6hSrWXhMSm+&=AReyu?!T*$gY^At4-EKN^RyeF4XfRD9TYA;zFsJrSuS zw4v-6!e?kGF{iaoX49t}W5grSuoF@tlU|5lWNzjLQiGHRTP~*Y(k;nHq+*q(Lzi&e z5TzEm^C~npmCj4m)1=_E48162(~%lhT=qU`O1plU<{mPUQl?#aZ%&B;%Q-H^Y`mBc zjohJlT3ES)+NN79%}VBTHkM(~DBKWW*dX$uQJ5(6fk&X8hYfru$#~cxj$dVVE-ksk z(3pJ)XQ9?=#ie-UmV(p>In@Doj!4mHm5p5NzlQb6ZbddgW6Omm_$D-3u-3EzYEG?{ z#`^n+!aDOIjEZ!J)=M#xv{le(#VT=0`|~k_*kV1L2oBF|aDAKu%|j_cTD=XdJFML- zy*L0G#S;s_Q_xtveI^x}bdVHC#LZrjyc-U%XzZyp=ZQR9wXeOSz{E;uh$B$iHuHe#Y0zzGY*r~ky|*j-JDvqjMk)wZ@K6Ictz~wYV+8X>U7Rrp z^TDxme2bmMQI4%mf=1KAPS!7>k>Su_i03ZzZ39KrJZLnjY)d~2jU1_?&1(zNg%bD6}nN#*B*64GM1H;HReh znF}mrz6n}{MpIjwE;Yh-Xr59kX6y-4)BtXgPkQJM6t{+FPt&0FQTFj$NDW0HT!%5O zfxnn{b-Ej04y^_9uu4|w>D!FoX(PzR&xukYewLFwuNlO^Uzr22$gz1WgGPHZyK(vm zjbf7By&4X(k~s3?Dlr=xuCndDgwsg1p$E}8jTBxt=oTJgwThk0-;<0t418577e5C| zg*Oc1qI`DTfQ#Gf`Kyxgrh!k8a&KZX53|^Y6LDziC3)U5h|`XkueCga?j$tYY?RX$ zk1OUagV5n9uJp=x6{$$66ONO?uh8647AKJ2dhr!B+Bb0C8m$*Q9b?{Nr?0ute2~Yk z|7W4Kg2tj$_Zz$YWcS}b(3&6*e(0p99ptV-Tn$d`^_rf4C>7o{Xl##5`>_p9I?j$A zmw#NH}^!1*PD1+>bc5&_HsEp6d?rA^35TKKdWoR2J5?f%#D&nv9~Gr^ESzi5 zXmMa^BkWt9X7iwE!dz%=l*`w9q}b`8_ZjozrxQ@dS+-~}OzhW#&M|K)`=O8pjeS4& z0x60wEY5hn*!(=(A>nhZ{yEUd=ct4J3!wFbhW0RzP8ZDW(Ft!bH07!TR( zs9-jxCmNvXqat8!f91gR;Ez@8qF`ADN~W^s633hjTFr$POF3U8pCzzYY!iB z;&t<=C`c|sqmai^!zHQ04d(vhWh-_9)08!VOWZbS6fDfAZ=kW|LX+iolZ^mJ(0+Qs z1dVP$yu@sz$W!dh@Q`?=1@fEiEp|}FfN&`60ZmC`-_qB=g>MaFo4e)bQDK`khVQ5~;CA>&7elUoJ z2W)|2I@fyWptM$s!bI_as$nO>F7+9jGGv-*P2-2s{*OLl#6w0ZS2cd6>7l2aT7canl~E8EMe2%CwYE0@P(4`Gagm_SsboZduFO-QVe9?u#pg+dg$BX<2_3QWidt)t zz!#B)Uc$ZNl*dzwPvT}Fg-5G}UgB}2sB<{Jr(RS2nY90#k1*mHW#@hK!r{>KFN4tb zIaZnE{g;=p6e*=y{=QU*9J?2o1EtBIkZPl(enm6Mx)nk*TgjY>-nFg+#d$<5jfg7lq;Cf;SB{}>U}S9 zEK+o-$8`AXbvK~V#_{)}s`u7Bk^D~{Iw%x#N+aT0Xf2^BTR4A1&gFT7SmPaA7|J&m z;t*&C6v1J^S1)8jQ=aVzFOXv25P7_3VWyPlQ)EvIG?E3fmC}zNo?btIMgvAH;h50* z1Je+-IHt~mM&{$#vI38CKAQJEegkgOp$$^%Vf_lXp>v*z&}N%(?QAbI1uG#n`!7p{GM_52#SuoQ0)?t$#2+<|o{R5v(r z8B#rpn|lF`RR4{m6yb&DQ8Oej0hd74IWvYIv?ESgh=wH~>Lo5tfb}vku;HY(!ra z2qTd4QND%VffSWM_~J72h)+7s*G4M*}eyoY00EHsKKEQ)q|t88erY4I3U6?|{3 z3`$oE??{dS%fdhYzNiDyT4@5uZSg3y_Rw(l9H|$@QoM4-$2b1ijw7Mb#e!|Lnb6un zV`rWF(8%RjD7Y{+#(R@wi1Out7zxcC8rsB(cri5UPkA3md;pE@H2Ij&I(Wa5dM{6x z30)#ID*5+H-42GeM1#Kzja*?N`&Gb&NM!aX*74D@XC=%>CP+6FVOPjg(AZEh|Dq*c z%OwAx0=As4ssa7E3|SF|G`6t*Xu??fq|X%8oTmxD?8pt zGqi#{7Rcwyxpo-g`wC`P)7R3jc(=2u@;qWFQh}(9P3N9oxByMr8N^M2{(8Z~2CdS)oj4gOnpo^igY_1dYPE5?}&0?1zN=?vM9z9aM z0*&p?^hBy=Elh-R$Db-2>mvBhgJ9baf?rd$w*0j&LfTZDvC5dm0%)|tu_@ssRi=*F zcXU7;3Ju>x;PKfCr0BAX9RtVJKcOl2He&s{#Y-0DL!q%JiaAJ8dCUQxycR+0qMXnJ z>Y3w#_LHT5Yui1vP?YHrTh!;(TNE-vg2vXsbEIgr*aL7));sgc_K)i>uC!C2HDv~_ z#3@cLY=H4sabfYxwux@gRJY=JQ4Ta*Zu48~8kkoWJx1ya4NoIOyu=)&XboX`W757s zYoScOdqcJiuqZG)vC!DbAbqcg4oU#3V0*c*7Ym`$g#o?ej=iy5=!z@!_(nXwMK2oU zrK#vDk9FgHgg;#|S~=B?_Y%6}{adUlO0Ge&gOU`VBI%2E5MMZaxHM+rAks5+Aru-e zo~R+_B1u7sy{U&@Q`TJ`>yB+GP|kISC+g$P+yRO$$hmrSS;31}zGXrI z>ZWK^Z?HUoA*T6E+7( z9nJ$%hYNvJQ3g^+i&cFIkjiBO=~EKP)f-g4BvSp2D!hMV5V$N*BkxAmE%$F|LGgEAEl?84paW0grq+L(v&?@`I1QaFI1k8%Dn+9 zQ=#&2OJGgpb0vv?>N+_uLER?4s_lFOQa?p%JO75{2=Ws3%L8d<%BpA!tOUIwknC#= zq)$ntdhTj|b4zub(5nRrselKNI`UEr8h~U|dsPom^Sb~WgCD2nrvs_}1QjO&=|f2T zBvmIQ1E*O!uvnV~f;yb5qC^Gct$pAia!4jrs=pjaA40NcEs#Qc3y?xF7f9{q0jb_W zAbtKfq;?OX9AUnSht>K=$w8EH3M9;!gvKx}@rtfwXq61C@|f@h%YmxJURw z`Okr5=xY_<1F8K&Ahr7yNcD^8kE2k6hDm4vq>%}#u2Zp$ise+aRc2 z8bC6j4v;#mt71JM_2Z)I4dm&`d>Q59+87j7X$B-)JykRS=~EJ^Nnh~PRU0+GBvO7` zwSEAQiuA+}D&LzF6{%bwojM79)dKy2lo6;FB%~cS0!X$;srk`rJ|P(%uj>DXv>{GJ zJ{d3>NYOM8NbN1qHDrlJAgH4(AbDULkY+Pm)pLQCa%O+twlDQ}6e`s}4y4b&A&uh% z@(Bx6JPD*`&jHDv3qbl@$hqI2Z}#7lDvRX*o>VC&=mh)UlPVnX-;*kxU}?Mf?@9H) zC)NL+RB_m$Yw&+hs_KdIzbDoIJfR{sloKl*y#9Mq#R>EO+movO7=Dt*ckALAhaZ=z zp7-O-o72I&`o~$>k4=mG`Iq5Cp1-J@>(%3H!(TqxPx}6P^WLe^8!x}SY$Z;pwYcg{ z%aM_H?N@v&W7kW*ZRG7t>j$k(b9~)6!tZ|Or-4S-onLnysF`M{x?@IzLo-4fzR7LZ z%O?C|V4Z2AanikurIwvYjjld)%;qcKV_RlSJZX8pFQ%BsW==S`-tu9lJaUV9VXQ)mDkuM zzp3ro79W2aIA^M*JZmh>JF@UbqEF@DHr>CpGIT(hCAX)3t8nP%yV}+I*+l7`N-taR z^4;C}2RaP9mvO4>!AmbZZFGK4E{O*#<_#V7ap#KYp{+}pM>q54kM?}4H7h!`>+N0O za8I{n@#!XUkKR>^k$cY7T|N7JUGmB08QEHC+Qtp`jzv$qj^EkjVqn126}Mhh`0P@v zamRN{UfS%Fy~n}4oj$)V>{aLN(&|S?*l#{wd-k=S1=h>|JluCmR`Ru=b#d0uGPh;# za6kFB?STIKJg)dG+1>MS-L`jJ^In}O+t9M?ZhTchHzzvs9^Dj~KiX+{oukF9m=jB; z&e?rpcB2=ct3Rpee5`qMZrIx2OqWZ&D5%n*X}voi?VD@}Y}4^vRvk?pzQ@hYc2l#< zxm@w-%MbIBUy^zIr`NtXaH+m;R=~DSE|>53`7rdS=+y&)4*pW#5MNNmlYjI4vg?J^ zh}(H{PV9R7#$x1x$0uADC0qY~%HJ@oU&j8us`qHGFK@ODsCD9N$8WaX`>okfpOJqq ze^dI#abxo%0UliJ)MgK*<4rnVzWpY!)|l7!lbse%-h8Behcc^;xwltck9PEKbFptd zgUu^B^Cy_swFYAy=!S?P|qHCpD zFW(q{==1JlP3MnkbSd&k=7gC3>*h`3k1FPUFaI5AUDCWix`fz_ovYs@ym1-&uKo$D zBi5p|At`^Eb(4dGLM`5Zd@v+->R??3`)-a2VH18IGJp1t_I2yU^xvLas>j~m`=Yx4 z$myEOJ8OIwjB$^bjjJ46?A6r{Tt08hrNBy2vpo)_CdMY`w;evS!SGdybLQ$N{}?jp zPUMyORW}cu5HL7zZT||#Cb^Xw{UGLA&K?s#&BFKQsn@-XC)8qoyZ^Z z^Zje`%Q(KyA4%sC@P zmt`KjH#%Ccb9MLFv2NF)c^4-}Sk!HQ*l27NGQlaf7I3>wmv@K?TN9e z9e!=w`q6S}U;iWapIaB@91}DVm3>_u)?UoMJtSutH>g7HZ?&7&YIHth$oOuvu5SPE zATs{>+xbJ@9ct<9`~B=uy+e)f9h|15Yj4~b-fl!>PK<*l%~STC$aj`K z`f9A?mwhyy`KhvJUrm4c2@#onK}?sQ60xWsh_3xW%#auN1JSWRh$13p$pQUAd?8|M ze-LxzLL#yPK@1KAks)sk1Q8en!YT-aBnJh7&mMu2b}0U}q9909^E9K;zS4#@W5AWjgG8V({)E+8T$0)%S>h=Z~* z0)%rUh}%Tu%Px^1t`RXS62uYtIuX-Gg76**;+Q;rBnXcv5HE>1E_+6SctS*G6o>-( zDG`gJL3E77!P6}5i#)~ewTBJh!_RJaTJK_a^xrwb_pQP5OGtsPXKX(h|~lS zx8(vNQW8P9CW5#t8xuh|CxN(4#C_Q%3B)xbW+j1mC|@UHS~3XlWDtMixg!XV(I8$D z@mTg84dMwAnWI5Gm7fx^Xbgz1V?aEY7moqaF$F{s5ijL{6cArhH09)NDVk3FYq^k! zEF($`HloB^d7}|T;8+k=V?n%^gT{i;jRTQK#79{i2Vx%)G2=jdmUD@S_z8sLPaq2A z$e%#irGhv^#5dVK6~qZ5Qd2<`$pu8Dj0fR59>fpXI39$v3B+w8c-h4S;u;aNOdu@e z>qJaT1L2(pLXfAYf$&HN@sbEj*)tu)6CyIxL5T8GA{I>m(RBidGVvRxKvT-^H=bu5` zCZeY7@-v8QM9lgbL~Z#x5z}UX@SXvpt~`AP2#=W{UJ_AX_M8dg2@#nyLAc0IiC8oX zMAum$8p?}jf#^6JL=h3La=>g5Ux?T`8$@Hdkcg}~AO_C?(L~-j2Sngp5LRZp;+uJb_{WaE4g&I>@?Cc;m4Spec15wjM6 zXe(bQV%kCw-U~IIySAsB0QIA7{vqL8;jJ3SCoXVrw0}$KTJ`U2tG8qF<74%%TLr{4 z7@pCDPWrVieFV#1aF4`o+bV<*2vyS%^bDWjt& zGCInXK?KN8iCDAF^KMRArVx=q(2=1)*C8B9Dl^vbYSyJ|be4f#@&i5)qLJ!Z8y>kQ|w*>CX?4^9csZ z_REodVmY!?mm_I{FI1AYd~~e10qUZyaq(awIGU!h>-)k*jgqgOp$A2q5==m4v1|4{eU4?m?C+gR%RK3KLg z_xDv1>n_^IHojKI+ON&8a#`Cc&ikGF4cb4d{^GjMACzP8T$asd%3n?Sg30%4Mkn?N{k263B+ zblGJyh-*a5+6-c%e4U7CTi|T}u>;rp>oyh5SvscAVco6y&HFAM*}HDc#Q4*7@xX7FX;x`b(Erv)z2{-)ujb*lz2Vx*-k5m+;DDdHNPK>#-HhZuf0^ zY0`#-#$Kb{8`Yld6L@)0=W@LsNK;>}3LW$9j>RI)%a+fq>x|iR;?ui&d4C+d8|?e$ z_g;FUx?Vc9mE{Dkcg}uAO`OMks)u~0U~fG2&9%^}xIBmgmjZr`75-w7#>>?sV*_ zg%{+aotV))YIi}&b~lWwwyVDF?1tk4HrE+6uEnJC$!+ayj?A8XaFyV^YTh5s+cz>a zZ7{ax%)$46oA&DSlpmf)>{pdpdscd??H=peD?44@x=Ul%CC1aYlG8C^VzpdTi}YPz zJWu-nQMj(s*mb%FzVe~EHqDwn>NaNO`PcfB$*nIfY!ooXCfBU%jHy)AR!$ohMZ*1Ix% z%H=~v_a{7S*e&^wP~UY%=c8*DHho@s*CETmeW?MDvW%Yu2ia;j+;9f%(jj~|Iy$i% z9i{FDktr7tk+KJb>mKyH;y-%c`b*$5AKz*DbM>)ZCbqk`SSV@}(6Iie3d`c^Y`8hU zRl>w}KI_{~ZPD~Y+p_zcf1f<5`_UCG#@(tmYUAMngXaubAv^BX*!kA1yCm^=)WIno zOqz9%3L>k;bvyJv=G3&afgd_fsyeDw+V?4|ZDy2Nz4nim(Kmzf7r$;*cdFHFU(29x z_ik7G_{*j@Imvr9X&RHzxcvC2wpGX83%-=KY($Twz0nIos_TNgf4VVXMaPiK4O))K zo8`>C_+&U6r-qF`d_D8lrIUZ2^UxXI8AtPnRr>P6e#jr4h2E~eoNDpsmg*1ZXT+U3@|^!N zuH23V@~m8pvSP^WKL?+6O-bH%aqnT_!pLz|8xDQ6r+@Dr9VgXp|4WC?_qul*ZmKf% z=A}QUK zFRc!5|8T$E;4-G_3$IU}edU>Bvjy#6?Txp1AH3SuDQa~62~9m4?>SXIt6Gg-gFDX1 zS+HL-SL=J}>xX7_rVNX-+thEDuzcpe`bSF#A4^(3^2C>)vQJn2!}#cFy~(b%_Vi6# zI_F`h4c(Jk#te#F)V5Ijc&W{SvA>ln$O${B$+Gl)QX}s`jn3b`w@#jx-TwRWmp$xs zhh}xLo%#B-sc(zwA9uEksxV~jyS7oicYMD1taed?ZLZs?-TF~w?3(7(w)bx|SMGXT zbHaC@=l4oo6SlN|SEf^&HFx${hFHd2YJKXBX2ju%_b==pu<2p{%zVz{P1KI>S2oqV zaloqYyLaUT!&v9W^E0MjIx_cRPTvz6JX~-s`u@dheY@`Gms(Dl)qQdNrn%onpUmj~ zY}V>UlO}Yk@MKtx*Zs3s*W&r%KMkl|Xg91}w=z8+M!U`4IKPYk#zxzo<~W|#Y%hh= z*_n%)8I^y=*PVD6l}2B6h2g(XqyJgsVouB@jlYG^ye3|0k}q7;n8aZGN!wTyd7I<+ zyJjhGg$PsrF0Tx%kdyID(@Z1ZyQ>+VlXg>+qR}k#$eI02^DB?HOSSU7%NkwI(Yu(42c=A3`88CI6xxuA(fws7?~JfZvBMmwcMY3r-3rsGxFO=}Utx;=-< z(Nq(yMSt11f`v{Pir;D}EvH}9w3X*pu*edEMaoC5_cS8W{3p9t%ia|&W(Y&@>puUZ zgH&c*T^kySv+*{$3t-XEL4loyK(e}6@6rI_@_K#)X09fEo{66 zH7ipsPLKC=Dz{wa=+#~GOI)-+Q_u8m{jYKcHF1_+BEe^snpGL;3o5r792rh8#^r*e z2b^owa<)kCmG4s%^qwSr)~i`~^N+JrxeY2;68u)mhx4O zULlK<^Qnn&WRbl`)lQlq9SV-@{Y~ZYs|4IYaAfESm1~A{f7$w;g^dfndQ6{FYE}!R zUx6cg&w!&zXbE|f)AgRk9KLd@YRwZhuQT$j<+t}OY${h&v!1D0U6J)A$Nqsul-6_# z;c^;s267H-=gu;nl2-*)h0Qm)y2l*93VWojsK(r8wB})j!j|icd$w1%q zW@H}ZSI9xgA;?k4u~PU&oZpZ*4mkli1vw2l1EHuo51~k+S1)%!c0zVRvLU-=@5dGn z{3dzuV~g6R#bCxm(jgNdOW>)ckY$kNkTsCCkR;^!L0lp9im5fk22vS9@51hZP%tiq zEQ3%G+CwPt93T{B6jc;OH6S%1wFIsnR~rd>Yy25xBE%Dt0x?49z566cTu#j=7B(6a zy%BXD(h1THk`FlyIRc@#x<)|~Ac>G<$QVcpWGrMHX^e*HcgkF8U0=WwL9db=}d~V@jx`VOPtN)uITOeB@^#1TA$aTm~2)(kM z07-<0R-m zkYGp9+vrC7bOK zdX0Q5gx)vb1floPvmk>ZRsyz~@<>=iDniOa=r0_h6r2I&du1?de5gaknbLP82pWqdeY3a-xCM@R z27C)y4(=|-e-CmKLhn?+f_bkYCdfnxy+E`RqJd~30z?O)U(zU&J>OcGTf5zUr{ zTtRv=WGZAcWCgmQ-vgKo`61uO|1}&o4fJ%#&yekqoseCS90-qMBT)sv>ZZKEyC2*E z$S;sluy7${4$7Q^rS#@FT@2|>^1Tpx`>i^p4rII>^v=R5xGOA5f{cflAl1-}Bcwir zUL2(tTo<9MkEl-XeP4pmHL44mAXyHHgV2SDEy|@WV@~%Db~y zVck^FRJH5>4VFWG1;`Y{+h;lGy+ycH8q~@V8%Qbn%zKNQ7M1L@@{flWb#u;tu$U>D zBy?~OE9+OtH3)v4iW?3Lg@ix~k?##I7-=s^E6952o` z8w1@Su8;;07f4-59msqQeu=LZ61I>kkjjuskngB?8nO+t6|x1g88R0#2NDXI37HO= z2FZd!Q-G5-ISqbT46!t!4Q?t3LV)sWGQGL}a|vz+(z7A6N^o=yCvGBS41`8N0WuGg z0Wr5n2|k@*&(b)6HVSJ$act4$YIDH2!8vHTLJ^KkmESp9C;r|=fr!!I}kc{{=mnA z&g7Ih12PWeZ6JQ}Qqty zYY^FeSLRD=9ZX~g-}4@-U2^BwxRR)KpGd7{RsIC`2?YS%KIHcTN9O` zdQ^_up?0f*qw_rF;WsytXTrq=8Q&mOkc84?08hh!{6M-qupGon<;ns}Lo6X$hy_Fg zDFqQAB18uvekGbI1GIrufK-H7L#Pi+Z03r)&d96EU^Zx*GcO+VuCNg0?7{!rj$jA= zpS!_4l>aAJ9pxM$3y??cQkm5dTGQ3QJ3y*hU^f0)kqVgi2^1(!|63Vbj-iC?ToV2PJN(x5cQD$=eB8f6tzLyCJmDMqj6B5 z38r5WIOI3TF$f(p^B_AQ zVe;Dw+J^iH+0k0ttS^~P-L;2oMLH3Z0NITeqk!QMYIP*=9WW9Yp{C=3FTq6vp8(^4 zv5**fowe4f{U{`fdWx(+ArByrAynj_RY|92k|0|kn;}L>yew4I);CE=QuTGfwGeYN z^!V-(cyjt0q*p^yAgdrI$Vx~WWC3J0xLK^>1(^Cqd>Pr!+g36OLM8Iua3`c#KHrZoA845qZX zO&S#Gqv>~ES>kV`4#;U{BWQ%w`4p8WXFf+|aws)!cK%f8)E0S^44((dfXs!=fshg8 zsaX&*ei|g1$eEBCke?ybA=C&pTGB9cni?)S!}FojXvjk)y=XR`rjZ6f#*@({2S#}& z%B03=B$TECG(w6xb4L_v#LJ-=qw7 zJIGGRB%~!xJBkFoL_sba92xOXuB1-Jk@Ki*NuD?w2*oemH_(&c14#RD@^6*3{VLzk z;D`@>7vwDD4CJ!hq>9$bg+lxUgm#gVO`ZftRdz#YEhfmuD%xgEX!D`F!HblIRxbe0 zL#VoWdZ`(5g`&&Xt7sjX&`PG+yaU=FNKWVgG51(9QdqT`wpxd-G~pCs6dbgHT!GMr zKtW+1Gv!faQuF5K%oFn;ev+r#YHJI$sTaySZM9xiXiGL<3p(0q(GGTkBD_7Lt%n>g zr@o!Gj0IjsYUZF#cWA;j1BtH%(v}Cdx~e%6T3yRGY3|n4t!WeaoP*ZBMHA(MXNLlF z-(;QcF#2@u;sQ#*QO@;mpMNX;^5Nv-9NDp&)*fwdMBDfdAuW7X@}-#>5ov!H=!pWb zAxeRq$L9YOnD9OL=5=AJbq(iwoPoYxp5e+}z#p zhhB=x%15hfn>yrMDSv$+ty0Q(hdL|oEz|Jhsf0U*CR;n9rFwEhCv7uc)%M9o(oV`d zS8MI%-<-5n`A717Di*_X->vE z%5UE*#yZx55$-65KaG%9V|1q-36(k>LOFLgPdD6jwvv0I0N+lIqH^6(4)6M>^%x)h z%dMT+TTo7q!Q+N7NM3;gErzQF8kg6FIAvr%QyOYQqlrTfeYv%Cah+egN*g{XRWbQ^ zz%9R|wx^;1zPd`QG~>pDzNe3^LxE;!8#XMEYu1JhYh^EhLpI9M_o!jxpN>fgy1xPC znz|`n9FgOwz$LXn)9CE?C(lKMqd-eE)C8AD`TlDy79no=6Xt`fMease^KTQLZ}5CH~TP^EOTSw zr?=S!N<$_3l&9CxR>pg+E9z)#;yuEA)ZwSeH>ql4#5ILn(7{*2vO6!Gm8wnL^tdw1 z5j;j^UdNdir;{`2a7i}x6_6egF%E9%t;rO353+kcb zKDnqK`l)~ckl$tupTF~$8wGbYJO<#_0_(Jf+@wDGiIzLpS301`aM*}VistLi-p%Dh zd#ziE)|+9-@Zui1yECS`Uk&y(>*kt)tG`bEQRnaOLy<#OUwjFS`Dxo zU1jeE+OBxxdPW1}l#{iXOPsPWEevW@@1TxjZHJqh4qguo(r&=lBwjHRE810<`Wt7P`)_`G2)` z-2qh{&7ONX_Zl=xk$ylyf)zo)izp(&SYi|ryC#6BpS{H15lrkR1``<-6?<32sKgMv z#)92wEQn%nh?UsT_uF#0V1VSk@A1!a&i;0Gc4l^Vww=4*24)k>ngUK`J(;YYm0m*8 z9V0SY$5?GW1TxH^f!a*gUSNJDMSDRbZ_sW=t$*-O(}tYQWHm~ zPDl6KA_oFvIWe@+3mU0G*`S~qO>dB>FR={66lgKH;qUh&7Nmo%0B_&=&`eYEsjc|e zK7^7L0muyaeABx1<2*moMAa9@bOSl?ka3=E4&AMq{&d1e_<-u{+Dec{l%#jHmDbq8 z3-bos{FRetD{b=z3;XDv=_R%CQEV(MUbu07}l5|>Pj39#R|ZD(7i&R5%>1HF3Q5O+PZ zcYze;r)hDFqb;0~lYKcURmAK&E zr+SW`+K+duKXyVX*Jk0grkt20i9?!PrU)2SCG(%!}q4phZ_Y&0cW| z_KJ!5j#N1S?|D;f_1v;dn1eJh0FoU_OBrSt&He+)A@XT}ul9v(w4c6%#xU?YoI^5ya$JU?e z8OBw}m2ijNH&AMMl$U@cq|8HvMu#+4)+glxXfPU~doUUcjY4k?K{}h_gOJ>!BqYT- zL^-B*q>~I#j1@_r&snwAb7j6FSI|~VW6~uDfXeUYnp7(XHlWm~?-Tk{iOL z9Ox_(wHWsXejTCpa zUYIb+7N2f<-zhU>n5^8_ p*9dS?iuN?ZASKGc1YQUV?x3eD+Zt;Lv~-T*NV$y^ zT`>h{T?jam)pw;=AxbTaj8@pohmPdi9@P9(rKyMUZH+d_=m$nR zj#55V;^CfrL&2OEwM0_PpwGPyde45E$Z%a~ekcT)LdRM1f;5fsasa7F)GcjAT}o%a z_Q&<>4oYi5T?&OahTNaD6Z+Ydnf}myn3ppEQt7>D5db(>cA6#9(T}CdpD9V2EtLKl zsPAkqMv8UY--f3&s+F&>F3($XlyU)pax9vla4rQm0X)BhV5Y?>7mKgPosTue-8h^D zfW|RxW)r2JM(qWwo63|^*<4E`8!=6#pF98^a+ z>^#r}*HJcuyV4t$7|5I0%`uv6A!1LHD5JUJ&a^`o_C7H69Qz|@a!>xdj{R6n$FMx5EOsBzGRbmOxq>~rOwdcA>= z%T(Q*>X(BqUj~51?x4MxB3gj4)zlw}YCP|Ex_P4&Ya3VIs@1Tm0BV5KNd~~M1K;Ik z0{&{ptYK#z%h-Sr;&?`AA9Ada)7SNjfS)hCY0P5He`U77wrTs^%(#*jGG+|*VNSyyse-izJbhp>gWlp%z?_a1g=K3zy-8AwteZG ztz%8NAo6Xk*f!v0S_8#cU$!>3-=mK_&zMj#GH05yp-;4RgVCm(;q)D=U@8D?2s>P+ z4K=$vaGwc~M0){1@4L)!`z7x3H@%wqCSKZW!u?5_a3doRB&xgpTMNs|ws|JhdztfN z&_j=Y-z}JC%Be_^tx!R=Zo)(tt95=od#^`V6QCg_0HA40>lv;OaBQN!zFFVMp&`{4 znsBjn8jQGciTnhV15l@zTDcymelOgF@}-Jl%8wSa`v^lhMJZvRTC6_md&8k}ec0;x z{|=PTz{M(s1GrM0G_9#+Yv76%KF1BGi40Jz@Hv1BU)Bo$$H2vEfP=XPoN!l94F|4R zNpoC93TJ>~CCvd`(z4dJw1|O=6*mWSaXV>#q6fgCgX-GASNKqT2RzBy;a@bcjj~N+ zMII5zb0MGhN-g@ny`nb{sN0=pMu5K6P!S$n)t0%oqhG~D^b{6)A|Sp(sqGQoo{KXP`8?t`C^%8&pHa`r&yx6rPC^Q0qxv6RCtIjx%I_(7j{DMC`SZj&^Kr@i~vt$ZQ z?g$q&2XN*`avKg9S!4OF9v`t~D=t3cS>WXE4%1ppgqQ1lG#1#Qfi zE;An90>`{S+;5$Fc|9>-Ya&#UEW3b*nq!4Cv26c+_0KmgU=tci=u_l4p{Ra%=Y%k? zbJt{1cNvy)G6-Vc%hj5Oa+0sxu?w4UKofnyp!t@jSGJXEh7aQ>K! zfzUp>%5Z1tRTo&=6^iK!t-PR=uCNo$IAI2>247iZQ=>K;$9$ny6tkv$hO0y^zr=z_ zO;W!C4SzCxg&x+3`hJDH&nb;Pb*2Z%Q+tCHR%7D6TeW6;L{--TAcg+RENT)}j)V|? z0Dy^mqxYs$mi|67SX~Bh1gU0gki+CxJu`TAy*76aBPS5N*Tp##8i=CmVE|anUVG1) z%PSpx*{oN_1ZQYzB;u*&6dVQI!tuh$mRFi`z-`zcRag};F>hbr)ieYEblI6vN|<3T zh9b7!zUB#zhGTbvZT`nYC!F7S61;0ax_d=h?R%UM7nBL(*HM;1A?i0Xa!o8`(;5MUnM3aZFf5uR%*V;bWtsuW<%)7z!^>--ZIO()_FvnMf=Qq%FsRME4`{(Xxrm*}*bRd~bVR568A zui%j_*!Y%x@}OojTScomf;VVaLY#+=jWsYbNJ`unHU((WVf$LA2zDQz8 zWyu^mJ_3nkLDH{4?nCg>n{r2)@*?OoDJ08|B`Wd~n+EEw9@#{~GE(pkf$ z&}HI8p#$(zNQ$Y^*$5~_e`GbVbR3-+{5OEC$w0}>9>OVzDWj;Z6fu&2tVCTrUyO4@ zZiZglleE3iLVX&oXV!Lx!Uh*K4j9d?_WZqg>VtUFj<1ZfKY+E=h>>~1$URL%OS}__@k~pDeHEWp&#Dcv>9bBHD z&IBy|mvnG>7}?n1_WjZ=9r7of>;M3pJz&%>>>X`s@EAp>+OH6!>!YX>S6!;Fy348g zvHhE>G#ma^Z3F-dJTrQ}a!+V_V?F@>d?I1ovkb?V;GnKV`fCh^zZj}D7Ny3b6blC3 zk5%27bD*3HO8K&_0~T6D17KJP02`tc%Q+waag+0N4&X~Qsj|X6FJBkuCAFLL3VF^x z+Bg=Y(jf|6qBu~uaY}%CeU+%E{FR3H%na4?0A|9#Nb#Cd$AK+N%3z5T-5Q6$XCZ}+ z2X~uRi}>(}MP$nT=!fHEDFaSeQ9J-xT1;YzC7t|RqQb%D-|1<#DF=N8fQ8Fk% zh(6Om=(9~iH&fPheXwBelyKmDMU2^wawZ_UiUfd@5!GlnOADruiJ%`&T_!@)7w|b8FnJxB zEc$XC5%b;N!GDRElUv(k+RNY(beZ8asbYjU6u17|ywsJ22194Ej051CEkbOyn>Gn_ zyx6gj4;D3Hi6AB(xa6Nj=s9ZC_%0*9%M%;gyuxji07CfI(t4I;)4@2fIhS6sB#Uat zBM~$Z0FMJHW9*PjDeTFOjxfk^%4bPk@|}d2pHfRCYPPI2vi)jnPuCPNLvd^bsWLA+gu>aU6BY*BB zHW+veFWriaoMiAOpJX0)*-dppzhNYxh*<3J2T}NBEWx|b>B)+dMg5(^IdFru!?%c( zO6m-BJ{B)KrA(=Oy4|!$uo8gP)p~3r7CVi#EPg>D2G~ov2hrdYGWzB;_O_m-TrPWl%8#ZdZq(f8TCPe?!*iegUc)~1V z8uVC`ZXr=CjS-#KWme+QCQ-R9ZL#F)j}-|VZ=#49iY+ytt~lU(KGD;$JrcPOUXHTo zLU57v<8-Bi!3J;GI!U$Bi2=WTTa#^I$}NGl$YDHu>eFH1wemkcMh*;vO~kLS! zCID>Ovw1@N{yI1R7^Br-k(e!UiJG0Tz1*MSE=XLm_2r2#XH-~cE2eem@J%Us2D)_~ zDGfrdy=cg?sy2g%)NoGSa&h>IV$?V>#BWT z3>n)DEBssr0E|VB6N(yA%a-%6GAMwv#Jky#6#1P}OScXHM=ntLFEh#lKiGv*wt=}s z@|}&O5v9&mYH9mq(4I|-<0pMGaMc5}6FUnzJKK3$$9uFpW`)|ZNe=!h9izC}ilZoB z%c7tFBWHR%L#GcID>1$0b($U*QRqh4tdZhoN=-qTLo^$2aW>>Q_|qyU$a|aOsO@u< zcI`%5`2=NcL~1xenR~#-ShC&(v}lwz>;zfu#oJ-D=m)%wrHEZfifyWgk@Kr3gvA_4 zs&nw=q>ntgIQ>~y%%gS*=p*G$icVK=XPLBgmvDBRf{ie+DHS=)PJ^d}A5NXus7^AE(gnIYw@4Ss07vQTZPWit6}y#kLY%A*c96 z6WrJuQE^%0qfxen_3@$73v?)DSsM0lgk_n+%#=vKboCddbcd1(T2~^$!nK;rN>sy4 zdLAimYVJ8P_B!5u=iPGl2-bt856q{tge7zCah=qW=Y=x+yc!>;gluCWl?)l8t3-tYbEa)Btf_e28>%H5I+%mz98w~Hd zCur|{oICWmD40z@bG!SRVOyti0N)Jty+~FIVA_YM#sYM-@s~thSl+1uH#G~7ELtib znOA*y&(qyyIc|vw3t%P=w4NpWU8zziyCo4_?%2lC`=-w_9?u=TTA_4H$w#Z>IyjibZ2XcNGl8GF-OIqV9%}VAP zWudyc!7PDxgO&{4ak4M)n$S&>UD|!;$-nhSQMN7(si0_uC9tRYKrrIj?~ZS(Ubp-_ zARqx2w(|JjNh^V(9sF1a&#={_3*d4eYn{CU4<-M@yL)tH379xQe=WhFC8iPJjRX8k z5d@bgJMPN#CG~`oFj3n4&XYNy;e=Sl%`*+pV#5#!x{&15;ngLgA zblG0Fgn)FnY5Q`;&&B1o(1OP&OG35NMzC22GiC_PRM2&W5>{YNCIfM%UsmA!#t_O_ zf#Y63QqBrCD&8UIm5SSk@IfmPzdoe=HQ1^D3rFIupn;DzdF`KLo%pL(!*(37m~2+& zF6~+gt9QIBLadETn*_v6xCR{=5jBv*Lah0ZJ9J2Sa&wg_rzw?N1u2R;5QvAYf)vG* zR?;;-R=r2wYhXojbeVzfk>zR=w(EV0S`9l{a$m%^o(EU8tETqD;x49Reg^OQX6cl$ z8a46KPNKAv<`i9B4JjE(e^4=J$BBMgqx6wXs9!x4Z5$Qw_CK*Ro5RSBZ5&9xYfUYY z4H7T$u|LH|TQ`R`ti@nBf{p`dn3N+ZEm-vF4`&-C2Q%ICu*fXzk?@^^XJ*YmS${tK z3zW-abR1w?hfdlN05%#Q3AuD^*R-UqQu|QF2nq+l5CZ`7GG#uG8JRji8@`Uay4wC` zgOLMo64%pQ_kEAYv2Z2mX}llB(jrEC5dch8r#oMrUCnPZ;`Ic)VXh;UP6L4N-#%Ce zxgVv<>k9rUHzEt?BDQ;ToO8lh*4QmEE93 z;cR5z4T`(=ljk&RgW~Ao{akog^_b_{HRUS(fOyr{ZTxt*D8HcRv}c3TLln)#G=*m1S?LHJAdY?i(*b%4y(a=6q|xz&=}>&2(oA-A;K9$TTpRC>wo)e z<*PB5x?rPIT8~*jne+CSgtg~A`(r8Fm@|pOHbXPTvRBZC!r_uB2q|3D^j30KI>8r| zlZxIK`jQ%MLF3xKq^}F5*qJCUY8I4@0kF2_EBg3nbo`RrRyq$n_uuhd5E2Hwrl_q@ zxn!`}YwDK%H|1!%y{2mnRce_3&*oP&@CP*(3>%w|g+Vs`FiN4o82`nzpg^rc0tJmL z-o#3qOBGNmUSa=b`~Uk1(1-k$t}mlwP@lXJp76KY&q4zh?VlzF=en3+3lntFy%kI5 zdlb#@*GBZZAi5Jm5;NoMtaQ`+SLS16$7lv0=>PwrhX2+;KTwcbvRI@M$;r(B#zsqX zCpta_oB)nCp84TXC@T%V zBF_&ot)^;+F!M;G5r+^Q@ng)kdVU*7+%2QbL)g3DOV)=mG^bE4Bx*6Iq2;=09g02- zYDZ}!!(BifY?`dDop^QAoo#GUjV%$wIbEl0M(+i^L83L+lKl~-m0H3K49Z_j6OMqr z(Uf`w%E){g)gfur33&1296f%oV_lFZ0S%t@RnAy14YnT#U0@`u- zqcL6H+wI3$6}+i|H{~kOwG)VYs#egjuNTBUKC-E{Z56%PV8u!>Ti&gB66+_;0k8&O zA2mOT=3Jt2C!vSJ*2a$@JK@^U5eE2+@&R!9uvMnR-C9fXJB53peJzEFr3JVjxcPi+ z6W%O7O&Lb1k1-302Y?0WWg7;^r)Yi<2j%!}vBk(?BJ0sXn+b%AujbQGa%bv`3TMw+@ z%<-<{V?$rxR_t^bVVc{}th2B?eq~19oH1Tzp{HjtZRXcp_(Ful;KIuvsAVX9i9{{7 z7JjL-=xrHMiZcH|+eH12MY!inTtymyZ0mEVNW9c`u_d>MihVslv*orLJ~3!=@NNB& zj3N9;9()2!B^^0zSLktEMw^;dUl}*sFpiw3Y(}fFym*Zd$>+RcABeJVQI@UDoC^$axfhfslsX0Aw-piXdu9dV8 zCU?8UKNUMA5T91#_lMLdK-marsVu%8?dMWxvOJu^{=_uXD708gy@8e#y1!(Yin45L zqE_1-$!)5RVI1=u$j+y8}c9qciS^(sXiX5xnanJf;0pbh3&IIxI zpeGk$0Bp?x80Ow=Lk*2b>^sRkBU^1i&McV|zhb}5CFQ$@G6zyvP9c}zA+`a)^!)f^ zhkkv|ybj|4-uMH^VP32AhOeHw4`|D#!fdYU8(6GG;;8DbONwt9zFpqwhytXqF!$d4#EP=U`t6m^Z+%(q{Fa zk6hM#<~WIgi3@Ae>YZrAWjN!3P8z=IeLrTCE_nE=bFvx`8%b9$qt{ObzzUSiJB*rf zJJE$5P~gofunVHvnJ^FOm?U|rGUMA_l#&S_#xc&654={i*+&6Of^8kxHVUGIH^x$q zYRTqR;CBOfA|>=~q$RUP`#D$R2W%a@nifWN{6$xkJH7R6WGa zJdoY@qut+KJf3CJ#~Ye?4e$fB@*1wnw!`OlSSMU^w6|5xuSzsI2W}f;}0lm{51Xs;zQ}zghRpl zHCKf_8#(2zPEl!b;JSsFmZOd&Q`fA>AR>oGqkcsLOBuq73_Xsrbb%)>ECnZx6sYve zi*I4*ELykZY!KB(EVg^gu#f;#-xdZO` ztzTQpy@LyoLJ(BpF5a6+%NEJ9Lg~Voo$#s4^><-#$U~GMZO2cVo4hQmmN59BqkULM zNzej6!Ax4PQwnrBZ7dW7e4yN-jroa=-!JGd%y*VNk`~djF-$S{!x}cbbWE)u;NJWL zTJ(TVk$AZFLCq^D{ULxa?UlAa^tJ_agkQiUp$+{=s3{{WUKp&RTSJj+qW z;Na81N7zW|O0yqfL>pRL!#;Ksr_G!)e%^HdL0U}!uI{lds08G=A!ksfXS>f`_@urm zCzY-|!eNGU0N{rN9x1L=GZ$^==gI9VLxyIbd5dV{gx%+%E1vf=?p<<)vuf3ntL0w+ zVGfMrnt~DL=#o9-ylPGUPj@Ta1Qp-)kjK^q4mRB5G2AHML$qh3iU{d(c@yC|i=uBK z+mMINLblD|@-nX6*4-Q8;Wk+qf;!Uch}qIT{fP$-700t#35y93H)Qi$*3|0>dc+Be zXHooRN@7Wo&|dYFp~1N2;a|jTI@U*0fHdxs`BThmG`<>soVr*ua`iXck9}*B;~S(Iy}R$v&Ubw z-mc^E8(tm<*e0r6Xn#Y?8Q=uO!{WF0m&aDG$G5)OR}}gNA(8Q?IR?)=X&F1M61LA2Gsqp!HiM z=cpEv+U8m@7dWtKRAU=W6GY1VqY3Z`e_sZ>M?>CX-%l<9eGDgaDqn%K!{=vd+gs%` z%6qH$#Y{w5HqrVv&~QvMy287gapHMi;+$FG!xOeW#xtA$4X(d1)*;L?ihjA-9t#@<6Au7&ZyhDcy?``X5`Qn-NdI1%R#&OuodvzoAft)74u=g3a0%wRss)c0bX23O zK)L2Rmx6Z{DMZn^6+HSD{AWRzl_F(p>2y_SX%lcTNT>6}PZq|Q>)g|}>2w=4G(@Mb zmNvbNZnYNgeaq^+>C^_Dnl_=V?iT|!angIHb^TN~!a)<5cB+#u%aw+D=&Gch8lk&q zM?-w|ZsamtXP=fkQ#ZRlS(nufzz+rMvg)DPU*+q1>$JXg(hg|#H7v=zIasY6qSI4F z8+{*5y|nQ*`bwI#brtncMPQnRoqmi$?azZxs~S3m);Q_sXzHg0IqRR9YXZrql70;( zYyk33)}^(fR)??Db#^mQ1@BW+6+y_1&y z;|W->r@kEJeWI^M_A1Kbu{v3}A!D+qK9Rk1C$|utE-kdG{x++5h_lW;twl}!qmQUZ zKNQ%Y)!R^CfBhmfu}oe40duUAqRbCRbRVa^tfz0KE!!Y)e uzP`mZnNx>S8|q!sjyKQ`)0FKNEaAZ%P6Hb18RgBkg@Ip1t&HK;av zXjAW}mG^F_-nO}Z-h{Buo{_7P?QPR4)><*_<_C|Ut99JB_wW&2gNg}4aY0BP2$X<= zwICD)MubHKIRy?C-hwXy{U~@U=O3FG88AF7uB&`sbntgXR(Y^zfu(?v{*h5(fr79H zdTHo(z>>gc`0)!cExlpqNEQMe5BO+YHQ2uSs(;Rlr;3q;lANZDUw<2kpSAk>65 z5?C4NqvGSTycKuo_TZ=42tq|*74S5c#WO5a)Qi@86edP_K%GlfpNwJ z#m9yPCkngNdN~g2xPeqJxC%#KARL_h0Z5h)i*-u$j|dn1V?v_+V`Am=TFLH3Rh}0X z5*ZZ}BnUyV(J?_lCco9%m}9F8LIuLZXW2?0+tH&Df}Sf`NisG)*$ZCOL?iDB3A3R&Z47*~pUKLCUPpjmnT4 z>1{kSoVXSgJ0d;E zJA#m)mOF&{XS zW!O)llUbHw|1-RoBA;5dxW^K5U)yuOh$nB)vX;Mh;`|Bl)NX~&%5W+qM@0t3VFwnl z4Tl9d1xHqa|7bjKSZq{ea9DVd2=A9cZf;jTt!sef&1GJKP!-r2NO}t( zdH1f1AXEeTb?4m zIK?GK2gTZZ^SMfh3yP%KE)Jc_2|()Qoh%itZB9~arTcIvP50%s0%BvS6(J1yWV@x+ znf-ZfOY8q^HEL))0#*>-_2uOzp*)Q_M(rnWAdjdZKLyRn$B;nGB{v+z3)TSAFoI%- z#)pLm3Tz0kkOC|Zez=N#RWzws7f6e`Jg_WKqvBtKxqef{-&EY8pjk*>suELG90jEC z2vo7Bimg#K&tr_3+6#?}j1us<0=*RUW5AMTB>w*y z>Aw%u{QqX8mqYo8_hKXzBO5S2iZERDMuqyv2~{u;#9K}lnQFPfm>~a%sOY#+Q8Dty zV&zJGjppSXVt5Dy$rp<`m@CKf)|8zJe!FMMO^72m3T2>^pCf`IqQXW81sw!Uz3l>0 z#BBgl{sy(z6)N&wT1bu!iWnJ$HbVU)hlQcNts{B8)Ljm z$MWgi1*CYi933{uhpcVP-s5;9;X(cZWaNz`HJT&i!mwe+21Z51$AyK*+G66#$f7`6 zjHgkK@Gy`Du@+bnxD36}YKVlps6GFoLt}zqV0sEKXR&SDc*PoX@^U0-(^B`wOnvZ5-UOhpG z{gsdG${5};cFEwdpg>`DDsO0kiZf-gghS6?rV2tOH2-4?Z*Hi6SU8QdHA>+en!J1( z$2cIZ?jgXkz$rkwF!ceFdBgqVf)Y?~g*>7}Lvth4#uO%hn8D|0-c0VzMzaK=5%^NT zDpY$m58xE!Q>!&q+ajUU!k9XTTQvweIkl?Ht$B=gX|_g>3d4az5Kd#PG@HHWs+-#E zdHhmRalX1~L9c}ZomJimNW(S&adb@XwSbp*0n(A@DHvd((JEb71mNM;*0^N4U% z&9wtkglxnx$sgWZxFJV@ahUUhRO?YY`xo|BigJ)`;>HM%efR z;&6vzv93CJDz92sA$b@&wg)i)NQQ(&MGd7*x{Ex!jEz~?&zPF%;rFHjuTJ?f%Dk zcOgMxvFJo73!YlHIl;Y~0HopSz!R1{$;-##s^C8~Jm|}4-cCS7;Be~I@e~inl0Z9@ z_ekLN2BI8!edlQU4Z za*tpZ4m{!hcX-PEzXUohuf5PIoW?_^3YNi@f5tm}1Ej(Ae9mXNInW;Z7PWqKRBRk} zWFZYY4M6*n&)mBgynPrnlKK~}B9O@|wy$``FF+bmtbbfo3}$A)U)Bc-n)jiKN)ZZ1qgG1m4H)$WN9RjR&-yW9dPguKF4jKldElia;yiPIw}by zgEc^M@k)4&^w$Zz+(RJ6Qfz!cjDKv9;Gi*!iY3uuF_^fqGA{VF(?*i`DxIJPXN*Y`uQM1 zbE-UgM8}cPsexfuq7sBd)CxbK6CX|1;A7eQEsqU`;l_aY!0?d-f|u-JZzKIK@$Lr6 z{`L-LceF**aur@6BlZF9fa`!Xz4L%H?R%_6f%eaj#kg~JmEf(kDJd!|&J{>D)1#1P z=xZtRZK3xq#hr5tNM1e)Bz_wZ(``=fiUd`(D#J%V8x?7#O;9`d3p`Z}E6*D`2Beh} z92Mh)OJ=A`Ii5eftf(0L&_-0^t-o4sqphffQA<1C&nc9r`nZ*h2?{X>CB%au1L~sy zdBPq@(^*=rupAAL0iDnwc_Pi8ck~%Z`tpjro~9C?jW5t?R?tCgP@EtDBmAQY{bOSM z6NTyMkMgIXTsd0maY#_01_Nmd`U1&-TNn}XFC4hb$DtzSH-aI=mr)I`py~$Iz`wxL zin{@%1(XY<_ErIDO3PH|`h4hSa`j*}qdSm1&=yF$s3VYERS`(#Bp_M-UUl_ZAm#4? zk|)*zsl(YSrU0qE9zfcKU4S(ABQUj8eozU~tVDcZ(9rl01kG{;85InS3W$pdiwx?B zf;7_EjyyJ+K&L&TJdm~o1CTuOqc}HgI*_Ky3?zf2fMh_Ne>9z9gnrP;fM3xM1$lG= z{7;FcPNGl)I2h;v>+u&gLU*HoSJCcGibUUC6CmD>!Yaz~nR7tVuDh9;>v zC4pZiIvV-Zv;>kzssm|CJzcn=*m(TI{R4wMT7n=;>j25MJ<$Mpz!^wEQyob8#eg(Y z%jR{s1uwrNbGt*svYAhtTsIhQ^>f)Y!zuT6=E0T*oqY6S9XUE*lJi=ZP}0sOgY4o_ zvLKyMD4kO%{iRUarA?voh0-~N(qAm;wzgWkQzzN%TVhQaono#<*B4Z1VBe6)d{KgloFT7 zuH8)H139sqNy^0Vw{}lZ4!^lx%jD-^Sn(`bF6~qO1?)QqZlqH_A^PR!F5ww zOF?UPavr!C><82iyn>PLfYwH-MZV96#=V;I#KnNiCpD;(Q#u%>G0-T8;65~!DJS}x z;EG&d7*>tDLNANGjbec8+TSEC2S*KYE?>^=Z$dEUAtwzFaR%~sa$F2h$m@da(cLJy zVn^!$4P$R>)SIC-mEF6$NtsCTu2W1#{R=8Z9+Mi?AiKa*sr z#b*rN`xvEm(8w5!7}_{!Jd#uT8Ku3dRzwzi8l|t$_>j?})S@^6}U)+%*HmReV)R|H!#UpN( zs_7MHpOIbtO;WSEJicHJ`bdK2jPl%bo1sx{WrgdXkw#ICeI;?INg7;_k4lg+V$HmI z^5|}@^rt|!P~51)s^I35@hzc|3oy?ET@0!MKO$>CH1YtCobRdz&mpgc6K{lU|FAswzwFev_loRx1&+o1&wUtUHt`3?HCj2+K@Y2 zi9~4=Dx{bbkSCULQxINT(iZ^E~ZB65niQ8HlN7c3dEv+Npf z64T_waFbN6nILrLwqOk5(8vj*5_T)0Q7vV|(m#ZzYygriigZ!5VQ{RK5sW^HBuhnOVe_d{(`2?1IAw0 z&9eTnWTil8wB_&_TdissBfMDzmAsM1m(DZH)*=Do7(D3b;ks?nob8MeS}w0RU< z9Hb9m=yIZL68bs_ls59dE^hi^NVSrauvjvXBHPeQN2B37wEuexmD}=>@M!aaMp4D1 zU^O&u;i2DM3{c47JgWuP9Q;bnPIj?^LNi@p7gkB`Xp>~sp4W$8u!Z%6Mz&(>Ipd;( z;v(n80}X@pvTqf`;r!Nz1g^AJTB12i&#?*|#GhTW};QU3{AJ7o`S(UDK7BzyQ7 zr37eX88!q==}uL{L_vF_YBc#S26&kU#P^Ev&?tgXu)R?_2#p$1Hd3jyCpSZh8GSEk zdTEq7;**bZ8W9SP?MhA~cF218L$fa&EFo>d?h9 zTXbO?35_BUEh6GGpkaX}7nM_zTntdiGkj?{Va}*wWt3u&>^j~gev%W%o1{Tre6dM< zSkUl~{D}aJ@5b{CvPUr8VaA}ZF!QR2OlqA z-waxRCF0&9g>5SN7iE+!dUC%aLVaCyP~f^=Zqi<)xa&MTjgp96gIs~8um#mc zK`4t(8VRj2G)yCwK?XF6aI7P<(eNA^ji+GgNDcZ~+)A5Q47BFFH2Ta?HLcR;9cX;O zhY%j6eYmDv0>ln-;&hXBPhUa6u9;j~5Cm+Lx9icl9%tyh=_cs`@~CCy)Fj%kZ(e;GrA=jY{&o?a=s^;}PLv_&Y1XMK=(0Dev3c zQqG-e5=+W?Gfn!jestbPOo-Ry#91cEbr7F#Y!m&B`gmxqXiF3K%dWFc`Yl7~QqoH(XK{duA<*B5O6{Ly>Sh#)#spSQ!X9cOoftGS(3Q|Xr z>L|O*Ep9%IDB{i%dwbhc6J|IO)8qRNLG_(uhmw~?nW4g+~ zF@8qzcR81tM7^BHOj74iUKY#x0&Xf6nDmdp;09%Zo4#q7a*KsjN86CQ`ToL+X1$s{L>aH=`hRtsqq;+>%RQJ@dLd3R2&Y!fo8bmbwTffrh6Pq%IVs zY$BC=Jmd~6NUbPHJuXPqi&D!;(Ma)KgZBMwXl;}j#A*=pNXNw$ z_qe$$Owx1cv<`W@^<>wTCUJnAxYDFw5{p;Cl&ku2q-Ynz6k#oC;{>4rG-dD5H-gq$ z&hPFfj*xR#nWU4@XblM>-jj3JnWXY#`LNOZ8l&hZyJncgGjd`EPK8N@94!SyBaSSdR4YuNXHkrE{u?15nLQ|W=^zMh| zhH6DAIHWvid@3;YVq@8LyGcs=)e@N^9J&!250#YVM*S0LI8?TClYCO~MBM$X+~($}3rhSPCB5Gn3DI&&;gH3UshBf=#&(yIgRW<${STsC>b%FWwLIQ#tjni zDQUSVN+ZFl9(593bkG{e?ql4fJ4lfMI3L4h#b;RDLxX7vjq>!$T~|0X+?!#pmLt_c zF_SL%MQ2(f1M5WE4s8f;4`$91gsJkrM=dE4s%#X&v-t^}4|oT(9w?3Y?r79#=E%Eq zTS+bFSf0+%EHY^1FBpM9y#cKgG(6>lhg@auAsm8mt2G;1JKh-Xr>{W6bCN!8k~Ejk zvT``m4}<1S!_e=TCkVsHiTcL#F$Be(laY!;8_MRP{|arGVs;?obEuqZq~D;$@KR=@ zK6Zhno!dwaR9bXRrvcNg$`_;}S-u`mC>ILCAf*-ttG@xQmr}OgBK2sgueKPyD0WOl zio21@J|s;k+ir=ahvi6lE8HhbO6s~4Z|qvEmySXse<-fjuUdw-*}i(PV>x#^A4>o< zia7)jwu+!mbJ+G=RD ze3kg5UHh0xa#;&!g2N*pTr}rEb5Tl==D3b`hlQMBl>DGkVDU&i2aN|01y;q3f{h`= zsP`d_R*N`S&OL6@{{g+LoYc=vtS!5qpxcSW6DH}%dYnm=o>PY7xVnK`s$8d}SZE!P zr|jeUv(WhJt+Y{H@GPYw90!f8#l*BVikoHEQzq##I6h+Ws*7P0pB z#wVA8uk}`Cug8PMRHS@S2TwzAD_eYgGeEnL(gI zdjpM(hX!j}?y%fYP;kwIM)S(I_>0iUcU-f{zD`rzO;2 zpR^Pjg*jX|6gSt<`pE8{ZuFe$qDdStC*o(WoO{tEz02Z$Dk^)dG)hf&@e>2@F9=#w zw4$6*4e8LxvcD(bE*KiWfo^`p!LsXRla!Oqw=*1f5VJ*cxQ#sO`a^4r^0-oFxfq~$ zK`EvjPTJ=3g8T-LL8FaQIfF@0pml?$Q?7x{c5^52o4*mzXqt=C6-d7WnyZ|I$$Nnm zwE$OPn|9k%s6G8OXnmBe{Vr02Q3{u5O!0udmW`fn*H=JmhCG{UEQ!-5h;Nk`r&5#7c55eh!lJZknV;hxj1`E^coWZ^(&%nDE>?_YX|w zVIJn#B5;)HE4$t@Nz;y4uD~Kf?<_Rhb(Eu+Xpr-6ne?7Vas5}m|42qkop1!vA!yDh zivweCqx2RUZ6MgoMj9orW87E#a3(`*g*=2CE~FQswSdOM^q1fGohinRVE2I52zk&t z8)+-KYm(N0Q+vH`6d%iZ;3^#Frx19*wNVU|bMKj?72q19uCjM)E+3a$+;1g0oxq(A zNSua88^u&P_r6Iw4$c!C;tZ2g;Uo_jJXXN2=nc&Ud3d-2Q)fVH4Gre_81?6%Im`Rb zx73}Ys||g-um!2VBeDKz?t{{D3KmNwG+Gd_2cdoenzu#M*E&P9N>|${NDYzq<+L;) zLE*r6gxcqLP-B3w>K!z4pt2Y0Tb)O!C>O@@NKrsxJw_X)Q_y-rgPXD9YhK`PMjdoN z7#ekt_Aqr>(0F@v)O!yNm;RS6br-QkDOUY~R5!X}OOBT;X3?o47Fr*rLmJa@Xa!@E zDqXg0lqjiR29006#ou{kb3e3)rfzj;VKy{pZZfn((0riba)lVOyTYde!|86+_k`9| zIgcJe%2To7&<>+i=W5|qG!~k=1!BGDKx?I}3>lHCo<$ml{53XPnKc5ppf3yq@u@9pp& zn8v&b92DE# za5{VpjklSC6JU*7@PM3z868L|l!9OJpjTCRb7!D6RXV0Ck8rzi$4#NN;~o3rZ2eZ* z;@+90>vt?ydhwl6YIT=S2ex0F98#f?*I+sv^hnLa^unNa_mHP-D^rpBdt1B&jrvh; zFr@PLxtp|1w8cpsnwxSJm*w0KCg}=vTA%!8qTB<^){g;8Jyi`O!}gR0O&zq!s5$mP z{`#?%^g|`#y(m0N`D79&$hn_P($PQpwFl9H?}SS||4Iq!=}>@U0KnZ$W=VxCF5@R-jW<^&hy zice_A-S^o|>@B-~HR&%y?<%{0b<;aPC8tqpWI^g2Qk@j8`ZL5Fr6fP3sCPKNr%|)> znf&!zEB$vRJO7&-J@ELBM;*_x+~lP1Zu&+q)Mmv|vTHsbyg_fLG+Fv38d6eykivX@ zZD~M)My(tIG*@5BqkpuL9AEKkHx9ONML0Bd@Xk^6_hSmeE zV46D`#nN)#Pm?tEHQzy$E0_Kjw5IaD`)*RnH+(b1eBf)1XlS&9{JpaFf}zRfTipj} z6m&`}Qj50**B2k77|rrT5f8gT($c^J!=d~GG!rx&5?UMeP2Q0c>D!d?NKth0g?CQX zlsaN@mZ(KTt={uhj#uSn6@ zaQ*9x@AjChm1xqB{6byO{n#y}_;%MgkI#p)ljz4ogAx7Q^d-K6m))~k8j$Fvn2i4P z+oAFAoL(cvhe9V=w{L~DY-rvEb*#TD5rpR?y^$i@5$>>kk*dKNy^Z=Z`ASrx)NrJ_ zDYfa+lM7943;mS%VKLXk&!`^_tq%>z`W#Yp6)i3Z0*;3lm51Px`%k_{AwZIi(sXE4 zMmdIQul^L+o?@cAScc^l6HQ_d=4uTe$$}_!WA0UOhlmup5L?NzD3Y~N2-H7+75J1sx!jD$ws#>0e_E(R!M1I7&3|A6KU4K3mv+yF0Vw&Vpd zd844IJIyE;0~G4I1U-MTGVpQ*HcIWl@OJ2O5C@HXz>V1ft(`>^MV43=%d4>@s*g^| zj3LmdV=NP#i55enMUSsXu$??mHJFH#P=%trF~k?HG*Qqx%kFV44M_Z5$MlKMxw+t`t{xlvj9j zZWuJ>s~gSc;%v07*h=%E1ltW1yRkf53@){##m6{c=nq3{tUO)$fRqm^V>#S2>Vxqn zsj?kNPmtmb5%NgO zVn|SMQ+V0HlYG65#!Hu7xCzUQ`ro19Wg2{4T>-D5k^>R+@NzF`+#uXT>t{jhqbwLJ zqz0l?!NlwP<84!1JFur7M56oD@rS!*;!eIrkT;&%oAsH)(fA4vE zGc>+aoc*_<0 zB_5A;q7*DrE}Z&_(3Gcq`kaE)OQf39!%ls*%2bO+H3+HR$~X=k$5TIOfA4x$c+r)g z*1I4@%bZ_N=0Q_SVb}W!4NpP5-K@J;;cJLy1p8HgJ|lC%^3rt0dJawX8{)G@)k1mt z(a^doqxuc0fy#Y-HI`cw5f@*L8-QjJ$Oo#i7PSz_HL4ewg>z{nG>Q|PVsQ4{291JT zx#;P2H57;8X<=8S@GS=1JRK>z+G3~hHtH`yQ|@b|vNa19E26sxH2zF+HBwX_E#j8y zIW!pC-ObRv77vVqppjBlhF{fhLgSaaL)dky)fUyKhjdU)hQ?P6r1AT`SUuML&sVma$ z%}~7If)wAlJXRR>PoXtaVxm$#zB;g0VB!F1eEHGVw*(s9!r*L*YuRIH%@u>`hP@)o zbHep!czqFHvF8tT)BLQ@MmG>!=`T59%q*#a=%#OpH+cK-*bHg0;Aua>PY!$VNM3PioI{o#BeIc(u2`Vv5HV7XuX4=6go* z1WRm$5>*>>64$YnMtuOZZpv=69Vu7T)UiX(A|ezjc||!Gi49n8W6@-2i}!%ZwSUiX zI+y`eOUAvN=0j69x(On(5#9r)%GkN!(s*dN7fooXX(qBUlGw`7T%B&_VZc2BX*3h! zeU{f07UF=dp8x0;WHB__q|igAQM}1=o1w^Hycf*Fn$914q4CQC?e-s_wM7L)!+2vU zqbtA6(`wX1I^)HG+R6*FsmSq1IXwUSYLuQqBa?BNU1gMYu2KR5jy-(k-Ck6PSi;JAbpgYPe>+>Rrw^9C)9v9 z1B(DBsri$ERDPPOPX|(eGl5iowhq6eLd0B^m=7!sJp*V3+zP}$A(MWnNac5_{BD&e zq~w15AcGG8soY^8b#xR+hMiLJ0+8CjrVHQ&Zh(+LJOEO~M?m@zQUgy^osc?ss_KN4 z{~Sp5->dpZAeH+B6j(%rXyZ$%Z}dY&s+JF(x>LNQB2^Q~YyUuMzNpFi)5FN}k zywb>~>Sa_c3#4w!tJVG+mO(j3l%r#;QLX2y)+3~L+<;_mE0r&VMM3ink$H6&ZOmkc zhg!a!TAq;F>7eR_lVLbi#2a=%^)N+&5{J#S%$grvs_nVjz7ABe{01$`?kepP}-Fk=og4Rx>shLaMM?)&Cn(xveNixLqy( zZ%8XBN6jas0qzBs1e(tvL3tPPgJS9~DJqhM51tEbnpk`YDY#vLWJm{~HLy3ZJTMGM4MhT}qbMMCG#Xe8 zI2lM&FbhcamZkUoS|e>2dE;%}!~AX~-VYJojK>i8m%TzDNwpTbBD|Dl$@ zrQ&V1+`l1}zo+IaNbyezvgkgLT=S<|fROY@K$^2>Dqk2W|AopEQn}YaWhzwu&40nF zC@&N)fH@Jqs1*oBmed>D1oiV>rT-0SU_Yriki11R^NWh*fn}lB1(JOYfb=PhRIj0$ z-vmhQHCM|4%}T>YHKT=EuoaMOYNzrYRqPDJ-J~!YNFieeQU}Q@rU2{l3V}(9*=m7#Kn>g6N8LXcL!}QP*|QQze%t`0P|OBWyL*7-$bCTi{5K@K z_M;r(0TmCb^$)B15poO}dIAJ}2&uwJAW;`o{UVUcT?NuOZm4(*h=0PL_(Azkfn?}Q z72l}%0Z8qB1k#6)+WBII_@%@*mG}Xq5z_F9*Q!`VMM=eCDwa^OG?3c115$l^AQ|ES zq>ihoSQSX^)=>4DIwW)~A|5kAo^J}3umzAlg^}8E15fR{tNDeI@>{9(+X1OaSNx#z z-AGZ9%5{fM*h9_lWl%%3w_1>p_SXO)85|6x3L$DfAq{Z2s{b3(Za5D4WI!^IcDd<5 zYHy~BbATnFuQ0grk*@)MhrkgY zR`Cc>2{RxWa|%eGQ`z_XiB0}@HsxOV-`VtkXHzVS|D8?g%u3tD|IViWJDdLRY^t7& z{&zNoBj`}^zq6@&divkl^#9wlsof}XqNeqUZzrYRY1O_1oTeNyJN&x=RRA)79VmR_Tu!um4hGD zS+)PchC5wNQ7hb+PwMG|z!!1er#k|A++_La`r~&B`wx9lcWv)V!7D?yd0wmaqej1S zx}BB0Hq7%_W83}5=i^&m&YNaeVwMp4^VO`)!MVR5*p#&FgV$Aq$H*zk@8Vh7XqY!u zSN{9F#ZwwhIqd%1)w=!Xy3hNg{oUhZx3zT|Q`N6x>LW4S$ID!^S+Vg~x4UHDIA3&O zhN1YExuu_Z|E&JU^`1$W3z+GYucU~(y?rW8;gI{DMrcWuhuK3ZkomZIq7?>ycZb-=5 z-Qd=sa&8$`f7+D$({)^A+>_AkM%}iTXrEc5$+kIv&6z!adzAOv>E&ntayo5&)83u( z;!Yfjn10i_YOfZr74rlGd5>0WWx_ z-j}Vou{XZiL+t%1@dH@OVjECbG-URT9x)?6?SJy++_=%^=JRIS-EOfYzu(Z>%X)q3 zSMF20dts$wufMj-yFatbl*><+mGAPi=8*bV-a58!TCK#steID{y^_Q_n$|VnJj=P4 zazK zZmcQV{_(DmfyL^3Sv{K-^D6r1;A#0izU^;#zVnZ3*XNgeRb_FDj2xp04e^C(f;z8ee|!%S=hPa%F>*vTOgk zdjI(>F)Q^qO|$*B4|m-$)s4#bdmz@S-a0O4v;6_TFG2Cm4qWj+IH7#KlL?#sr#^G~ zXt>y{_oiOIzq`6Ke#oL)tNrDW(Nk8Q-*O~ttE0j~ zc!S6%VjA=82clCy5S#mfNMm_Kd?CWm2gFRa-Umd64+v{t5VM)DF9;uB5c`ObnbaSI zp+AU-{vhVDTq1Ias5AfsV_^e8gbo04mWXs_HxPvFKoCg-K`de?i8w)olOKpBEYS}{ zf**+6L@Z;DgFw_71R`w^h!yMx5!Z=u9}Hp@n=%+g>R=GBh*-m1hk$Sy0%FM!5bM}8 zBAycAjOY!1c0y(1hJj@ z27>Sj1hJ2ZOeO_^Fa&{!2m+DCa*4Luh-1uk zI0%>FAeIaVahyFP;wcec;UG@3^l%Uh!a?K{ahiEXfanwfVsiwDvn-E@FGTo7f;i9C zM}o+R1YsQo;v(~n0^t({VjmHgnG_Ae5Dg+C8pIWrOGFM4l}3QL#==H`2ps|9ED<-D zT?`1@7!XM@ApT${i8w)oQ!I$vEHM^DLM({eMBHVLaUkl%fk=x3ai85F;yMxT@gV+W zQ{q9S#)Ei8#3SZ95`@c05KBgac*33$@stR!Q6QeN^id!di~^BQ#0%z`0HRX@h|LKg zUa>qPz9eXhvq6cP&f;sfJ`qGlB1%|~Mv1q~cQgo}(IEB_@t#RzKp4h=h!_LnBg-Ws zhlomJL40OmV?l(D1#y;$JZ6^!!Zry+QWA)7>?9EYC?c{OW)!(jgnKdwEt`@IA~hMrD?sAYKtsleta@;W8b> zlIb97vu8v+CBiEWgdj4G-T^%g2~nM$C5>2%lLX_JQzfLeFs3kFNZ}x=$M)sQTNZ#yLApjW7S{@W(sffbkL9FMS8b z?|B|JcuH=&j~R>f`)BUT+frd48o0_B;o`SPIE!Hv&6X|66S)qO@xU# z&I3_r9*DGgAUxO&BCZqRJ|9F|Hf27D)cG3gu5Bwk9^B*o<`tc$U49!E*>|?h#e=EU zkJMZ8&Gf*^>SBki;7aFbek}gi%|3J16kjxB-}2Mx!!uIne){w^)oQXivgw6F$CdWX zm7!S|hJKbX^wW_&BjPC$UJF2Yvh)QY7AydfPed2ynGT{;I*85bAiP)}5nqV#TL_{% zTfY!Q#zGL*i$L^bzKcNkECR8Qh~7+E48pJ&M8skceOWFMIYd-i0-_%aTLL0<35c^q z_%getntoz`HiBRPI|*PXmLl6}8M6IY;xZ5k%Rt;FVlZ=D4x-L-5NXRn__G^CTqnYP z1&9DPWd(@T6(C*_5yV_qf^b<0V#!JnA?z6uPl@na1tN^4uL7}P6^MKyhBMFAAUdrE zv3WI!2$o007b5)DfQVx2*MP`a1HyVO0&_&+z&ugDdcf~CH|;K_&ptRk>h87JCJQRQ zJ)2r`V*iI@y2;(EEqKyYF1^0^=x5@YU;AnkKJOl|*JJaUh@QPB4Z3{8ZgLj$T8qHk zNA1QIZnx^^I?t2d%^cn}uvuC|$I#%to3n2W+c2lM#n%7X zoSO@5AOCjxwR3F$8g7wcZ(Z&zEM03a%SXFiC;U0iR==`CtKG#D^asbB=)}fVb!)t~ zd{l`6hbMg;^6XHhWi4}Wg&(>zeP>eJp#2rUIUJZiHN$6XuxuKk_t%Ry4eFmw29?_p*U#Zzy`+U#!(Vxgosio_m-TDz`qOU5 zreAMeXi8-!?Lf1J9U5!%Jbir!W0|Pk$Dd^PPs`jA*k!tP!po2OF2VhE9VZrF+oJP` zO)loUV*Ac7-)7ACxU|S$4GvvQ7&0uUMW;HpBU1O`J+Xp2sCk85TjBKOlOC71)ZM-6 z)A13;xV`7jwY}7CD%9~^AA z+nsQC(oXcVh@B+j1QAYIAeOMiED#Azx0h>RR5HFs`t&xLAOsmTQIy4 z%ledgCg)aaqrH(;ZWkFXeLk}5NRQKfH>EG^5&n8dWSTH9@^ZlPTlzvBFDvY*#nvkh z%sVl0=cwF)N37qZ&Kb4wR|lIO>tF8rb7H&qUez40+3(5U^Sr9vz(IQs*yVKnaMZoq znnjy^W$owK%ZIJ*yqL@??b6t`ez?J~Ct%3B+N)nLxVGYA)RJ|Fo;Dt`by@zL|3EWUYBqD!%!+A#%sY;%>ngOb-_YI9Ki1xqaQ_aepTI zoIZ6mVtszidTeo_QLZmM%6m)Sw43!=DA{D|nG#=~7-BZ;8riq#y5uY429En`@A~Wf z&L^)-ufFw&UH+Ro*)LZ-x87XY!J&Si*G(VKGmab6{KH09mX?cAUh;`}`C_?t@u<`} z=X`v;>-`us@lU_CxlOCqeBQ_RXVd;i_B?42dm_15|KHlS@>o)OPyH-otuTAP`u*3N z52TND>cJl6YNA^YE15fB;Es#U%Bsf{PjDn%dD;^ zdOp1HE&ExVb%Tf_OsOAbBIg`9zBB*fovSw@iUoK1GTdX9 zbM0kSBGR8Z)Z2PwV{DD+;jsgIR{DKsymNhKo-vOLr^{gTCpfNIQODz2){xsv zYcFULc6ZUiQ9XR0Rxf{l_~`1{mCk6k77-h>vzIi}%BA63Pdu4QrfhQm~z7SY4`+jLH(_|DHc12F-r1Ij>ldec`=kNHKBeyhhqg{f*!71dfa~YLz$G*3(rcnPp_S($C!ko)TdD+S^k)Q`|LD>wuGoz z_AGm;r0ris-%2M6zZ7&*)bi)VKj_(@lG?vCpA4*9DeYIu@|V1gtY>NMG|dMg`%Yy70a)njk31<_27$mQ5fdG(KIYq9h*IkC?Gtn0sa4lG^?K3`|Py= z2g^;wV#nGq_$WGSc1!!GV;l9E{(Q9vy}+itb^&1EXq%vCgCg^|tu5oOqc<|}S)vxF z=WF+?eQJVUW~9$rHH%))vr)NqDpvuVoyujXoISV-tkE4bVXtOwP_rr_tD?$nRJqFF zDy!TkaAcVSj=-_GYE-Y0Eg$`@!@%t!6bt`V}~`_bfP? zgyxXf*LjE+#1pa`vInvk zLho9ILn0uNkZ4E@Bo-1683`E$83P#$DG#sOLhK+Erd1#{AhjWNAoQ-6H>4lL2jXkM zuXy!G!VfY8;t!#hA*~@LASEHCA@ecq>5w<@!#l`($VbR$2%R!s0_kN>dI9tffzUFFgVcr8gE&DN zKpH}vA&nqSAWb37Ak884vhz~Na>xqEO2{h68a;k2BeS2q(00_A>HRZ$Yp)rkIm8HYfw)4pLbgNZLl`6-vJkQevKX=ivJ|om zvK$fynF5&#afW~Ch12>FCkVZOHw!o&D+s^1DM;9cmf$}GP+oSWH)h>n@b4h6K(0Zq zLv9cv?1FiBn?6@&(n+f^cKt(2))_82|}-auZPg9 z;p-p+A;t9ASc)T25>g8C3*<8z&x3r0e8~2Ct#uIn=#5u5h&zN{k8K8_w_LkGxNQz?8ZB-$)h`(p*L5r!n( z{E7L#*M?Zr?*^2Gl!oZp+4tH%v|ns=?B}1_n%NgVXs1i&Iq2XX7Sn#nbqIc)NeBQA zh4@3hAm1I_5Tsi`Tp??ry8w-l=8#yFX$GW6l8qqFkcJQjz5&n)QXk?7sROA2sSc4f z`0cr>NR)?^gOr7of#jp&X~<^CCdfv}2FOgv3`hWE8YC6+D2o>H zu371<#rf=_m99)s1~}r^L)JppKvqMj?NyMK5bA^4TnzhLH>Zysg>#zPt8*vU4O`IGLK9nv&bA8f{NyX%)<8m zi3&6xvY+gIsNxggQaJN5(2`GMdtOMVhABGeF2S;Fz8A`WiS%1Y9^|#gjEfZ#uOPIm zP{v;nOQF|D6ZZ!49Sjr z@YW3S8{{j53X)Ko44`5B1pa^&N7@=vOyzz7N{}KDEkpwmA$o`oVt`mdh+mGTiULbR zND=i<|jZj7at!#^y#b((><{`rt1^#UZu>t?j-D5V&|C6hv z#hR#y!gG;H4O5{N5ZV#!!B>FT{Yzt%Z`lPb`6#B;|7RzakwJN=B2+=bK@~nA%)h1M zi?S&|MUjcqdLl{|E|M- zDHriicT)qfh1#r2lX|69Bio(8&(|HtVHL}p`{ z^Pk-He=>#)FKm!yWy}FjqXY;|Sz-xYJu~gXmJ34RG@YsjLk2;7ApIcT5d2XIAqmyT zLHa`P3c(+h5c&XnQ$Bdw=XxOB4blbD8PW;T4&nx(t4Ld5F5RZIL82AJ9nuow0jY{c zOu*Kv-VxXV(jM{Kfo`h@}a7y7w47`F0i3Di*X2@Jf8stxuy$=aTdMRWvWDz6@vJgTePKPXjFbKY2G7A%t7!8SoD0TryLdcMK zAQ?d&Cql>_6I5;ta6BXhk_;h3#zLqJ)uB!)P5vQcDQ#(!21RkBM{P>rrkqUJG7L`1ZOd# zFh^}#bn1(|NM#kiBoY?a(n!qgWI0_3-WY3C9`{6-S^M%j2S*C!6A;=d3b%F&+%CvY z2(7mfEUmn*i4$!w4k&sFNE^*X-~|X(w-{2;40~H%XYWKSm1d0`PP;0Nk#<%~F-t@! z)tS4E&fbeAm7<6yls1Sf5L)as@l>2fLwOW^)U>538ZEh@zy;7_*%}*Nb-f13FYK(1 z&aFJ{td=dkj;#*mv3q@Im2GvkvOC%8ifTn?*4ti}V(+Zn%;V{Q@=~7`S2afhD(l2X zO&c_B(Ab&1w%6G;b5@=R*rLF!HyLL-j674lpn$U9P|l5SpMNX*>d#39In2GH&JJy_ zhZ*>)AUPy0{_^zMq4;lJEp3lL0oX82f$TLEb=ji69!hp){*{q4kTv=h5X9zH)-|d4 z7GJZJKxX$*b(b}}xb=rd9Mq_Ra|8Uj6~UT4tgLHnf7Dv}O907b6UN!sSblG@MjS^a zoY6gNAD$9du3bhM!mkg(I0gzxIYUf>oBjDa z>;BH!pS`4tZn$V~gWG!vC64+!e=a(G*Gy$hP08Xa?0yYhS=POdP7kx)tHF{cD2zW? zkX&VC=WQ`%J0C=0=LW6~aG&SSMxX%RcA7@zdZOGfDA!|L_}*LFGdH1}5pKY};Xrl( z1)7DZ1sawx40V{D`CMtJ5e+E@IrMGTqVyX3z2tQtl&S~=Y`o06I@+F!0{E^fx$Lx? z5Bi=twgv^7pl#T&fO((*-lrWv<#wSQeaRU#?%Ajq-}~!Ou5kmUi{IExDsWXT&^SEv z{i*YzAt=xs4K+f%Gn1nZOAt4W>^2p(E~ngIChxFw=yIq`bt@EYgxG|WYOqo@(5E}A z2e9`+xytA>c5mN}TQnu`-w_X@7)H5~Y%mp=ivl%Kz`H`HiwXWUnp(`g| zVh3vIs*1`4*x?10Z&bB0BAkNH_rPEJ#dluSQK~j-fMZT7YgiLD%x9i85j$I0Qcc}? zUb%ebrnqR~;6{_7e=@ImF%>iYF`73@pb<^3Ei{$zc}%s`3?iXOPsp83~9Gc{3wT%M5o z(Wr0Xxe*1(=lIr+H)C&)0<`X2<~z-;dZaYMW*iL#ma6@Hr+zZ(^NIHEdAgf_$(_g1 z3dbuh^9bDw+P-d@Vg_xt<({Bu3`e(t&Vo^$TG=iKGZ4Z?6El{*_p%y9(fS9Bm>>@^YCm0p|qh+?pVT3pk`G7uKKmvv~K;Rn#QWgMqHWh zpoA$z&CW;f)yjA}*%)`HH@iy#I9p{ksk(>M5!c*@d7#@$mM!k5U+_Q|4wFg!;!GM* zU$QW%1TA3QPNIbR=++{9GP$nITs$FV@VP;P4-k9`?E?Tp{IfnN9ihq%kmOPbOCHgf z22!Zp7PFq2m&aAFoIg{TI1QCy;Ta3wP!7XAAahS7FR7&`0t90k=?SgtOVKl7*4KK% ztmo2EPjs*rS$RpJ_SdmGKy~AGoNvE1S?+QH^!z=*Zhs@(Yn|dHZC6>6x3_d3S2!Jf z(D?}b?ik}~rO0JYcicXA1fJ;v+8;z=0I0^$5Qd8vxS#=N`+hxZuri|>LRMZzNt6PB z?=k?)LFiUa*wI0c93mA$SU3>Dpaga(&L(fozB~KYmuTWPJz`DpuE3}%HvJX__@cqW z0B!>}#CUEWTF_@X=rOyCj;)~>0Pw;9O6Ep8d?7_Adcv|43f7Xo^F1io5BbVaEVYVe z=`qJB$q$?zLkAe<06D)xa)LtsL~@x-{V}Nf!F;CFdKEjnt+t02onY%L2K5>xFz9jj zEBA4U{j)cIt5hk0Dn#I@T~BWS%?BYtRxX>~Cu-sDu&Oa=^rYy9NcvOOMLqrTH1amS zW>Nb_nEy8#!gTyVPcRa)ZiN4*kSFp*v2Kil9v?Be{UKS=nM+u81q(PWU8@7gIbYu# zXAcc*EOnHhwB&kk@_v3w@6mZGMdDa>8(=BVVjcdQ@{!0=D`9d+*O}NTp=PKeNktY9 z$T2{2buklwg;6+r2?=$r(aE$f^LbL4X84|e^ zD+ja1rx=E%s4eKx=pg*9?>x#u799+N@Ra|D;sww9V4!wU%OK0Y_U9jmYg!1DZ-LU39r_ow*VFS{t!6C~?(rbcXppm?l%`Oj9Wy#wjcWP1dI& zNJ?4q6`O;(bA(bD?n~Mg0{(5IM=W_o&drb+Ljg$S9bI@^(idLcPHER27D|G)%2P}; zu={yeE|yJKGafpRa>SxBIah%`H_}VwHb0=v_-t`t}RHrg)e>nsxEkEwWTK34+rNTbxXutw3oN zwMQav1CF&=qjRIvu&00wQlm$+GdX1)hZSVpamG4eE|6G!LQ~r4u82TanyO6 z@)jTjH=YqXj1n`H4034a_sius&6GaCups!P%I!e=4gkz;7-{LZIH9^p5&$q`4Dgyl z0KnUYUM%THW7*3{T^jRbq;`H}BmcOyFV)KA47a&xh za#%}$0bs$pvMX?nk9OD{38V0A$V{d&nYTw1cI1jgc8lUTzYZsNrhUJCq8`_T!a7Qp zjg>lKK(T(WSUY8KfpN`qdQ@LgGF#d(Fv`5~czww@+Q=H13jkZbj+O6Bt?msws0S>k zJl2tI^oHS%2we6z{abl1x^h5|yF$*LbR8)WsIRQwnwUCT{-sB$d-HY{1Uz&ZoU~-N zzQmd)cR&O60ALEbTyC)Y{QW*X^?+d73IJY~WHQ_k;H-gL-)c}qY;f&mdR#m`K}Vbv zju24QfXYfUb2wDzekVQ3hrC0j1t#AQTBU%`!|6b2}j`3gW`zGxNJkAX{-fC5$|V5=&ifKI@b%4r2>O)(5m zDyJ2I!fDZJIPGQNQrWG56?WU=GJeI*kj^@)*%_9?i_*gJB_hMWDXFux125W|hoQ`o zI(3s=X;U{zTh7m?AFU4q{i?CtC%CRIpSx>t)kT;o%(Zk1)Egg}ZZ-bfoxC0(?6V|0Pr0S0FJ5SI^RtHwL!*i2gOFRIKpTy zN^DTF`O&?Ag5fPuG8Mn?Nr02}}avc8#UV^zlt0JhAa>IKSUeRx1`816lA%nHQq z>E7S%Nx8LpLe^Bj2m0VXksA}!Zr|2vvuOznW(1+;D6vIV?dUJ&hq_(J6;)xuzof~i zDvuCVBgeNo^Yqq(00F=hl(V3pm6KN7xgVixPKU&mvXN#C8#ENQ`ctj4IGY#p5%@B7A_!2byDEv#z zun?N_CCb{eDn_6KgF#A02a;B=*%?;LVJJvp{xXf4LBRm{E&zbBd!xsuv!>ql z=d!kZJ>Z!dtw#ytU!AK#^ZYyCJ%*Bo=(`Utlu#0*oe2PQ)ZO>5$zD~>lSRD3Be*~Z zBH&H6qlif0QoiO&wzB%nLr$aqsKJ_mig|c?uA}(?V9KtKltO(MV<}>LO}5A8o8-*c zqT7%FQ&;1JkZFs`Y*|9>4S1E$mS#_;&j-mp3KTM_eQzXxQgoCw!1wbhykoy~9)8#I z!Aj;$2sfd^RN<*b4!HNtO6dejycEV7*^nw42F1EJ3<{?v{}b4^Y(Uv1N;}qcvp1}m z@_%nRKAu~_kuz&2A2rI|%lQK-A*k*Y4Ou4BH_=d%M9N1OWhbzSxj2sM83(4^-h%|K?S07soi=o|IO#c7?0%uCM1to0xTvzF0(fj5Xe3X_H&m@e7p(-4Y zSzp1=zy6JKu_W#_Ww2af=I&D=zU05AbMk8@6vcR_${}!$g)jyY0vSsuWiBSq;HX!B zPa1geiyyFIIt@8YpLqBr|AtTI!uIX)`@!X=sT#FvEpnI>z~e?a7oW_X^sMkCzg{a# zNv%4G91K40lkxmG{1gFtnFeo;ap_`}M#C+v+A~XqImE{5L?L~_R57SgG>?7Nq_BY) zsVC*2vZ^V)> zg9`f}$eQNjnL5`aiLFdewzfxr)Fr_FV-e6SP%;dS4m`9na~nARha z-52uZV@u=D_Sv1i++UAtN7or(2mrM}XvN`IE=yvY;T@2U(0s}s2SS4BBC)6Fp~&Q% zVq&z@0X`u=YB226I4X$w2q0Q&Nc)&RbfI2M7>2rHpd|m;h@6(p*SV3mLUQ*n-C1Ij zem7+@ZM#6jVu}Z+Iz(wDzIa{6c`3Ad86}iZ zZZWi9C<%O)PoXli`nv|#GmSHvmZz_LpDJVQvSt||Bcnsa`OS zIvxBRC5$N*wEZ`By8m{+z9g1HM}sLd0buS?mAEO9o3BUi(F2}SJODZ)!0m!=-iD|0 z>1DF;g+)Me`*WxzB6QI)VMhGMKrJ&Uj2Q<*YZ6Z>EYpxP!i)&RC!`|8!OaK_A1nFD zMQEPwKNmEQzGO9eUmBVhwpF30XqKV&2|*aJzASx)S{i7UO7L9tM@(yjZpkgu`1;W@ zwwvSXF9NV5uiL5-!#3cbu(D#l(4q0*lE85>%XurfBNpT~?(oWY8H~ZgehCBj8Y>%H z+`diQ7XEJXnQ#Eawr5G}Xi4)XNE+GpC%(ECM4rBGUuX3_g_;*TyQxc?VPEAC0GQ*M z+4r^c{FXP90q|A=3Eg>R7kbC+a57b!h~=*@wV#MulTnK~gU%;w?R|8pqCIMPvSS10 zT1*ANHw6H;L@%mncWS{VyXOi(*{9hq8vM)6)7~!Cy|vPyQgWD1O~k5ng081v9hx=? z;=a9_w^KPM@V=36?Y{tK%)m?l))~#@{Z8+)0KjP(V~#QH0|hX#(`*oGwTa7S=9-@Q zOBT-T1e_=LF+ZouQ{Y|o27s+phbRP}m@&hqpf*o}bcLn%m-+2Rd7JrM3A?_t;-xB2 z+c5h4i187A?gkOSTXLO>W;9#42DhQ8si5D5CQOB-vuPu~H~?mD<7{(p*`lG%pP!eo!Mr7G5yZy> zx8fJ>dX5|Sb&oMgfAPa?rNLimD+sC1QYK4o(d{^Nb1~V*BgvysmT($yfR}=l&UaWr zXV{kuewPQ3v*a)h2_CafLuPXtf<(S08ja|7$M2`3nS7ckjdrFK2IsyHJ)DO5noQ-t zLDnh?V2Nl_OwJ#F<&pM)ugtzWd3Rz4<2j2J8{iqw-fz&L0bG!kwYzu}ToCMge7t5y zG-?T}W=p~FxqRILVE*{%4D)^AnK|rghnVxbu`a=cfva4=>D$@SKG6 zCcZ?OVzOImn(V*wd&6fVR6dn>XLy<3~&f3bIW^Nv^_j@-%J)(`#`->J&QKa1S_sn#1ZTl z7m7v_x-N_#I(Tvg;9#Iwm}2xB70r~q_%#=A`R;GLH)iMSI1c-)JBxM&6K2xXS=i<< z-_HTD?RFKoU3N!YC>%Q@50o&Q*<(%q(H3bZ$Ej5{ki!;|H*|LvEC-*G_z|T+v+;$% zVm3tUPMSHG&(0J0e6~+q6x$-Qu)QUAVZE_QVPq6SBj@4{%78giHB}3mI!ChA^gal~ zN6{JJWpDarjuh@|g&ekZQhWR&zdh6IvGYuEMz8@TtPf4=hY!oGyx_4iayCVcex;zf zP)m0JSR}M%a{TWNZv8Pqt-`)B+x6lt+v2o2f#I?RF2y{1>Z`d`)>-mM4>q6;?VF34 z{+cQ$0Ox&}cV%wu;Jp#;?jKPagh9ovEec7%h3-Insp$oR(H2^F+`X zPf>}0n9+hnSm|G>ei9&JtEK2TSNp$f4SX?jVk;vtMi4fm$qZMQC`oeFG(7=(u5d^E zmnmJbo%@pF4+5J^SqqVbkY|SEsxCS~y}y-gOo~v|1H8bkkZ&bh_4Z6^`m1CE@JNCU z)0Y~24kQ&L^=XhdZQWjiVk?T?jXDwZXdaR&6uJXSy5tm}X4CJOIV~)2u4byGobwnJ z9jDaaB^&!4K(Hx#X|3bUy*}&z<_IRM%u_VtJ9O2I(iVXtAEo-{DT>>KToW4k8*(k_ z$#+Of9lMKebYo6)eK@qV!QofajB6_L^Ja4|k&@=)3RoHdX6S_f-ty@g_MO<>3AUu5 z7h6x$)%kjU?Ew%@KwJZ=`#prp8KhBiDJod9!3igX_ffW!l5KyM&+zKWS98Z_Slw4z zDN(^hM?H~RFVIt0R;&`#Bgk=!GGqgh@ir^yhOCowu_QmG8-l~1!hS?p)G6-Fr|5s6 zM;|DT0VR3zd497Zd(6rf?~nOT=lTGqf~%iuqqrlbaK%{16{F;A^wZy&{kH z^Tx30EDYiTs=OFm>WW3SRaK&##b9(bdbt?Vh$Yu#X@Gs%H#rtvqD{%z!(DxeYumh^ zr}|9yn#2}Grt}y>FUm^>!M^k+8GF9FE>nXgz#qNLyR*XkV#kzKul2 z7FW1-Vq>QUs@I^cOOUuxCKB1M9k)%tbs6-#y6F6Os4W5u-qeqDG4=_ye#sVX3rIot;h9mq|s+COato;5kSlv-H&I?9#Qn*+{!C($C)q3#CR!(0)NDe zvZbsQFdw&bXaxII?nv6wiXWBuhuxi&Ux2y=s5gAnI60#HEOWIA%b>CnD)%j;@RNaI z%cVK0R+POQ@Xpuxdeg|RDi)1-^0rf>zf~K1sF%FnMh=7;F!=&o43j~4SLj&<8UDpbAl1Yr6}7qQm9(j;s^b4 zq#bME1oK?^X+9tJIKQ|3rX;k!svmYa8nPC|#Mnf_GwJ))l7;%jL%Oq8a*``P;{7>a zkll3Qs&5c7vRMSi!5MO12NvIaM1kwT;#&dSU_I>HGdw47e+wpNcDKOO=;0$80fg_z zq?8#6S})NEo9E@*M33E?oCkBQc)#x6MjG0SMtm&`c$AT3I^(ZXVVz?@Tv%9dlrZ-= z>x=92YI|*gPhT53%)YdykdyFm9oOT&S1+o$9&+hTJy;TnpWwsb6@aw_XLu4FK)yWe zDR&OKcUfjsRQNYePMFPYh_Q|((+#lR2cJ@l4N@fb&R1@bob7i%<2uv5mmIv?q{C?V zuFUnvzeCR`cY|c3&U!|FZ;)CDuhhj6@qz=o_TiD4nQG*7etr3ab=kn7Qwx7hed9S5 zZT#>3HubCLG<2upPLH{6u(xv<#hGse*{eOmN#bf_hQq~zET(mXc4PYUG z{+IRhUl%NXdZPYkZ415lKq3AQTKI2u_+QIME}KyXTK;ch>texuYIbXsxJ%g~Gr9Q| zzvu!pTdHc7F4*GP_OF<0I9=3+y9YW_|69{mYVWa|6UsJV3@ygL>9i_}9Dau%^J(K& z%pKlO=(N55=`>PYh-;47X-Rf z`(s%0w}o-%Du39arC;0)W4psF_JcR(MtP?oYHvzDhG!+cRVu}IY!GuMd49FYzRd6B zk8XyO>Ns%YNk(FyAaFg_yF92oW9%N_{P@+^WEFKjE_F~N+FO1c>sT74A4mVHQ2ueO z>)7;E9Lxt{eI|8IsKet(PY=ZJcht1!gk(cQPe^v^Cu*8~LaJAxF@B?2QI@p)7=Kyz)jP+>JrqVVdLww{Ja{3sL2pb_JFh~EFt;BDdV4R5Pe z9Z{2o^|O$&;QjN_1rvI_xB49vkW&{qsYqG;+%K_e!1tNIe1#GgkRWQ#K#4O-9v|Q2 zZdpUik9V=@%yyDP&tMPdDgfpHbf@?;;7Lps-qygv?S)-@M%M);=nV_Sxn?>kn%N_Q zM-x_6+V<=-@KR%-d_3^Zi0x67J1cqnC4vmwBaa;Q?8Ll+`cX=U6c)Y!qgZI7z5TRm zcsa|l`jC>U(9pAzm%6A5rJjYx8B@qJY>q&;txZ)*gis+cD1Ni*J9hGbt46FjZ+dhV ztZPlfo*=Yz%EA$28N7gMMp8@`w1q1l{h9@-gA&_a!#_d zUyk-|(B~0Nzh1w8YCsjGeP!0|G^Nq!q z!YSkqzW9qB`z_|24;SqBU+ud6&`*LU)ZvghZ8#5y@~Sy~`6u|$pQ8UjJ(1{N?bz`r zI?A&cQK-B&vUY@~maoe7@p1a>?~;vgvxu3o407LMPFwx}S;N;pye3t>AUUYffopew z=s;<=(6B+j4KvjRRjKK9$-0~u&e>HL`8HK&k}sm#5K`SlQp|&`*^+IicuTHcC)Ug| zy{u`SqaXErlvshsXZ;?kI%Zn6)0eCkC0D*VU}Jsy$z)N2HM_K@Q0fdza=L`T`V^|M zONEd6-n#$S>`5JzYKV{V(^M#7r!bKnbGzOTs}rJ>C{J7YV<-6;0M-DQO3QCVdD+K_ z7Qs9dO1p%RSI42MRCozv{Gr5)D|-sMjI6p8lMi-45)El2%V(5;cNg>$X?`xulCpg( zUU~7ySvtLu7l8!ZH1X>&(bXfR&;umc>q^X;l{D{9*xX%K)buqJ?SvJby^8ctE4l`S z8&rn6V+Iv~q#a1w)Vk|@?Yku|f-#t)#?~rjOZ5DMahGq}bz)nOY_|d|vqK5vwq=NK zvoQzHFw4kFFcMFSx*}OO#Aw@y+8T?|zoss2wM1b2@p~#LVN!ftsoLOy=l%}W(;Y+` zuSnI(`56@}8q-!9ehvF&hpnj~2O6vhhS_ekp~%6qJdRKBgA3K@w`(YmAf}bLVVB7g zE=Kiwn?>M;uZ1m_z=P;bnxN6EFDNZ5?3Pi&OlHL!0T0?Qm|s~bQPv7K3cZSzr)=Q` zQak`Uiy#^l{MY4*8E&70eKKx3s5Abr8x$?MFI8jvGraSIAjm4TFrmUFv{MljgO!qYshC^>LY?SAN@=N@_jRn|pti`@F>GPU& z6l}qSkb?2$5HyR~Obvzb3*L@ID zgK4nX0!g5VTo_no5_ofoS+VDVsdODA@!*r`2ASnae)202VSAXVCkB{3+AXoANL)El zQ*@pp3`GgVLr30M`LNKtu6?RpbX^vit~9M2i3yz%V-jQe1m1v~>U>99asx-;!YX`1 ziRG%o1UT5gn>v5p-Q%JQP+wsJ^b!+KLpxB`O?XAZDk-RH<$NGd#f}TPiOOXd_Yw=1 zTDMYgMJS;GdFMT=ZS_$x5V3)bRsiy@X2I&Yq8WTLyu zdthN$c^kClo-!4c8lwM#C>Nt#stPN+`O1VB-Xote8mtLIYuHp~{6UYDiN|Tn%^`T^ zEt_>X`FUV$ojF4Au$Tst{3PyQlhm)((82;~0d2rcj5A9jnpcHP0Hf1oTe7y z#>GKeUns@Ezr>YuD{AmqlH>*+T&$<9+JyY{d@w(LRTe@6+PIyKp95h&Eo<g&42?f zuW7)&#{1gS`PHg^&7uXiRs+r-T$Axrkk0^$ITqcrC)RPbZ^$lEvnz&}lgB9NDZ2i# zSIvBk#HUzsFVL!|h&l>Df?c&XunjuNId~gw!Cz=$9=B(?Z3pf}&17y83uu&wl86de zoZAaYSw0S=r}*z|8e>7zM-r30IbCuIcDph>$W|Gk5=jVtETosuz>kgO3hy7k$kFmS zf})QHydQMT(7%!+Jxd!|9T7$-?YA_(1|Z{=5=hAT_+k;`*K$$#6vxB z=zy2@oTZE@+$Xluz`xS1O~r-*_K&Y?I7o%BWQ&ECEn@#LvVXEWhQbm?%7v=F!P!iG z{IVp|oK#PYnxfx8UrQY8(WW<&n~U6#*Q|ro5;gM!qN9&{ zbu>{%>g(a}Z4^lF-k|essoGm?80r41N6g|grc-8jAT!l3sL3LbWSR;9yhY{bkhV4E zil6*@bm4d1zhzfceE3hp93<5{tmxRLv44lV93MU~G{cLx*6$=|m$G+wUcHr+b3z+R zcqcWdv+tw^(bJ$#Y%QGL(D$Tje3hcRar}GnqVE$sjh?^b8NOMl7Sm|?(A93E7MkEm z72{Y?Sk3-D=Um-pjc?{czQ}*DuAT2Rn-8C)xl?qJP7c6_z)D(@|Qt{ufUvloXO zMRg4x+xSwOB0f}~##%Py^!G*5D;%t*zfx%ysAxeSjWcbLG$yoLt*Jx@%4up8=b2Jf zNmHx%Q-PRLtfX-$&hsw*p9xjgXzCe$R-hpoP4yCazi15TmDBRpoT#N%Qwxr&XC19m zdZJddN$Hpq<%Vk{a?00Oq>nJxELKzO5lv`%mx`KSeaWYprbfD3h-Q2>m4EuGFErO2 z=v*MOR*lu%x1uK_G|uUp6E#0IO5cA(ljD!^E-%sy(5M=vmzT74O=-H1#)&#t)ecwr zrSGe%t*)v(yx)N6(SyeJbD!8RHin{HwASg5Ew%VFo_^_p*4haYNwu{#$jn(=iEi3y z=c*c}50|yi%HcNfSB}~>6y^_tD6LHXPTIQEx2D#K;+(X5NLw5K%WbLAQmUEOG<~GA zc87{A76IMLMe9R>&RQpzL8IIany>F(|HCYbs;RA+zQjdquco8kAbGK-){A!5)Vh*) zEv*ABwgSZwwX};^o-(xZ>F%|)w^;{0vo$X1ey-Yw#?)*!U++(jkL15!U(Q5Mr#^V;~+4gcYwBG#m6GEX`q&p-br@p jdjqtiR24=9Dk^5QCXitxO&*KyI`|0{tv&4x(&qmUn8p=o