[
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true"
  },
  {
    "path": ".eslintignore",
    "content": "# Lint all files except .eslintrc.js\n!.eslintrc.js\n\n# Dependencies\nnode_modules/\n\n# Build Output\nout/\n\n# Generated output\nsrc/__generated__\n"
  },
  {
    "path": ".eslintrc.js",
    "content": "module.exports = {\n  extends: [\n    'plugin:react/recommended',\n    'standard',\n    'standard-react',\n    'standard-jsx',\n    'plugin:@typescript-eslint/recommended',\n    'plugin:import/errors',\n    'plugin:import/warnings',\n    'plugin:import/typescript',\n    'next'\n  ],\n  plugins: [\n    'import'\n  ],\n  rules: {\n    'react/react-in-jsx-scope': 'off',\n    '@typescript-eslint/explicit-module-boundary-types': 'off',\n    '@typescript-eslint/explicit-function-return-type': 'off',\n    'react/prop-types': 'off',\n    '@typescript-eslint/no-var-requires': 'off',\n    'no-console': ['error', { allow: ['warn', 'error'] }],\n    'import/order': ['error', {\n      groups: ['builtin', 'external', 'internal'],\n      'newlines-between': 'always-and-inside-groups'\n    }],\n    camelcase: 'off'\n  },\n  globals: {\n    React: 'writable'\n  },\n  settings: {\n    'import/resolver': {\n      typescript: {},\n      node: {\n        extensions: [\n          '.ts',\n          '.tsx'\n        ]\n      }\n    }\n  }\n}\n"
  },
  {
    "path": ".gitignore",
    "content": "*.log\n.DS_Store\n.next\nnode_modules\n.env.local\npublic/sitemap.xml\n.vercel\ntsconfig.tsbuildinfo\n"
  },
  {
    "path": ".huskyrc.json",
    "content": "{\n  \"hooks\": {\n    \"pre-push\": \"yarn lint\"\n  }\n}\n"
  },
  {
    "path": ".prettierignore",
    "content": ".next\n.vercel\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing Guidelines\n\nThanks you so much for your interest in contributing to this project!\n\n## About our deal\n\nHi! I'm Laura and I'm the creator and maintainer of this project.\n\nIf you encounter bugs, please **do** open an issue describing the bug and including steps to easily reproduce it (bonus points for a CodeSandbox that demonstrates the problem).\n\nIf you have an idea for an enhancement, go ahead and share it via an issue, but please don't expect a timely response.\n\n## Bug reports\n\nIf you encounter a problem with this project, please open an issue. Be sure to include:\n\n- Node and Next versions\n- Brief but thorough description of the issue\n- Link to a CodeSandbox (or similar) demonstrating the problem (optional, but highly recommended, especially for complex problems)\n"
  },
  {
    "path": "LICENSE.txt",
    "content": "1. Feel free to take this code as a inspiration to build your portfolio.\n2. Do not copy it directly.\n3. If you use this code as a inspiration, please credit the author.\n\nBe kind and share your learning with others."
  },
  {
    "path": "README.md",
    "content": "<p align=\"left\">\n   <img src=\"./.github/docs/images/logo.png\" />\n</p>\n\n# laurabeatris.com\n\n[![Author](https://img.shields.io/badge/author-LauraBeatris-43CEA2?style=flat-square)](https://github.com/LauraBeatris)\n[![Languages](https://img.shields.io/github/languages/count/LauraBeatris/laurabeatris.com?color=%2343CEA2&style=flat-square)](#)\n[![Stars](https://img.shields.io/github/stars/LauraBeatris/laurabeatris.com?color=43CEA2&style=flat-square)](https://github.com/LauraBeatris/laurabeatris.com/stargazers)\n\n---\n<p align=\"center\">\n   <img src=\"./.github/docs/images/main-page-mobile.png\" width=\"200\"/>\n   <img src=\"./.github/docs/images/learning-journal-page-mobile.png\" width=\"200\"/>\n</p>\n\n<p align=\"center\">\n   <a href=\"https://laurabeatris.com\">Go check it out 🎉</a>\n</p>\n\n---\n\n# :pushpin: Table of Contents\n\n* [Running Locally](#construction_worker-running-locally)\n* [FAQ](#postbox-faq)\n* [Issues](#bug-issues)\n* [Contributing](#tada-contributing)\n\n## :construction_worker: Running Locally\n\nDisclaimer: This project fetches data from my personal [GraphCMS](https://graphcms.com/) workspace, thus it's necessary to define the CMS endpoint as a environment variable, otherwise it's not possible to fully execute the scripts bellow\n\n#### Clone repository\n```bash\ngit clone https://github.com/LauraBeatris/laurabeatris.com.git\n```\n\n#### Define environment variables\n```bash\ncp .env.local.example .env.local\n```\n\n#### Install dependencies & execute web application in development mode\n```bash\nyarn\nyarn dev\n```\n\nDefine the environment variables by creating a .env.local file similar to [.env.local.example](https://github.com/LauraBeatris/laurabeatris.com/blob/master/.env.local.example)\n\n# :postbox: Faq\n\n**Question:** What are the technologies used in this project?\n\n**Answer:** [Next.js](https://nextjs.org/), [Chakra UI](https://chakra-ui.com/) and [GraphCMS](https://graphcms.com/)\n\n**Question** Why Next.js instead of other frameworks of React out there?\n\n**Answer** I chose Next.js in order to opt out for different rendering strategies\n\n# :bug: Issues\n\nFeel free to **file a new issue** with a respective title and description. If you already found a solution to your problem, **I would love to review your pull request**!\n\n# :tada: Contributing\n\nCheck out the [contributing](https://github.com/LauraBeatris/laurabeatris.com/blob/master/CONTRIBUTING.md) page to see the best places to file issues, start discussions and begin contributing\n"
  },
  {
    "path": "codegen.yml",
    "content": "overwrite: true\nschema: '${NEXT_PUBLIC_GRAPHQL_URL_ENDPOINT}'\ndocuments: \"src/graphql/**/*.ts\"\ngenerates:\n  src/__generated__/graphql/schema.ts:\n    plugins:\n      - \"typescript\"\n      - \"typescript-operations\"\n"
  },
  {
    "path": "next-env.d.ts",
    "content": "/// <reference types=\"next\" />\n/// <reference types=\"next/image-types/global\" />\n\n// NOTE: This file should not be edited\n// see https://nextjs.org/docs/basic-features/typescript for more information.\n"
  },
  {
    "path": "next.config.js",
    "content": "/** @type {import('next').NextConfig} */\nmodule.exports = {\n  webpack: (config, { isServer }) => {\n    config.module.rules.push({\n      test: /\\.(mp3)$/,\n      use: {\n        loader: 'file-loader',\n        options: {\n          publicPath: '/_next/static/sounds/',\n          outputPath: 'static/sounds/',\n          name: '[name].[ext]',\n          esModule: false\n        }\n      }\n    })\n\n    if (isServer) {\n      require('./src/scripts/generate-sitemap')\n    }\n\n    return config\n  },\n  images: {\n    domains: ['media.graphassets.com']\n  },\n  swcMinify: true\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"portfolio\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"scripts\": {\n    \"dev\": \"run-p dev:*\",\n    \"dev:server\": \"next dev\",\n    \"dev:codegen-watch\": \"DOTENV_CONFIG_PATH=./.env.local graphql-codegen --config codegen.yml -r dotenv/config\",\n    \"build\": \"next build\",\n    \"start\": \"next start\",\n    \"lint:style\": \"eslint . --ext=.js,.ts,.tsx --fix\",\n    \"lint:types\": \"tsc --noemit\",\n    \"lint:unused-exports\": \"./node_modules/.bin/ts-unused-exports tsconfig.json --allowUnusedTypes --excludePathsFromReport='src/pages;src/__generated__'\",\n    \"lint\": \"run-p lint:*\"\n  },\n  \"dependencies\": {\n    \"@chakra-ui/icons\": \"^1.0.3\",\n    \"@chakra-ui/react\": \"^1.1.5\",\n    \"@chakra-ui/theme\": \"^2.1.8\",\n    \"@emotion/react\": \"^11.1.4\",\n    \"@emotion/styled\": \"^11.0.0\",\n    \"@graphcms/rich-text-react-renderer\": \"^0.4.2\",\n    \"@graphcms/utils\": \"^1.1.0\",\n    \"@laurabeatris/chakra-ui-flashless\": \"^0.2.11\",\n    \"@microlink/mql\": \"^0.10.28\",\n    \"axios\": \"^0.27.2\",\n    \"file-loader\": \"^6.2.0\",\n    \"framer-motion\": \"^3.2.2-rc.1\",\n    \"graphql\": \"^15.4.0\",\n    \"graphql-request\": \"^3.4.0\",\n    \"hex-to-rgba\": \"^2.0.1\",\n    \"lodash.union\": \"^4.6.0\",\n    \"lodash.uniq\": \"^4.5.0\",\n    \"luxon\": \"^1.26.0\",\n    \"next\": \"^12.3.1\",\n    \"next-query-params\": \"^4.0.0\",\n    \"next-seo\": \"^4.17.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"react-icons\": \"^4.1.0\",\n    \"swr\": \"^1.3.0\",\n    \"twitter-api-v2\": \"^1.12.5\",\n    \"use-debounce\": \"^6.0.0\",\n    \"use-lilius\": \"^2.0.3\",\n    \"use-query-params\": \"^2.1.0\",\n    \"use-sound\": \"^2.0.1\"\n  },\n  \"devDependencies\": {\n    \"@graphcms/rich-text-types\": \"^0.3.1\",\n    \"@graphql-codegen/cli\": \"2.12.0\",\n    \"@graphql-codegen/introspection\": \"2.2.1\",\n    \"@graphql-codegen/typescript\": \"2.7.3\",\n    \"@graphql-codegen/typescript-operations\": \"2.5.3\",\n    \"@types/node\": \"^14.14.22\",\n    \"@types/react\": \"^17.0.0\",\n    \"@typescript-eslint/eslint-plugin\": \"^5.36.2\",\n    \"@typescript-eslint/parser\": \"^5.36.2\",\n    \"babel-eslint\": \"^10.1.0\",\n    \"dotenv\": \"^16.0.2\",\n    \"eslint\": \"^7.5.0\",\n    \"eslint-config-next\": \"^12.3.1\",\n    \"eslint-config-standard\": \"^16.0.2\",\n    \"eslint-config-standard-jsx\": \"^10.0.0\",\n    \"eslint-config-standard-react\": \"^11.0.1\",\n    \"eslint-import-resolver-typescript\": \"^2.3.0\",\n    \"eslint-plugin-import\": \"^2.22.1\",\n    \"eslint-plugin-jsx-a11y\": \"^6.3.1\",\n    \"eslint-plugin-node\": \"^11.1.0\",\n    \"eslint-plugin-promise\": \"^4.2.1\",\n    \"globby\": \"^11.0.2\",\n    \"husky\": \"^4.3.8\",\n    \"npm-run-all\": \"^4.1.5\",\n    \"prettier\": \"^2.2.1\",\n    \"ts-unused-exports\": \"^8.0.0\",\n    \"typescript\": \"^4.8.3\"\n  }\n}\n"
  },
  {
    "path": "public/favicons/browserconfig.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<browserconfig>\n    <msapplication>\n        <tile>\n            <square150x150logo src=\"/mstile-150x150.png\"/>\n            <TileColor>#F2F2F2</TileColor>\n        </tile>\n    </msapplication>\n</browserconfig>\n"
  },
  {
    "path": "public/favicons/site.webmanifest",
    "content": "{\n  \"name\": \"Laura Beatris\",\n  \"short_name\": \"laurabeatris.com\",\n  \"description\": \"Product Engineer\",\n  \"icons\": [\n      {\n          \"src\": \"/favicons/android-chrome-192x192.png\",\n          \"sizes\": \"192x192\",\n          \"type\": \"image/png\"\n      },\n      {\n          \"src\": \"/favicons/android-chrome-512x512.png\",\n          \"sizes\": \"512x512\",\n          \"type\": \"image/png\"\n      }\n  ],\n  \"background_color\": \"#F2F2F2\",\n  \"theme_color\": \"#F2F2F2\",\n  \"display\": \"standalone\",\n  \"dir\": \"ltr\",\n  \"lang\": \"en-US\",\n  \"orientation\": \"portrait-primary\",\n  \"start_url\": \"../../index.html\"\n}\n"
  },
  {
    "path": "public/robots.txt",
    "content": "User-agent: *\nSitemap: https://laurabeatris.com/sitemap.xml\n"
  },
  {
    "path": "src/@types/index.d.ts",
    "content": "declare module '*.mp3'\n"
  },
  {
    "path": "src/__generated__/graphql/schema.ts",
    "content": "export type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n  ID: string;\n  String: string;\n  Boolean: boolean;\n  Int: number;\n  Float: number;\n  Date: any;\n  DateTime: any;\n  Hex: any;\n  Json: any;\n  Long: any;\n  RGBAHue: any;\n  RGBATransparency: any;\n  RichTextAST: any;\n};\n\nexport enum _FilterKind {\n  And = 'AND',\n  Contains = 'contains',\n  ContainsAll = 'contains_all',\n  ContainsNone = 'contains_none',\n  ContainsSome = 'contains_some',\n  EndsWith = 'ends_with',\n  Eq = 'eq',\n  EqNot = 'eq_not',\n  Gt = 'gt',\n  Gte = 'gte',\n  In = 'in',\n  JsonPathExists = 'json_path_exists',\n  JsonValueRecursive = 'json_value_recursive',\n  Lt = 'lt',\n  Lte = 'lte',\n  Not = 'NOT',\n  NotContains = 'not_contains',\n  NotEndsWith = 'not_ends_with',\n  NotIn = 'not_in',\n  NotStartsWith = 'not_starts_with',\n  Or = 'OR',\n  RelationalEvery = 'relational_every',\n  RelationalNone = 'relational_none',\n  RelationalSingle = 'relational_single',\n  RelationalSome = 'relational_some',\n  Search = 'search',\n  StartsWith = 'starts_with',\n  UnionEmpty = 'union_empty',\n  UnionEvery = 'union_every',\n  UnionNone = 'union_none',\n  UnionSingle = 'union_single',\n  UnionSome = 'union_some'\n}\n\nexport enum _MutationInputFieldKind {\n  Enum = 'enum',\n  Relation = 'relation',\n  RichText = 'richText',\n  RichTextWithEmbeds = 'richTextWithEmbeds',\n  Scalar = 'scalar',\n  Union = 'union',\n  Virtual = 'virtual'\n}\n\nexport enum _MutationKind {\n  Create = 'create',\n  Delete = 'delete',\n  DeleteMany = 'deleteMany',\n  Publish = 'publish',\n  PublishMany = 'publishMany',\n  SchedulePublish = 'schedulePublish',\n  ScheduleUnpublish = 'scheduleUnpublish',\n  Unpublish = 'unpublish',\n  UnpublishMany = 'unpublishMany',\n  Update = 'update',\n  UpdateMany = 'updateMany',\n  Upsert = 'upsert'\n}\n\nexport enum _OrderDirection {\n  Asc = 'asc',\n  Desc = 'desc'\n}\n\nexport enum _RelationInputCardinality {\n  Many = 'many',\n  One = 'one'\n}\n\nexport enum _RelationInputKind {\n  Create = 'create',\n  Update = 'update'\n}\n\nexport enum _RelationKind {\n  Regular = 'regular',\n  Union = 'union'\n}\n\nexport enum _SystemDateTimeFieldVariation {\n  Base = 'base',\n  Combined = 'combined',\n  Localization = 'localization'\n}\n\n/** Controls the content for the about me page */\nexport type AboutMePage = Entity & Node & {\n  __typename?: 'AboutMePage';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Get the document in other stages */\n  documentInStages: Array<AboutMePage>;\n  /** List of AboutMePage versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** The sections of a \"About Me\" page */\n  sections: Array<Section>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\n/** Controls the content for the about me page */\nexport type AboutMePageCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Controls the content for the about me page */\nexport type AboutMePageDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\n/** Controls the content for the about me page */\nexport type AboutMePageHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\n/** Controls the content for the about me page */\nexport type AboutMePagePublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Controls the content for the about me page */\nexport type AboutMePageScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\n/** Controls the content for the about me page */\nexport type AboutMePageSectionsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<SectionOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<SectionWhereInput>;\n};\n\n\n/** Controls the content for the about me page */\nexport type AboutMePageUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type AboutMePageConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: AboutMePageWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type AboutMePageConnection = {\n  __typename?: 'AboutMePageConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<AboutMePageEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type AboutMePageCreateInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  sections?: InputMaybe<SectionCreateManyInlineInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type AboutMePageCreateManyInlineInput = {\n  /** Connect multiple existing AboutMePage documents */\n  connect?: InputMaybe<Array<AboutMePageWhereUniqueInput>>;\n  /** Create and connect multiple existing AboutMePage documents */\n  create?: InputMaybe<Array<AboutMePageCreateInput>>;\n};\n\nexport type AboutMePageCreateOneInlineInput = {\n  /** Connect one existing AboutMePage document */\n  connect?: InputMaybe<AboutMePageWhereUniqueInput>;\n  /** Create and connect one AboutMePage document */\n  create?: InputMaybe<AboutMePageCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type AboutMePageEdge = {\n  __typename?: 'AboutMePageEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: AboutMePage;\n};\n\n/** Identifies documents */\nexport type AboutMePageManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AboutMePageWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<AboutMePageWhereStageInput>;\n  documentInStages_none?: InputMaybe<AboutMePageWhereStageInput>;\n  documentInStages_some?: InputMaybe<AboutMePageWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AboutMePageWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AboutMePageWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  sections_every?: InputMaybe<SectionWhereInput>;\n  sections_none?: InputMaybe<SectionWhereInput>;\n  sections_some?: InputMaybe<SectionWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum AboutMePageOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type AboutMePageUpdateInput = {\n  sections?: InputMaybe<SectionUpdateManyInlineInput>;\n};\n\nexport type AboutMePageUpdateManyInlineInput = {\n  /** Connect multiple existing AboutMePage documents */\n  connect?: InputMaybe<Array<AboutMePageConnectInput>>;\n  /** Create and connect multiple AboutMePage documents */\n  create?: InputMaybe<Array<AboutMePageCreateInput>>;\n  /** Delete multiple AboutMePage documents */\n  delete?: InputMaybe<Array<AboutMePageWhereUniqueInput>>;\n  /** Disconnect multiple AboutMePage documents */\n  disconnect?: InputMaybe<Array<AboutMePageWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing AboutMePage documents */\n  set?: InputMaybe<Array<AboutMePageWhereUniqueInput>>;\n  /** Update multiple AboutMePage documents */\n  update?: InputMaybe<Array<AboutMePageUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple AboutMePage documents */\n  upsert?: InputMaybe<Array<AboutMePageUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type AboutMePageUpdateManyInput = {\n  /** No fields in updateMany data input */\n  _?: InputMaybe<Scalars['String']>;\n};\n\nexport type AboutMePageUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: AboutMePageUpdateManyInput;\n  /** Document search */\n  where: AboutMePageWhereInput;\n};\n\nexport type AboutMePageUpdateOneInlineInput = {\n  /** Connect existing AboutMePage document */\n  connect?: InputMaybe<AboutMePageWhereUniqueInput>;\n  /** Create and connect one AboutMePage document */\n  create?: InputMaybe<AboutMePageCreateInput>;\n  /** Delete currently connected AboutMePage document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected AboutMePage document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single AboutMePage document */\n  update?: InputMaybe<AboutMePageUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single AboutMePage document */\n  upsert?: InputMaybe<AboutMePageUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type AboutMePageUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: AboutMePageUpdateInput;\n  /** Unique document search */\n  where: AboutMePageWhereUniqueInput;\n};\n\nexport type AboutMePageUpsertInput = {\n  /** Create document if it didn't exist */\n  create: AboutMePageCreateInput;\n  /** Update document if it exists */\n  update: AboutMePageUpdateInput;\n};\n\nexport type AboutMePageUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: AboutMePageUpsertInput;\n  /** Unique document search */\n  where: AboutMePageWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type AboutMePageWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type AboutMePageWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AboutMePageWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<AboutMePageWhereStageInput>;\n  documentInStages_none?: InputMaybe<AboutMePageWhereStageInput>;\n  documentInStages_some?: InputMaybe<AboutMePageWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AboutMePageWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AboutMePageWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  sections_every?: InputMaybe<SectionWhereInput>;\n  sections_none?: InputMaybe<SectionWhereInput>;\n  sections_some?: InputMaybe<SectionWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type AboutMePageWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AboutMePageWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<AboutMePageWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AboutMePageWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AboutMePageWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References AboutMePage record uniquely */\nexport type AboutMePageWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type Achievement = Entity & Node & {\n  __typename?: 'Achievement';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  description?: Maybe<Scalars['String']>;\n  /** Get the document in other stages */\n  documentInStages: Array<Achievement>;\n  /** List of Achievement versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  timeline?: Maybe<Timeline>;\n  title: Scalars['String'];\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\nexport type AchievementCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type AchievementDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type AchievementHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type AchievementPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type AchievementScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type AchievementTimelineArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type AchievementUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type AchievementConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: AchievementWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type AchievementConnection = {\n  __typename?: 'AchievementConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<AchievementEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type AchievementCreateInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  description?: InputMaybe<Scalars['String']>;\n  timeline?: InputMaybe<TimelineCreateOneInlineInput>;\n  title: Scalars['String'];\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type AchievementCreateManyInlineInput = {\n  /** Connect multiple existing Achievement documents */\n  connect?: InputMaybe<Array<AchievementWhereUniqueInput>>;\n  /** Create and connect multiple existing Achievement documents */\n  create?: InputMaybe<Array<AchievementCreateInput>>;\n};\n\nexport type AchievementCreateOneInlineInput = {\n  /** Connect one existing Achievement document */\n  connect?: InputMaybe<AchievementWhereUniqueInput>;\n  /** Create and connect one Achievement document */\n  create?: InputMaybe<AchievementCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type AchievementEdge = {\n  __typename?: 'AchievementEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Achievement;\n};\n\n/** Identifies documents */\nexport type AchievementManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AchievementWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  description?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  description_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  description_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  description_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  description_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  description_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  description_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  description_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  description_starts_with?: InputMaybe<Scalars['String']>;\n  documentInStages_every?: InputMaybe<AchievementWhereStageInput>;\n  documentInStages_none?: InputMaybe<AchievementWhereStageInput>;\n  documentInStages_some?: InputMaybe<AchievementWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AchievementWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AchievementWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  timeline?: InputMaybe<TimelineWhereInput>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum AchievementOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  DescriptionAsc = 'description_ASC',\n  DescriptionDesc = 'description_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  TitleAsc = 'title_ASC',\n  TitleDesc = 'title_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type AchievementUpdateInput = {\n  description?: InputMaybe<Scalars['String']>;\n  timeline?: InputMaybe<TimelineUpdateOneInlineInput>;\n  title?: InputMaybe<Scalars['String']>;\n};\n\nexport type AchievementUpdateManyInlineInput = {\n  /** Connect multiple existing Achievement documents */\n  connect?: InputMaybe<Array<AchievementConnectInput>>;\n  /** Create and connect multiple Achievement documents */\n  create?: InputMaybe<Array<AchievementCreateInput>>;\n  /** Delete multiple Achievement documents */\n  delete?: InputMaybe<Array<AchievementWhereUniqueInput>>;\n  /** Disconnect multiple Achievement documents */\n  disconnect?: InputMaybe<Array<AchievementWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Achievement documents */\n  set?: InputMaybe<Array<AchievementWhereUniqueInput>>;\n  /** Update multiple Achievement documents */\n  update?: InputMaybe<Array<AchievementUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Achievement documents */\n  upsert?: InputMaybe<Array<AchievementUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type AchievementUpdateManyInput = {\n  description?: InputMaybe<Scalars['String']>;\n  title?: InputMaybe<Scalars['String']>;\n};\n\nexport type AchievementUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: AchievementUpdateManyInput;\n  /** Document search */\n  where: AchievementWhereInput;\n};\n\nexport type AchievementUpdateOneInlineInput = {\n  /** Connect existing Achievement document */\n  connect?: InputMaybe<AchievementWhereUniqueInput>;\n  /** Create and connect one Achievement document */\n  create?: InputMaybe<AchievementCreateInput>;\n  /** Delete currently connected Achievement document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Achievement document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Achievement document */\n  update?: InputMaybe<AchievementUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Achievement document */\n  upsert?: InputMaybe<AchievementUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type AchievementUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: AchievementUpdateInput;\n  /** Unique document search */\n  where: AchievementWhereUniqueInput;\n};\n\nexport type AchievementUpsertInput = {\n  /** Create document if it didn't exist */\n  create: AchievementCreateInput;\n  /** Update document if it exists */\n  update: AchievementUpdateInput;\n};\n\nexport type AchievementUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: AchievementUpsertInput;\n  /** Unique document search */\n  where: AchievementWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type AchievementWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type AchievementWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AchievementWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  description?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  description_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  description_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  description_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  description_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  description_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  description_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  description_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  description_starts_with?: InputMaybe<Scalars['String']>;\n  documentInStages_every?: InputMaybe<AchievementWhereStageInput>;\n  documentInStages_none?: InputMaybe<AchievementWhereStageInput>;\n  documentInStages_some?: InputMaybe<AchievementWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AchievementWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AchievementWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  timeline?: InputMaybe<TimelineWhereInput>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type AchievementWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AchievementWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<AchievementWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AchievementWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AchievementWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Achievement record uniquely */\nexport type AchievementWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type Aggregate = {\n  __typename?: 'Aggregate';\n  count: Scalars['Int'];\n};\n\n/** Asset system model */\nexport type Asset = Entity & Node & {\n  __typename?: 'Asset';\n  assetImage: Array<Image>;\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Get the document in other stages */\n  documentInStages: Array<Asset>;\n  /** The file name */\n  fileName: Scalars['String'];\n  /** The file handle */\n  handle: Scalars['String'];\n  /** The height of the file */\n  height?: Maybe<Scalars['Float']>;\n  /** List of Asset versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  imageContent: Array<Content>;\n  /** System Locale field */\n  locale: Locale;\n  /** Get the other localizations for this document */\n  localizations: Array<Asset>;\n  mainImageProject: Array<Project>;\n  /** The mime type of the file */\n  mimeType?: Maybe<Scalars['String']>;\n  ogImageSeo: Array<Seo>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** The file size */\n  size?: Maybe<Scalars['Float']>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n  /** Get the url for the asset with provided transformations applied. */\n  url: Scalars['String'];\n  /** The file width */\n  width?: Maybe<Scalars['Float']>;\n};\n\n\n/** Asset system model */\nexport type AssetAssetImageArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<ImageOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ImageWhereInput>;\n};\n\n\n/** Asset system model */\nexport type AssetCreatedAtArgs = {\n  variation?: SystemDateTimeFieldVariation;\n};\n\n\n/** Asset system model */\nexport type AssetCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Asset system model */\nexport type AssetDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\n/** Asset system model */\nexport type AssetHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\n/** Asset system model */\nexport type AssetImageContentArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<ContentOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ContentWhereInput>;\n};\n\n\n/** Asset system model */\nexport type AssetLocalizationsArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  locales?: Array<Locale>;\n};\n\n\n/** Asset system model */\nexport type AssetMainImageProjectArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<ProjectOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ProjectWhereInput>;\n};\n\n\n/** Asset system model */\nexport type AssetOgImageSeoArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<SeoOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<SeoWhereInput>;\n};\n\n\n/** Asset system model */\nexport type AssetPublishedAtArgs = {\n  variation?: SystemDateTimeFieldVariation;\n};\n\n\n/** Asset system model */\nexport type AssetPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Asset system model */\nexport type AssetScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\n/** Asset system model */\nexport type AssetUpdatedAtArgs = {\n  variation?: SystemDateTimeFieldVariation;\n};\n\n\n/** Asset system model */\nexport type AssetUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Asset system model */\nexport type AssetUrlArgs = {\n  transformation?: InputMaybe<AssetTransformationInput>;\n};\n\nexport type AssetConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: AssetWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type AssetConnection = {\n  __typename?: 'AssetConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<AssetEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type AssetCreateInput = {\n  assetImage?: InputMaybe<ImageCreateManyInlineInput>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  fileName: Scalars['String'];\n  handle: Scalars['String'];\n  height?: InputMaybe<Scalars['Float']>;\n  imageContent?: InputMaybe<ContentCreateManyInlineInput>;\n  /** Inline mutations for managing document localizations excluding the default locale */\n  localizations?: InputMaybe<AssetCreateLocalizationsInput>;\n  mainImageProject?: InputMaybe<ProjectCreateManyInlineInput>;\n  mimeType?: InputMaybe<Scalars['String']>;\n  ogImageSeo?: InputMaybe<SeoCreateManyInlineInput>;\n  size?: InputMaybe<Scalars['Float']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  width?: InputMaybe<Scalars['Float']>;\n};\n\nexport type AssetCreateLocalizationDataInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  fileName: Scalars['String'];\n  handle: Scalars['String'];\n  height?: InputMaybe<Scalars['Float']>;\n  mimeType?: InputMaybe<Scalars['String']>;\n  size?: InputMaybe<Scalars['Float']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  width?: InputMaybe<Scalars['Float']>;\n};\n\nexport type AssetCreateLocalizationInput = {\n  /** Localization input */\n  data: AssetCreateLocalizationDataInput;\n  locale: Locale;\n};\n\nexport type AssetCreateLocalizationsInput = {\n  /** Create localizations for the newly-created document */\n  create?: InputMaybe<Array<AssetCreateLocalizationInput>>;\n};\n\nexport type AssetCreateManyInlineInput = {\n  /** Connect multiple existing Asset documents */\n  connect?: InputMaybe<Array<AssetWhereUniqueInput>>;\n  /** Create and connect multiple existing Asset documents */\n  create?: InputMaybe<Array<AssetCreateInput>>;\n};\n\nexport type AssetCreateOneInlineInput = {\n  /** Connect one existing Asset document */\n  connect?: InputMaybe<AssetWhereUniqueInput>;\n  /** Create and connect one Asset document */\n  create?: InputMaybe<AssetCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type AssetEdge = {\n  __typename?: 'AssetEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Asset;\n};\n\n/** Identifies documents */\nexport type AssetManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AssetWhereInput>>;\n  assetImage_every?: InputMaybe<ImageWhereInput>;\n  assetImage_none?: InputMaybe<ImageWhereInput>;\n  assetImage_some?: InputMaybe<ImageWhereInput>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<AssetWhereStageInput>;\n  documentInStages_none?: InputMaybe<AssetWhereStageInput>;\n  documentInStages_some?: InputMaybe<AssetWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  imageContent_every?: InputMaybe<ContentWhereInput>;\n  imageContent_none?: InputMaybe<ContentWhereInput>;\n  imageContent_some?: InputMaybe<ContentWhereInput>;\n  mainImageProject_every?: InputMaybe<ProjectWhereInput>;\n  mainImageProject_none?: InputMaybe<ProjectWhereInput>;\n  mainImageProject_some?: InputMaybe<ProjectWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AssetWhereInput>>;\n  ogImageSeo_every?: InputMaybe<SeoWhereInput>;\n  ogImageSeo_none?: InputMaybe<SeoWhereInput>;\n  ogImageSeo_some?: InputMaybe<SeoWhereInput>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AssetWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum AssetOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  FileNameAsc = 'fileName_ASC',\n  FileNameDesc = 'fileName_DESC',\n  HandleAsc = 'handle_ASC',\n  HandleDesc = 'handle_DESC',\n  HeightAsc = 'height_ASC',\n  HeightDesc = 'height_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  MimeTypeAsc = 'mimeType_ASC',\n  MimeTypeDesc = 'mimeType_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  SizeAsc = 'size_ASC',\n  SizeDesc = 'size_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC',\n  WidthAsc = 'width_ASC',\n  WidthDesc = 'width_DESC'\n}\n\n/** Transformations for Assets */\nexport type AssetTransformationInput = {\n  document?: InputMaybe<DocumentTransformationInput>;\n  image?: InputMaybe<ImageTransformationInput>;\n  /** Pass true if you want to validate the passed transformation parameters */\n  validateOptions?: InputMaybe<Scalars['Boolean']>;\n};\n\nexport type AssetUpdateInput = {\n  assetImage?: InputMaybe<ImageUpdateManyInlineInput>;\n  fileName?: InputMaybe<Scalars['String']>;\n  handle?: InputMaybe<Scalars['String']>;\n  height?: InputMaybe<Scalars['Float']>;\n  imageContent?: InputMaybe<ContentUpdateManyInlineInput>;\n  /** Manage document localizations */\n  localizations?: InputMaybe<AssetUpdateLocalizationsInput>;\n  mainImageProject?: InputMaybe<ProjectUpdateManyInlineInput>;\n  mimeType?: InputMaybe<Scalars['String']>;\n  ogImageSeo?: InputMaybe<SeoUpdateManyInlineInput>;\n  size?: InputMaybe<Scalars['Float']>;\n  width?: InputMaybe<Scalars['Float']>;\n};\n\nexport type AssetUpdateLocalizationDataInput = {\n  fileName?: InputMaybe<Scalars['String']>;\n  handle?: InputMaybe<Scalars['String']>;\n  height?: InputMaybe<Scalars['Float']>;\n  mimeType?: InputMaybe<Scalars['String']>;\n  size?: InputMaybe<Scalars['Float']>;\n  width?: InputMaybe<Scalars['Float']>;\n};\n\nexport type AssetUpdateLocalizationInput = {\n  data: AssetUpdateLocalizationDataInput;\n  locale: Locale;\n};\n\nexport type AssetUpdateLocalizationsInput = {\n  /** Localizations to create */\n  create?: InputMaybe<Array<AssetCreateLocalizationInput>>;\n  /** Localizations to delete */\n  delete?: InputMaybe<Array<Locale>>;\n  /** Localizations to update */\n  update?: InputMaybe<Array<AssetUpdateLocalizationInput>>;\n  upsert?: InputMaybe<Array<AssetUpsertLocalizationInput>>;\n};\n\nexport type AssetUpdateManyInlineInput = {\n  /** Connect multiple existing Asset documents */\n  connect?: InputMaybe<Array<AssetConnectInput>>;\n  /** Create and connect multiple Asset documents */\n  create?: InputMaybe<Array<AssetCreateInput>>;\n  /** Delete multiple Asset documents */\n  delete?: InputMaybe<Array<AssetWhereUniqueInput>>;\n  /** Disconnect multiple Asset documents */\n  disconnect?: InputMaybe<Array<AssetWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Asset documents */\n  set?: InputMaybe<Array<AssetWhereUniqueInput>>;\n  /** Update multiple Asset documents */\n  update?: InputMaybe<Array<AssetUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Asset documents */\n  upsert?: InputMaybe<Array<AssetUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type AssetUpdateManyInput = {\n  fileName?: InputMaybe<Scalars['String']>;\n  height?: InputMaybe<Scalars['Float']>;\n  /** Optional updates to localizations */\n  localizations?: InputMaybe<AssetUpdateManyLocalizationsInput>;\n  mimeType?: InputMaybe<Scalars['String']>;\n  size?: InputMaybe<Scalars['Float']>;\n  width?: InputMaybe<Scalars['Float']>;\n};\n\nexport type AssetUpdateManyLocalizationDataInput = {\n  fileName?: InputMaybe<Scalars['String']>;\n  height?: InputMaybe<Scalars['Float']>;\n  mimeType?: InputMaybe<Scalars['String']>;\n  size?: InputMaybe<Scalars['Float']>;\n  width?: InputMaybe<Scalars['Float']>;\n};\n\nexport type AssetUpdateManyLocalizationInput = {\n  data: AssetUpdateManyLocalizationDataInput;\n  locale: Locale;\n};\n\nexport type AssetUpdateManyLocalizationsInput = {\n  /** Localizations to update */\n  update?: InputMaybe<Array<AssetUpdateManyLocalizationInput>>;\n};\n\nexport type AssetUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: AssetUpdateManyInput;\n  /** Document search */\n  where: AssetWhereInput;\n};\n\nexport type AssetUpdateOneInlineInput = {\n  /** Connect existing Asset document */\n  connect?: InputMaybe<AssetWhereUniqueInput>;\n  /** Create and connect one Asset document */\n  create?: InputMaybe<AssetCreateInput>;\n  /** Delete currently connected Asset document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Asset document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Asset document */\n  update?: InputMaybe<AssetUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Asset document */\n  upsert?: InputMaybe<AssetUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type AssetUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: AssetUpdateInput;\n  /** Unique document search */\n  where: AssetWhereUniqueInput;\n};\n\nexport type AssetUpsertInput = {\n  /** Create document if it didn't exist */\n  create: AssetCreateInput;\n  /** Update document if it exists */\n  update: AssetUpdateInput;\n};\n\nexport type AssetUpsertLocalizationInput = {\n  create: AssetCreateLocalizationDataInput;\n  locale: Locale;\n  update: AssetUpdateLocalizationDataInput;\n};\n\nexport type AssetUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: AssetUpsertInput;\n  /** Unique document search */\n  where: AssetWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type AssetWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type AssetWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AssetWhereInput>>;\n  assetImage_every?: InputMaybe<ImageWhereInput>;\n  assetImage_none?: InputMaybe<ImageWhereInput>;\n  assetImage_some?: InputMaybe<ImageWhereInput>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<AssetWhereStageInput>;\n  documentInStages_none?: InputMaybe<AssetWhereStageInput>;\n  documentInStages_some?: InputMaybe<AssetWhereStageInput>;\n  fileName?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  fileName_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  fileName_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  fileName_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  fileName_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  fileName_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  fileName_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  fileName_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  fileName_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  fileName_starts_with?: InputMaybe<Scalars['String']>;\n  handle?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  handle_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  handle_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  handle_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  handle_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  handle_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  handle_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  handle_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  handle_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  handle_starts_with?: InputMaybe<Scalars['String']>;\n  height?: InputMaybe<Scalars['Float']>;\n  /** All values greater than the given value. */\n  height_gt?: InputMaybe<Scalars['Float']>;\n  /** All values greater than or equal the given value. */\n  height_gte?: InputMaybe<Scalars['Float']>;\n  /** All values that are contained in given list. */\n  height_in?: InputMaybe<Array<InputMaybe<Scalars['Float']>>>;\n  /** All values less than the given value. */\n  height_lt?: InputMaybe<Scalars['Float']>;\n  /** All values less than or equal the given value. */\n  height_lte?: InputMaybe<Scalars['Float']>;\n  /** Any other value that exists and is not equal to the given value. */\n  height_not?: InputMaybe<Scalars['Float']>;\n  /** All values that are not contained in given list. */\n  height_not_in?: InputMaybe<Array<InputMaybe<Scalars['Float']>>>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  imageContent_every?: InputMaybe<ContentWhereInput>;\n  imageContent_none?: InputMaybe<ContentWhereInput>;\n  imageContent_some?: InputMaybe<ContentWhereInput>;\n  mainImageProject_every?: InputMaybe<ProjectWhereInput>;\n  mainImageProject_none?: InputMaybe<ProjectWhereInput>;\n  mainImageProject_some?: InputMaybe<ProjectWhereInput>;\n  mimeType?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  mimeType_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  mimeType_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  mimeType_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  mimeType_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  mimeType_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  mimeType_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  mimeType_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  mimeType_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  mimeType_starts_with?: InputMaybe<Scalars['String']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AssetWhereInput>>;\n  ogImageSeo_every?: InputMaybe<SeoWhereInput>;\n  ogImageSeo_none?: InputMaybe<SeoWhereInput>;\n  ogImageSeo_some?: InputMaybe<SeoWhereInput>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AssetWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  size?: InputMaybe<Scalars['Float']>;\n  /** All values greater than the given value. */\n  size_gt?: InputMaybe<Scalars['Float']>;\n  /** All values greater than or equal the given value. */\n  size_gte?: InputMaybe<Scalars['Float']>;\n  /** All values that are contained in given list. */\n  size_in?: InputMaybe<Array<InputMaybe<Scalars['Float']>>>;\n  /** All values less than the given value. */\n  size_lt?: InputMaybe<Scalars['Float']>;\n  /** All values less than or equal the given value. */\n  size_lte?: InputMaybe<Scalars['Float']>;\n  /** Any other value that exists and is not equal to the given value. */\n  size_not?: InputMaybe<Scalars['Float']>;\n  /** All values that are not contained in given list. */\n  size_not_in?: InputMaybe<Array<InputMaybe<Scalars['Float']>>>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  width?: InputMaybe<Scalars['Float']>;\n  /** All values greater than the given value. */\n  width_gt?: InputMaybe<Scalars['Float']>;\n  /** All values greater than or equal the given value. */\n  width_gte?: InputMaybe<Scalars['Float']>;\n  /** All values that are contained in given list. */\n  width_in?: InputMaybe<Array<InputMaybe<Scalars['Float']>>>;\n  /** All values less than the given value. */\n  width_lt?: InputMaybe<Scalars['Float']>;\n  /** All values less than or equal the given value. */\n  width_lte?: InputMaybe<Scalars['Float']>;\n  /** Any other value that exists and is not equal to the given value. */\n  width_not?: InputMaybe<Scalars['Float']>;\n  /** All values that are not contained in given list. */\n  width_not_in?: InputMaybe<Array<InputMaybe<Scalars['Float']>>>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type AssetWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<AssetWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<AssetWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<AssetWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<AssetWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Asset record uniquely */\nexport type AssetWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type BatchPayload = {\n  __typename?: 'BatchPayload';\n  /** The number of nodes that have been affected by the Batch operation. */\n  count: Scalars['Long'];\n};\n\n/** Representing a color value comprising of HEX, RGBA and css color values */\nexport type Color = {\n  __typename?: 'Color';\n  css: Scalars['String'];\n  hex: Scalars['Hex'];\n  rgba: Rgba;\n};\n\n/** Accepts either HEX or RGBA color value. At least one of hex or rgba value should be passed. If both are passed RGBA is used. */\nexport type ColorInput = {\n  hex?: InputMaybe<Scalars['Hex']>;\n  rgba?: InputMaybe<RgbaInput>;\n};\n\nexport type ConnectPositionInput = {\n  /** Connect document after specified document */\n  after?: InputMaybe<Scalars['ID']>;\n  /** Connect document before specified document */\n  before?: InputMaybe<Scalars['ID']>;\n  /** Connect document at last position */\n  end?: InputMaybe<Scalars['Boolean']>;\n  /** Connect document at first position */\n  start?: InputMaybe<Scalars['Boolean']>;\n};\n\nexport type Content = Entity & Node & {\n  __typename?: 'Content';\n  category: ContentCategory;\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Get the document in other stages */\n  documentInStages: Array<Content>;\n  /** List of Content versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  image?: Maybe<Asset>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  subtitle?: Maybe<Scalars['String']>;\n  title: Scalars['String'];\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n  url?: Maybe<Scalars['String']>;\n};\n\n\nexport type ContentCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ContentDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type ContentHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type ContentImageArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ContentPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ContentScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type ContentUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport enum ContentCategory {\n  PodcastParticipation = 'PodcastParticipation',\n  Talk = 'Talk',\n  UseCast = 'UseCast'\n}\n\nexport type ContentConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: ContentWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type ContentConnection = {\n  __typename?: 'ContentConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<ContentEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type ContentCreateInput = {\n  category: ContentCategory;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  image?: InputMaybe<AssetCreateOneInlineInput>;\n  subtitle?: InputMaybe<Scalars['String']>;\n  title: Scalars['String'];\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  url?: InputMaybe<Scalars['String']>;\n};\n\nexport type ContentCreateManyInlineInput = {\n  /** Connect multiple existing Content documents */\n  connect?: InputMaybe<Array<ContentWhereUniqueInput>>;\n  /** Create and connect multiple existing Content documents */\n  create?: InputMaybe<Array<ContentCreateInput>>;\n};\n\nexport type ContentCreateOneInlineInput = {\n  /** Connect one existing Content document */\n  connect?: InputMaybe<ContentWhereUniqueInput>;\n  /** Create and connect one Content document */\n  create?: InputMaybe<ContentCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type ContentEdge = {\n  __typename?: 'ContentEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Content;\n};\n\n/** Identifies documents */\nexport type ContentManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ContentWhereInput>>;\n  category?: InputMaybe<ContentCategory>;\n  /** All values that are contained in given list. */\n  category_in?: InputMaybe<Array<InputMaybe<ContentCategory>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  category_not?: InputMaybe<ContentCategory>;\n  /** All values that are not contained in given list. */\n  category_not_in?: InputMaybe<Array<InputMaybe<ContentCategory>>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<ContentWhereStageInput>;\n  documentInStages_none?: InputMaybe<ContentWhereStageInput>;\n  documentInStages_some?: InputMaybe<ContentWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  image?: InputMaybe<AssetWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ContentWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ContentWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  subtitle?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  subtitle_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  subtitle_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  subtitle_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  subtitle_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  subtitle_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  subtitle_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  subtitle_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  subtitle_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  subtitle_starts_with?: InputMaybe<Scalars['String']>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  url?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  url_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  url_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  url_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  url_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  url_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  url_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  url_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  url_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  url_starts_with?: InputMaybe<Scalars['String']>;\n};\n\nexport enum ContentOrderByInput {\n  CategoryAsc = 'category_ASC',\n  CategoryDesc = 'category_DESC',\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  SubtitleAsc = 'subtitle_ASC',\n  SubtitleDesc = 'subtitle_DESC',\n  TitleAsc = 'title_ASC',\n  TitleDesc = 'title_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC',\n  UrlAsc = 'url_ASC',\n  UrlDesc = 'url_DESC'\n}\n\nexport type ContentUpdateInput = {\n  category?: InputMaybe<ContentCategory>;\n  image?: InputMaybe<AssetUpdateOneInlineInput>;\n  subtitle?: InputMaybe<Scalars['String']>;\n  title?: InputMaybe<Scalars['String']>;\n  url?: InputMaybe<Scalars['String']>;\n};\n\nexport type ContentUpdateManyInlineInput = {\n  /** Connect multiple existing Content documents */\n  connect?: InputMaybe<Array<ContentConnectInput>>;\n  /** Create and connect multiple Content documents */\n  create?: InputMaybe<Array<ContentCreateInput>>;\n  /** Delete multiple Content documents */\n  delete?: InputMaybe<Array<ContentWhereUniqueInput>>;\n  /** Disconnect multiple Content documents */\n  disconnect?: InputMaybe<Array<ContentWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Content documents */\n  set?: InputMaybe<Array<ContentWhereUniqueInput>>;\n  /** Update multiple Content documents */\n  update?: InputMaybe<Array<ContentUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Content documents */\n  upsert?: InputMaybe<Array<ContentUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type ContentUpdateManyInput = {\n  category?: InputMaybe<ContentCategory>;\n  subtitle?: InputMaybe<Scalars['String']>;\n  title?: InputMaybe<Scalars['String']>;\n  url?: InputMaybe<Scalars['String']>;\n};\n\nexport type ContentUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: ContentUpdateManyInput;\n  /** Document search */\n  where: ContentWhereInput;\n};\n\nexport type ContentUpdateOneInlineInput = {\n  /** Connect existing Content document */\n  connect?: InputMaybe<ContentWhereUniqueInput>;\n  /** Create and connect one Content document */\n  create?: InputMaybe<ContentCreateInput>;\n  /** Delete currently connected Content document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Content document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Content document */\n  update?: InputMaybe<ContentUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Content document */\n  upsert?: InputMaybe<ContentUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type ContentUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: ContentUpdateInput;\n  /** Unique document search */\n  where: ContentWhereUniqueInput;\n};\n\nexport type ContentUpsertInput = {\n  /** Create document if it didn't exist */\n  create: ContentCreateInput;\n  /** Update document if it exists */\n  update: ContentUpdateInput;\n};\n\nexport type ContentUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: ContentUpsertInput;\n  /** Unique document search */\n  where: ContentWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type ContentWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type ContentWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ContentWhereInput>>;\n  category?: InputMaybe<ContentCategory>;\n  /** All values that are contained in given list. */\n  category_in?: InputMaybe<Array<InputMaybe<ContentCategory>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  category_not?: InputMaybe<ContentCategory>;\n  /** All values that are not contained in given list. */\n  category_not_in?: InputMaybe<Array<InputMaybe<ContentCategory>>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<ContentWhereStageInput>;\n  documentInStages_none?: InputMaybe<ContentWhereStageInput>;\n  documentInStages_some?: InputMaybe<ContentWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  image?: InputMaybe<AssetWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ContentWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ContentWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  subtitle?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  subtitle_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  subtitle_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  subtitle_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  subtitle_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  subtitle_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  subtitle_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  subtitle_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  subtitle_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  subtitle_starts_with?: InputMaybe<Scalars['String']>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  url?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  url_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  url_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  url_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  url_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  url_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  url_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  url_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  url_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  url_starts_with?: InputMaybe<Scalars['String']>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type ContentWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ContentWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<ContentWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ContentWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ContentWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Content record uniquely */\nexport type ContentWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport enum DocumentFileTypes {\n  Doc = 'doc',\n  Docx = 'docx',\n  Html = 'html',\n  Jpg = 'jpg',\n  Odp = 'odp',\n  Ods = 'ods',\n  Odt = 'odt',\n  Pdf = 'pdf',\n  Png = 'png',\n  Ppt = 'ppt',\n  Pptx = 'pptx',\n  Svg = 'svg',\n  Txt = 'txt',\n  Webp = 'webp',\n  Xls = 'xls',\n  Xlsx = 'xlsx'\n}\n\nexport type DocumentOutputInput = {\n  /**\n   * Transforms a document into a desired file type.\n   * See this matrix for format support:\n   *\n   * PDF:\tjpg, odp, ods, odt, png, svg, txt, and webp\n   * DOC:\tdocx, html, jpg, odt, pdf, png, svg, txt, and webp\n   * DOCX:\tdoc, html, jpg, odt, pdf, png, svg, txt, and webp\n   * ODT:\tdoc, docx, html, jpg, pdf, png, svg, txt, and webp\n   * XLS:\tjpg, pdf, ods, png, svg, xlsx, and webp\n   * XLSX:\tjpg, pdf, ods, png, svg, xls, and webp\n   * ODS:\tjpg, pdf, png, xls, svg, xlsx, and webp\n   * PPT:\tjpg, odp, pdf, png, svg, pptx, and webp\n   * PPTX:\tjpg, odp, pdf, png, svg, ppt, and webp\n   * ODP:\tjpg, pdf, png, ppt, svg, pptx, and webp\n   * BMP:\tjpg, odp, ods, odt, pdf, png, svg, and webp\n   * GIF:\tjpg, odp, ods, odt, pdf, png, svg, and webp\n   * JPG:\tjpg, odp, ods, odt, pdf, png, svg, and webp\n   * PNG:\tjpg, odp, ods, odt, pdf, png, svg, and webp\n   * WEBP:\tjpg, odp, ods, odt, pdf, png, svg, and webp\n   * TIFF:\tjpg, odp, ods, odt, pdf, png, svg, and webp\n   * AI:\t    jpg, odp, ods, odt, pdf, png, svg, and webp\n   * PSD:\tjpg, odp, ods, odt, pdf, png, svg, and webp\n   * SVG:\tjpg, odp, ods, odt, pdf, png, and webp\n   * HTML:\tjpg, odt, pdf, svg, txt, and webp\n   * TXT:\tjpg, html, odt, pdf, svg, and webp\n   */\n  format?: InputMaybe<DocumentFileTypes>;\n};\n\n/** Transformations for Documents */\nexport type DocumentTransformationInput = {\n  /** Changes the output for the file. */\n  output?: InputMaybe<DocumentOutputInput>;\n};\n\nexport type DocumentVersion = {\n  __typename?: 'DocumentVersion';\n  createdAt: Scalars['DateTime'];\n  data?: Maybe<Scalars['Json']>;\n  id: Scalars['ID'];\n  revision: Scalars['Int'];\n  stage: Stage;\n};\n\n/** An object with an ID */\nexport type Entity = {\n  /** The id of the object. */\n  id: Scalars['ID'];\n  /** The Stage of an object */\n  stage: Stage;\n};\n\n/** This enumeration holds all typenames that implement the Entity interface. Components and models implement the Entity interface. */\nexport enum EntityTypeName {\n  /** Controls the content for the about me page */\n  AboutMePage = 'AboutMePage',\n  Achievement = 'Achievement',\n  /** Asset system model */\n  Asset = 'Asset',\n  Content = 'Content',\n  Image = 'Image',\n  LearningJournal = 'LearningJournal',\n  Page = 'Page',\n  Project = 'Project',\n  Resource = 'Resource',\n  /** Scheduled Operation system model */\n  ScheduledOperation = 'ScheduledOperation',\n  /** Scheduled Release system model */\n  ScheduledRelease = 'ScheduledRelease',\n  /** Sections of a page  */\n  Section = 'Section',\n  Seo = 'Seo',\n  Stack = 'Stack',\n  Timeline = 'Timeline',\n  /** User system model */\n  User = 'User'\n}\n\n/** Allows to specify input to query models and components directly */\nexport type EntityWhereInput = {\n  /** The ID of an object */\n  id: Scalars['ID'];\n  locale?: InputMaybe<Locale>;\n  stage: Stage;\n  /** The Type name of an object */\n  typename: EntityTypeName;\n};\n\nexport type Image = Entity & Node & {\n  __typename?: 'Image';\n  asset: Asset;\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Get the document in other stages */\n  documentInStages: Array<Image>;\n  /** List of Image versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** The highlighted caption of a image */\n  mainCaption: Scalars['String'];\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  /** Caption that comes afterwards the main caption but with a smaller size */\n  subCaption?: Maybe<Scalars['String']>;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\nexport type ImageAssetArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ImageCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ImageDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type ImageHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type ImagePublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ImageScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type ImageUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type ImageConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: ImageWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type ImageConnection = {\n  __typename?: 'ImageConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<ImageEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type ImageCreateInput = {\n  asset: AssetCreateOneInlineInput;\n  cl04altgv17nt01xo6hka6f90?: InputMaybe<SectionCreateManyInlineInput>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  mainCaption: Scalars['String'];\n  subCaption?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type ImageCreateManyInlineInput = {\n  /** Connect multiple existing Image documents */\n  connect?: InputMaybe<Array<ImageWhereUniqueInput>>;\n  /** Create and connect multiple existing Image documents */\n  create?: InputMaybe<Array<ImageCreateInput>>;\n};\n\nexport type ImageCreateOneInlineInput = {\n  /** Connect one existing Image document */\n  connect?: InputMaybe<ImageWhereUniqueInput>;\n  /** Create and connect one Image document */\n  create?: InputMaybe<ImageCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type ImageEdge = {\n  __typename?: 'ImageEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Image;\n};\n\nexport enum ImageFit {\n  /** Resizes the image to fit within the specified parameters without distorting, cropping, or changing the aspect ratio. */\n  Clip = 'clip',\n  /** Resizes the image to fit the specified parameters exactly by removing any parts of the image that don't fit within the boundaries. */\n  Crop = 'crop',\n  /** Resizes the image to fit within the parameters, but as opposed to 'fit:clip' will not scale the image if the image is smaller than the output size. */\n  Max = 'max',\n  /** Resizes the image to fit the specified parameters exactly by scaling the image to the desired size. The aspect ratio of the image is not respected and the image can be distorted using this method. */\n  Scale = 'scale'\n}\n\n/** Identifies documents */\nexport type ImageManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ImageWhereInput>>;\n  asset?: InputMaybe<AssetWhereInput>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<ImageWhereStageInput>;\n  documentInStages_none?: InputMaybe<ImageWhereStageInput>;\n  documentInStages_some?: InputMaybe<ImageWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  mainCaption?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  mainCaption_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  mainCaption_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  mainCaption_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  mainCaption_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  mainCaption_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  mainCaption_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  mainCaption_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  mainCaption_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  mainCaption_starts_with?: InputMaybe<Scalars['String']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ImageWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ImageWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  subCaption?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  subCaption_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  subCaption_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  subCaption_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  subCaption_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  subCaption_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  subCaption_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  subCaption_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  subCaption_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  subCaption_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum ImageOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  MainCaptionAsc = 'mainCaption_ASC',\n  MainCaptionDesc = 'mainCaption_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  SubCaptionAsc = 'subCaption_ASC',\n  SubCaptionDesc = 'subCaption_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type ImageResizeInput = {\n  /** The default value for the fit parameter is fit:clip. */\n  fit?: InputMaybe<ImageFit>;\n  /** The height in pixels to resize the image to. The value must be an integer from 1 to 10000. */\n  height?: InputMaybe<Scalars['Int']>;\n  /** The width in pixels to resize the image to. The value must be an integer from 1 to 10000. */\n  width?: InputMaybe<Scalars['Int']>;\n};\n\n/** Transformations for Images */\nexport type ImageTransformationInput = {\n  /** Resizes the image */\n  resize?: InputMaybe<ImageResizeInput>;\n};\n\nexport type ImageUpdateInput = {\n  asset?: InputMaybe<AssetUpdateOneInlineInput>;\n  cl04altgv17nt01xo6hka6f90?: InputMaybe<SectionUpdateManyInlineInput>;\n  mainCaption?: InputMaybe<Scalars['String']>;\n  subCaption?: InputMaybe<Scalars['String']>;\n};\n\nexport type ImageUpdateManyInlineInput = {\n  /** Connect multiple existing Image documents */\n  connect?: InputMaybe<Array<ImageConnectInput>>;\n  /** Create and connect multiple Image documents */\n  create?: InputMaybe<Array<ImageCreateInput>>;\n  /** Delete multiple Image documents */\n  delete?: InputMaybe<Array<ImageWhereUniqueInput>>;\n  /** Disconnect multiple Image documents */\n  disconnect?: InputMaybe<Array<ImageWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Image documents */\n  set?: InputMaybe<Array<ImageWhereUniqueInput>>;\n  /** Update multiple Image documents */\n  update?: InputMaybe<Array<ImageUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Image documents */\n  upsert?: InputMaybe<Array<ImageUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type ImageUpdateManyInput = {\n  mainCaption?: InputMaybe<Scalars['String']>;\n  subCaption?: InputMaybe<Scalars['String']>;\n};\n\nexport type ImageUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: ImageUpdateManyInput;\n  /** Document search */\n  where: ImageWhereInput;\n};\n\nexport type ImageUpdateOneInlineInput = {\n  /** Connect existing Image document */\n  connect?: InputMaybe<ImageWhereUniqueInput>;\n  /** Create and connect one Image document */\n  create?: InputMaybe<ImageCreateInput>;\n  /** Delete currently connected Image document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Image document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Image document */\n  update?: InputMaybe<ImageUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Image document */\n  upsert?: InputMaybe<ImageUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type ImageUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: ImageUpdateInput;\n  /** Unique document search */\n  where: ImageWhereUniqueInput;\n};\n\nexport type ImageUpsertInput = {\n  /** Create document if it didn't exist */\n  create: ImageCreateInput;\n  /** Update document if it exists */\n  update: ImageUpdateInput;\n};\n\nexport type ImageUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: ImageUpsertInput;\n  /** Unique document search */\n  where: ImageWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type ImageWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type ImageWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ImageWhereInput>>;\n  asset?: InputMaybe<AssetWhereInput>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<ImageWhereStageInput>;\n  documentInStages_none?: InputMaybe<ImageWhereStageInput>;\n  documentInStages_some?: InputMaybe<ImageWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  mainCaption?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  mainCaption_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  mainCaption_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  mainCaption_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  mainCaption_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  mainCaption_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  mainCaption_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  mainCaption_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  mainCaption_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  mainCaption_starts_with?: InputMaybe<Scalars['String']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ImageWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ImageWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  subCaption?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  subCaption_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  subCaption_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  subCaption_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  subCaption_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  subCaption_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  subCaption_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  subCaption_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  subCaption_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  subCaption_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type ImageWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ImageWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<ImageWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ImageWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ImageWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Image record uniquely */\nexport type ImageWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type LearningJournal = Entity & Node & {\n  __typename?: 'LearningJournal';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  curiosity: Array<Scalars['String']>;\n  date: Scalars['Date'];\n  /** Get the document in other stages */\n  documentInStages: Array<LearningJournal>;\n  /** List of LearningJournal versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  programming: Array<Scalars['String']>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  resources: Array<Resource>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n  work: Array<Scalars['String']>;\n};\n\n\nexport type LearningJournalCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type LearningJournalDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type LearningJournalHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type LearningJournalPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type LearningJournalResourcesArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<ResourceOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ResourceWhereInput>;\n};\n\n\nexport type LearningJournalScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type LearningJournalUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type LearningJournalConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: LearningJournalWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type LearningJournalConnection = {\n  __typename?: 'LearningJournalConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<LearningJournalEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type LearningJournalCreateInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  curiosity?: InputMaybe<Array<Scalars['String']>>;\n  date: Scalars['Date'];\n  programming?: InputMaybe<Array<Scalars['String']>>;\n  resources?: InputMaybe<ResourceCreateManyInlineInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  work?: InputMaybe<Array<Scalars['String']>>;\n};\n\nexport type LearningJournalCreateManyInlineInput = {\n  /** Connect multiple existing LearningJournal documents */\n  connect?: InputMaybe<Array<LearningJournalWhereUniqueInput>>;\n  /** Create and connect multiple existing LearningJournal documents */\n  create?: InputMaybe<Array<LearningJournalCreateInput>>;\n};\n\nexport type LearningJournalCreateOneInlineInput = {\n  /** Connect one existing LearningJournal document */\n  connect?: InputMaybe<LearningJournalWhereUniqueInput>;\n  /** Create and connect one LearningJournal document */\n  create?: InputMaybe<LearningJournalCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type LearningJournalEdge = {\n  __typename?: 'LearningJournalEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: LearningJournal;\n};\n\n/** Identifies documents */\nexport type LearningJournalManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<LearningJournalWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  curiosity?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  curiosity_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  curiosity_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  curiosity_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  curiosity_not?: InputMaybe<Array<Scalars['String']>>;\n  date?: InputMaybe<Scalars['Date']>;\n  /** All values greater than the given value. */\n  date_gt?: InputMaybe<Scalars['Date']>;\n  /** All values greater than or equal the given value. */\n  date_gte?: InputMaybe<Scalars['Date']>;\n  /** All values that are contained in given list. */\n  date_in?: InputMaybe<Array<InputMaybe<Scalars['Date']>>>;\n  /** All values less than the given value. */\n  date_lt?: InputMaybe<Scalars['Date']>;\n  /** All values less than or equal the given value. */\n  date_lte?: InputMaybe<Scalars['Date']>;\n  /** Any other value that exists and is not equal to the given value. */\n  date_not?: InputMaybe<Scalars['Date']>;\n  /** All values that are not contained in given list. */\n  date_not_in?: InputMaybe<Array<InputMaybe<Scalars['Date']>>>;\n  documentInStages_every?: InputMaybe<LearningJournalWhereStageInput>;\n  documentInStages_none?: InputMaybe<LearningJournalWhereStageInput>;\n  documentInStages_some?: InputMaybe<LearningJournalWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<LearningJournalWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<LearningJournalWhereInput>>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  programming?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  programming_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  programming_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  programming_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  programming_not?: InputMaybe<Array<Scalars['String']>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  resources_every?: InputMaybe<ResourceWhereInput>;\n  resources_none?: InputMaybe<ResourceWhereInput>;\n  resources_some?: InputMaybe<ResourceWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  work?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  work_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  work_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  work_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  work_not?: InputMaybe<Array<Scalars['String']>>;\n};\n\nexport enum LearningJournalOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  CuriosityAsc = 'curiosity_ASC',\n  CuriosityDesc = 'curiosity_DESC',\n  DateAsc = 'date_ASC',\n  DateDesc = 'date_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  ProgrammingAsc = 'programming_ASC',\n  ProgrammingDesc = 'programming_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC',\n  WorkAsc = 'work_ASC',\n  WorkDesc = 'work_DESC'\n}\n\nexport type LearningJournalUpdateInput = {\n  curiosity?: InputMaybe<Array<Scalars['String']>>;\n  date?: InputMaybe<Scalars['Date']>;\n  programming?: InputMaybe<Array<Scalars['String']>>;\n  resources?: InputMaybe<ResourceUpdateManyInlineInput>;\n  work?: InputMaybe<Array<Scalars['String']>>;\n};\n\nexport type LearningJournalUpdateManyInlineInput = {\n  /** Connect multiple existing LearningJournal documents */\n  connect?: InputMaybe<Array<LearningJournalConnectInput>>;\n  /** Create and connect multiple LearningJournal documents */\n  create?: InputMaybe<Array<LearningJournalCreateInput>>;\n  /** Delete multiple LearningJournal documents */\n  delete?: InputMaybe<Array<LearningJournalWhereUniqueInput>>;\n  /** Disconnect multiple LearningJournal documents */\n  disconnect?: InputMaybe<Array<LearningJournalWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing LearningJournal documents */\n  set?: InputMaybe<Array<LearningJournalWhereUniqueInput>>;\n  /** Update multiple LearningJournal documents */\n  update?: InputMaybe<Array<LearningJournalUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple LearningJournal documents */\n  upsert?: InputMaybe<Array<LearningJournalUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type LearningJournalUpdateManyInput = {\n  curiosity?: InputMaybe<Array<Scalars['String']>>;\n  date?: InputMaybe<Scalars['Date']>;\n  programming?: InputMaybe<Array<Scalars['String']>>;\n  work?: InputMaybe<Array<Scalars['String']>>;\n};\n\nexport type LearningJournalUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: LearningJournalUpdateManyInput;\n  /** Document search */\n  where: LearningJournalWhereInput;\n};\n\nexport type LearningJournalUpdateOneInlineInput = {\n  /** Connect existing LearningJournal document */\n  connect?: InputMaybe<LearningJournalWhereUniqueInput>;\n  /** Create and connect one LearningJournal document */\n  create?: InputMaybe<LearningJournalCreateInput>;\n  /** Delete currently connected LearningJournal document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected LearningJournal document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single LearningJournal document */\n  update?: InputMaybe<LearningJournalUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single LearningJournal document */\n  upsert?: InputMaybe<LearningJournalUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type LearningJournalUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: LearningJournalUpdateInput;\n  /** Unique document search */\n  where: LearningJournalWhereUniqueInput;\n};\n\nexport type LearningJournalUpsertInput = {\n  /** Create document if it didn't exist */\n  create: LearningJournalCreateInput;\n  /** Update document if it exists */\n  update: LearningJournalUpdateInput;\n};\n\nexport type LearningJournalUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: LearningJournalUpsertInput;\n  /** Unique document search */\n  where: LearningJournalWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type LearningJournalWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type LearningJournalWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<LearningJournalWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  curiosity?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  curiosity_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  curiosity_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  curiosity_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  curiosity_not?: InputMaybe<Array<Scalars['String']>>;\n  date?: InputMaybe<Scalars['Date']>;\n  /** All values greater than the given value. */\n  date_gt?: InputMaybe<Scalars['Date']>;\n  /** All values greater than or equal the given value. */\n  date_gte?: InputMaybe<Scalars['Date']>;\n  /** All values that are contained in given list. */\n  date_in?: InputMaybe<Array<InputMaybe<Scalars['Date']>>>;\n  /** All values less than the given value. */\n  date_lt?: InputMaybe<Scalars['Date']>;\n  /** All values less than or equal the given value. */\n  date_lte?: InputMaybe<Scalars['Date']>;\n  /** Any other value that exists and is not equal to the given value. */\n  date_not?: InputMaybe<Scalars['Date']>;\n  /** All values that are not contained in given list. */\n  date_not_in?: InputMaybe<Array<InputMaybe<Scalars['Date']>>>;\n  documentInStages_every?: InputMaybe<LearningJournalWhereStageInput>;\n  documentInStages_none?: InputMaybe<LearningJournalWhereStageInput>;\n  documentInStages_some?: InputMaybe<LearningJournalWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<LearningJournalWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<LearningJournalWhereInput>>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  programming?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  programming_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  programming_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  programming_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  programming_not?: InputMaybe<Array<Scalars['String']>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  resources_every?: InputMaybe<ResourceWhereInput>;\n  resources_none?: InputMaybe<ResourceWhereInput>;\n  resources_some?: InputMaybe<ResourceWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  work?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  work_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  work_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  work_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  work_not?: InputMaybe<Array<Scalars['String']>>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type LearningJournalWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<LearningJournalWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<LearningJournalWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<LearningJournalWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<LearningJournalWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References LearningJournal record uniquely */\nexport type LearningJournalWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\n/** Locale system enumeration */\nexport enum Locale {\n  /** System locale */\n  En = 'en'\n}\n\n/** Representing a geolocation point with latitude and longitude */\nexport type Location = {\n  __typename?: 'Location';\n  distance: Scalars['Float'];\n  latitude: Scalars['Float'];\n  longitude: Scalars['Float'];\n};\n\n\n/** Representing a geolocation point with latitude and longitude */\nexport type LocationDistanceArgs = {\n  from: LocationInput;\n};\n\n/** Input for a geolocation point with latitude and longitude */\nexport type LocationInput = {\n  latitude: Scalars['Float'];\n  longitude: Scalars['Float'];\n};\n\nexport type Mutation = {\n  __typename?: 'Mutation';\n  /** Create one aboutMePage */\n  createAboutMePage?: Maybe<AboutMePage>;\n  /** Create one achievement */\n  createAchievement?: Maybe<Achievement>;\n  /**\n   * Create one asset\n   * @deprecated Asset mutations will be overhauled soon\n   */\n  createAsset?: Maybe<Asset>;\n  /** Create one content */\n  createContent?: Maybe<Content>;\n  /** Create one image */\n  createImage?: Maybe<Image>;\n  /** Create one learningJournal */\n  createLearningJournal?: Maybe<LearningJournal>;\n  /** Create one page */\n  createPage?: Maybe<Page>;\n  /** Create one project */\n  createProject?: Maybe<Project>;\n  /** Create one resource */\n  createResource?: Maybe<Resource>;\n  /** Create one scheduledRelease */\n  createScheduledRelease?: Maybe<ScheduledRelease>;\n  /** Create one section */\n  createSection?: Maybe<Section>;\n  /** Create one seo */\n  createSeo?: Maybe<Seo>;\n  /** Create one stack */\n  createStack?: Maybe<Stack>;\n  /** Create one timeline */\n  createTimeline?: Maybe<Timeline>;\n  /** Delete one aboutMePage from _all_ existing stages. Returns deleted document. */\n  deleteAboutMePage?: Maybe<AboutMePage>;\n  /** Delete one achievement from _all_ existing stages. Returns deleted document. */\n  deleteAchievement?: Maybe<Achievement>;\n  /** Delete one asset from _all_ existing stages. Returns deleted document. */\n  deleteAsset?: Maybe<Asset>;\n  /** Delete one content from _all_ existing stages. Returns deleted document. */\n  deleteContent?: Maybe<Content>;\n  /** Delete one image from _all_ existing stages. Returns deleted document. */\n  deleteImage?: Maybe<Image>;\n  /** Delete one learningJournal from _all_ existing stages. Returns deleted document. */\n  deleteLearningJournal?: Maybe<LearningJournal>;\n  /**\n   * Delete many AboutMePage documents\n   * @deprecated Please use the new paginated many mutation (deleteManyAboutMePagesConnection)\n   */\n  deleteManyAboutMePages: BatchPayload;\n  /** Delete many AboutMePage documents, return deleted documents */\n  deleteManyAboutMePagesConnection: AboutMePageConnection;\n  /**\n   * Delete many Achievement documents\n   * @deprecated Please use the new paginated many mutation (deleteManyAchievementsConnection)\n   */\n  deleteManyAchievements: BatchPayload;\n  /** Delete many Achievement documents, return deleted documents */\n  deleteManyAchievementsConnection: AchievementConnection;\n  /**\n   * Delete many Asset documents\n   * @deprecated Please use the new paginated many mutation (deleteManyAssetsConnection)\n   */\n  deleteManyAssets: BatchPayload;\n  /** Delete many Asset documents, return deleted documents */\n  deleteManyAssetsConnection: AssetConnection;\n  /**\n   * Delete many Content documents\n   * @deprecated Please use the new paginated many mutation (deleteManyContentsConnection)\n   */\n  deleteManyContents: BatchPayload;\n  /** Delete many Content documents, return deleted documents */\n  deleteManyContentsConnection: ContentConnection;\n  /**\n   * Delete many Image documents\n   * @deprecated Please use the new paginated many mutation (deleteManyImagesConnection)\n   */\n  deleteManyImages: BatchPayload;\n  /** Delete many Image documents, return deleted documents */\n  deleteManyImagesConnection: ImageConnection;\n  /**\n   * Delete many LearningJournal documents\n   * @deprecated Please use the new paginated many mutation (deleteManyLearningJournalsConnection)\n   */\n  deleteManyLearningJournals: BatchPayload;\n  /** Delete many LearningJournal documents, return deleted documents */\n  deleteManyLearningJournalsConnection: LearningJournalConnection;\n  /**\n   * Delete many Page documents\n   * @deprecated Please use the new paginated many mutation (deleteManyPagesConnection)\n   */\n  deleteManyPages: BatchPayload;\n  /** Delete many Page documents, return deleted documents */\n  deleteManyPagesConnection: PageConnection;\n  /**\n   * Delete many Project documents\n   * @deprecated Please use the new paginated many mutation (deleteManyProjectsConnection)\n   */\n  deleteManyProjects: BatchPayload;\n  /** Delete many Project documents, return deleted documents */\n  deleteManyProjectsConnection: ProjectConnection;\n  /**\n   * Delete many Resource documents\n   * @deprecated Please use the new paginated many mutation (deleteManyResourcesConnection)\n   */\n  deleteManyResources: BatchPayload;\n  /** Delete many Resource documents, return deleted documents */\n  deleteManyResourcesConnection: ResourceConnection;\n  /**\n   * Delete many Section documents\n   * @deprecated Please use the new paginated many mutation (deleteManySectionsConnection)\n   */\n  deleteManySections: BatchPayload;\n  /** Delete many Section documents, return deleted documents */\n  deleteManySectionsConnection: SectionConnection;\n  /**\n   * Delete many Seo documents\n   * @deprecated Please use the new paginated many mutation (deleteManySeosConnection)\n   */\n  deleteManySeos: BatchPayload;\n  /** Delete many Seo documents, return deleted documents */\n  deleteManySeosConnection: SeoConnection;\n  /**\n   * Delete many Stack documents\n   * @deprecated Please use the new paginated many mutation (deleteManyStacksConnection)\n   */\n  deleteManyStacks: BatchPayload;\n  /** Delete many Stack documents, return deleted documents */\n  deleteManyStacksConnection: StackConnection;\n  /**\n   * Delete many Timeline documents\n   * @deprecated Please use the new paginated many mutation (deleteManyTimelinesConnection)\n   */\n  deleteManyTimelines: BatchPayload;\n  /** Delete many Timeline documents, return deleted documents */\n  deleteManyTimelinesConnection: TimelineConnection;\n  /** Delete one page from _all_ existing stages. Returns deleted document. */\n  deletePage?: Maybe<Page>;\n  /** Delete one project from _all_ existing stages. Returns deleted document. */\n  deleteProject?: Maybe<Project>;\n  /** Delete one resource from _all_ existing stages. Returns deleted document. */\n  deleteResource?: Maybe<Resource>;\n  /** Delete and return scheduled operation */\n  deleteScheduledOperation?: Maybe<ScheduledOperation>;\n  /** Delete one scheduledRelease from _all_ existing stages. Returns deleted document. */\n  deleteScheduledRelease?: Maybe<ScheduledRelease>;\n  /** Delete one section from _all_ existing stages. Returns deleted document. */\n  deleteSection?: Maybe<Section>;\n  /** Delete one seo from _all_ existing stages. Returns deleted document. */\n  deleteSeo?: Maybe<Seo>;\n  /** Delete one stack from _all_ existing stages. Returns deleted document. */\n  deleteStack?: Maybe<Stack>;\n  /** Delete one timeline from _all_ existing stages. Returns deleted document. */\n  deleteTimeline?: Maybe<Timeline>;\n  /** Publish one aboutMePage */\n  publishAboutMePage?: Maybe<AboutMePage>;\n  /** Publish one achievement */\n  publishAchievement?: Maybe<Achievement>;\n  /** Publish one asset */\n  publishAsset?: Maybe<Asset>;\n  /** Publish one content */\n  publishContent?: Maybe<Content>;\n  /** Publish one image */\n  publishImage?: Maybe<Image>;\n  /** Publish one learningJournal */\n  publishLearningJournal?: Maybe<LearningJournal>;\n  /**\n   * Publish many AboutMePage documents\n   * @deprecated Please use the new paginated many mutation (publishManyAboutMePagesConnection)\n   */\n  publishManyAboutMePages: BatchPayload;\n  /** Publish many AboutMePage documents */\n  publishManyAboutMePagesConnection: AboutMePageConnection;\n  /**\n   * Publish many Achievement documents\n   * @deprecated Please use the new paginated many mutation (publishManyAchievementsConnection)\n   */\n  publishManyAchievements: BatchPayload;\n  /** Publish many Achievement documents */\n  publishManyAchievementsConnection: AchievementConnection;\n  /**\n   * Publish many Asset documents\n   * @deprecated Please use the new paginated many mutation (publishManyAssetsConnection)\n   */\n  publishManyAssets: BatchPayload;\n  /** Publish many Asset documents */\n  publishManyAssetsConnection: AssetConnection;\n  /**\n   * Publish many Content documents\n   * @deprecated Please use the new paginated many mutation (publishManyContentsConnection)\n   */\n  publishManyContents: BatchPayload;\n  /** Publish many Content documents */\n  publishManyContentsConnection: ContentConnection;\n  /**\n   * Publish many Image documents\n   * @deprecated Please use the new paginated many mutation (publishManyImagesConnection)\n   */\n  publishManyImages: BatchPayload;\n  /** Publish many Image documents */\n  publishManyImagesConnection: ImageConnection;\n  /**\n   * Publish many LearningJournal documents\n   * @deprecated Please use the new paginated many mutation (publishManyLearningJournalsConnection)\n   */\n  publishManyLearningJournals: BatchPayload;\n  /** Publish many LearningJournal documents */\n  publishManyLearningJournalsConnection: LearningJournalConnection;\n  /**\n   * Publish many Page documents\n   * @deprecated Please use the new paginated many mutation (publishManyPagesConnection)\n   */\n  publishManyPages: BatchPayload;\n  /** Publish many Page documents */\n  publishManyPagesConnection: PageConnection;\n  /**\n   * Publish many Project documents\n   * @deprecated Please use the new paginated many mutation (publishManyProjectsConnection)\n   */\n  publishManyProjects: BatchPayload;\n  /** Publish many Project documents */\n  publishManyProjectsConnection: ProjectConnection;\n  /**\n   * Publish many Resource documents\n   * @deprecated Please use the new paginated many mutation (publishManyResourcesConnection)\n   */\n  publishManyResources: BatchPayload;\n  /** Publish many Resource documents */\n  publishManyResourcesConnection: ResourceConnection;\n  /**\n   * Publish many Section documents\n   * @deprecated Please use the new paginated many mutation (publishManySectionsConnection)\n   */\n  publishManySections: BatchPayload;\n  /** Publish many Section documents */\n  publishManySectionsConnection: SectionConnection;\n  /**\n   * Publish many Seo documents\n   * @deprecated Please use the new paginated many mutation (publishManySeosConnection)\n   */\n  publishManySeos: BatchPayload;\n  /** Publish many Seo documents */\n  publishManySeosConnection: SeoConnection;\n  /**\n   * Publish many Stack documents\n   * @deprecated Please use the new paginated many mutation (publishManyStacksConnection)\n   */\n  publishManyStacks: BatchPayload;\n  /** Publish many Stack documents */\n  publishManyStacksConnection: StackConnection;\n  /**\n   * Publish many Timeline documents\n   * @deprecated Please use the new paginated many mutation (publishManyTimelinesConnection)\n   */\n  publishManyTimelines: BatchPayload;\n  /** Publish many Timeline documents */\n  publishManyTimelinesConnection: TimelineConnection;\n  /** Publish one page */\n  publishPage?: Maybe<Page>;\n  /** Publish one project */\n  publishProject?: Maybe<Project>;\n  /** Publish one resource */\n  publishResource?: Maybe<Resource>;\n  /** Publish one section */\n  publishSection?: Maybe<Section>;\n  /** Publish one seo */\n  publishSeo?: Maybe<Seo>;\n  /** Publish one stack */\n  publishStack?: Maybe<Stack>;\n  /** Publish one timeline */\n  publishTimeline?: Maybe<Timeline>;\n  /** Schedule to publish one aboutMePage */\n  schedulePublishAboutMePage?: Maybe<AboutMePage>;\n  /** Schedule to publish one achievement */\n  schedulePublishAchievement?: Maybe<Achievement>;\n  /** Schedule to publish one asset */\n  schedulePublishAsset?: Maybe<Asset>;\n  /** Schedule to publish one content */\n  schedulePublishContent?: Maybe<Content>;\n  /** Schedule to publish one image */\n  schedulePublishImage?: Maybe<Image>;\n  /** Schedule to publish one learningJournal */\n  schedulePublishLearningJournal?: Maybe<LearningJournal>;\n  /** Schedule to publish one page */\n  schedulePublishPage?: Maybe<Page>;\n  /** Schedule to publish one project */\n  schedulePublishProject?: Maybe<Project>;\n  /** Schedule to publish one resource */\n  schedulePublishResource?: Maybe<Resource>;\n  /** Schedule to publish one section */\n  schedulePublishSection?: Maybe<Section>;\n  /** Schedule to publish one seo */\n  schedulePublishSeo?: Maybe<Seo>;\n  /** Schedule to publish one stack */\n  schedulePublishStack?: Maybe<Stack>;\n  /** Schedule to publish one timeline */\n  schedulePublishTimeline?: Maybe<Timeline>;\n  /** Unpublish one aboutMePage from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishAboutMePage?: Maybe<AboutMePage>;\n  /** Unpublish one achievement from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishAchievement?: Maybe<Achievement>;\n  /** Unpublish one asset from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishAsset?: Maybe<Asset>;\n  /** Unpublish one content from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishContent?: Maybe<Content>;\n  /** Unpublish one image from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishImage?: Maybe<Image>;\n  /** Unpublish one learningJournal from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishLearningJournal?: Maybe<LearningJournal>;\n  /** Unpublish one page from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishPage?: Maybe<Page>;\n  /** Unpublish one project from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishProject?: Maybe<Project>;\n  /** Unpublish one resource from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishResource?: Maybe<Resource>;\n  /** Unpublish one section from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishSection?: Maybe<Section>;\n  /** Unpublish one seo from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishSeo?: Maybe<Seo>;\n  /** Unpublish one stack from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishStack?: Maybe<Stack>;\n  /** Unpublish one timeline from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  scheduleUnpublishTimeline?: Maybe<Timeline>;\n  /** Unpublish one aboutMePage from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishAboutMePage?: Maybe<AboutMePage>;\n  /** Unpublish one achievement from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishAchievement?: Maybe<Achievement>;\n  /** Unpublish one asset from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishAsset?: Maybe<Asset>;\n  /** Unpublish one content from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishContent?: Maybe<Content>;\n  /** Unpublish one image from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishImage?: Maybe<Image>;\n  /** Unpublish one learningJournal from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishLearningJournal?: Maybe<LearningJournal>;\n  /**\n   * Unpublish many AboutMePage documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyAboutMePagesConnection)\n   */\n  unpublishManyAboutMePages: BatchPayload;\n  /** Find many AboutMePage documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyAboutMePagesConnection: AboutMePageConnection;\n  /**\n   * Unpublish many Achievement documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyAchievementsConnection)\n   */\n  unpublishManyAchievements: BatchPayload;\n  /** Find many Achievement documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyAchievementsConnection: AchievementConnection;\n  /**\n   * Unpublish many Asset documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyAssetsConnection)\n   */\n  unpublishManyAssets: BatchPayload;\n  /** Find many Asset documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyAssetsConnection: AssetConnection;\n  /**\n   * Unpublish many Content documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyContentsConnection)\n   */\n  unpublishManyContents: BatchPayload;\n  /** Find many Content documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyContentsConnection: ContentConnection;\n  /**\n   * Unpublish many Image documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyImagesConnection)\n   */\n  unpublishManyImages: BatchPayload;\n  /** Find many Image documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyImagesConnection: ImageConnection;\n  /**\n   * Unpublish many LearningJournal documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyLearningJournalsConnection)\n   */\n  unpublishManyLearningJournals: BatchPayload;\n  /** Find many LearningJournal documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyLearningJournalsConnection: LearningJournalConnection;\n  /**\n   * Unpublish many Page documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyPagesConnection)\n   */\n  unpublishManyPages: BatchPayload;\n  /** Find many Page documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyPagesConnection: PageConnection;\n  /**\n   * Unpublish many Project documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyProjectsConnection)\n   */\n  unpublishManyProjects: BatchPayload;\n  /** Find many Project documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyProjectsConnection: ProjectConnection;\n  /**\n   * Unpublish many Resource documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyResourcesConnection)\n   */\n  unpublishManyResources: BatchPayload;\n  /** Find many Resource documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyResourcesConnection: ResourceConnection;\n  /**\n   * Unpublish many Section documents\n   * @deprecated Please use the new paginated many mutation (unpublishManySectionsConnection)\n   */\n  unpublishManySections: BatchPayload;\n  /** Find many Section documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManySectionsConnection: SectionConnection;\n  /**\n   * Unpublish many Seo documents\n   * @deprecated Please use the new paginated many mutation (unpublishManySeosConnection)\n   */\n  unpublishManySeos: BatchPayload;\n  /** Find many Seo documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManySeosConnection: SeoConnection;\n  /**\n   * Unpublish many Stack documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyStacksConnection)\n   */\n  unpublishManyStacks: BatchPayload;\n  /** Find many Stack documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyStacksConnection: StackConnection;\n  /**\n   * Unpublish many Timeline documents\n   * @deprecated Please use the new paginated many mutation (unpublishManyTimelinesConnection)\n   */\n  unpublishManyTimelines: BatchPayload;\n  /** Find many Timeline documents that match criteria in specified stage and unpublish from target stages */\n  unpublishManyTimelinesConnection: TimelineConnection;\n  /** Unpublish one page from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishPage?: Maybe<Page>;\n  /** Unpublish one project from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishProject?: Maybe<Project>;\n  /** Unpublish one resource from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishResource?: Maybe<Resource>;\n  /** Unpublish one section from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishSection?: Maybe<Section>;\n  /** Unpublish one seo from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishSeo?: Maybe<Seo>;\n  /** Unpublish one stack from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishStack?: Maybe<Stack>;\n  /** Unpublish one timeline from selected stages. Unpublish either the complete document with its relations, localizations and base data or specific localizations only. */\n  unpublishTimeline?: Maybe<Timeline>;\n  /** Update one aboutMePage */\n  updateAboutMePage?: Maybe<AboutMePage>;\n  /** Update one achievement */\n  updateAchievement?: Maybe<Achievement>;\n  /** Update one asset */\n  updateAsset?: Maybe<Asset>;\n  /** Update one content */\n  updateContent?: Maybe<Content>;\n  /** Update one image */\n  updateImage?: Maybe<Image>;\n  /** Update one learningJournal */\n  updateLearningJournal?: Maybe<LearningJournal>;\n  /**\n   * Update many aboutMePages\n   * @deprecated Please use the new paginated many mutation (updateManyAboutMePagesConnection)\n   */\n  updateManyAboutMePages: BatchPayload;\n  /** Update many AboutMePage documents */\n  updateManyAboutMePagesConnection: AboutMePageConnection;\n  /**\n   * Update many achievements\n   * @deprecated Please use the new paginated many mutation (updateManyAchievementsConnection)\n   */\n  updateManyAchievements: BatchPayload;\n  /** Update many Achievement documents */\n  updateManyAchievementsConnection: AchievementConnection;\n  /**\n   * Update many assets\n   * @deprecated Please use the new paginated many mutation (updateManyAssetsConnection)\n   */\n  updateManyAssets: BatchPayload;\n  /** Update many Asset documents */\n  updateManyAssetsConnection: AssetConnection;\n  /**\n   * Update many contents\n   * @deprecated Please use the new paginated many mutation (updateManyContentsConnection)\n   */\n  updateManyContents: BatchPayload;\n  /** Update many Content documents */\n  updateManyContentsConnection: ContentConnection;\n  /**\n   * Update many images\n   * @deprecated Please use the new paginated many mutation (updateManyImagesConnection)\n   */\n  updateManyImages: BatchPayload;\n  /** Update many Image documents */\n  updateManyImagesConnection: ImageConnection;\n  /**\n   * Update many learningJournals\n   * @deprecated Please use the new paginated many mutation (updateManyLearningJournalsConnection)\n   */\n  updateManyLearningJournals: BatchPayload;\n  /** Update many LearningJournal documents */\n  updateManyLearningJournalsConnection: LearningJournalConnection;\n  /**\n   * Update many pages\n   * @deprecated Please use the new paginated many mutation (updateManyPagesConnection)\n   */\n  updateManyPages: BatchPayload;\n  /** Update many Page documents */\n  updateManyPagesConnection: PageConnection;\n  /**\n   * Update many projects\n   * @deprecated Please use the new paginated many mutation (updateManyProjectsConnection)\n   */\n  updateManyProjects: BatchPayload;\n  /** Update many Project documents */\n  updateManyProjectsConnection: ProjectConnection;\n  /**\n   * Update many resources\n   * @deprecated Please use the new paginated many mutation (updateManyResourcesConnection)\n   */\n  updateManyResources: BatchPayload;\n  /** Update many Resource documents */\n  updateManyResourcesConnection: ResourceConnection;\n  /**\n   * Update many sections\n   * @deprecated Please use the new paginated many mutation (updateManySectionsConnection)\n   */\n  updateManySections: BatchPayload;\n  /** Update many Section documents */\n  updateManySectionsConnection: SectionConnection;\n  /**\n   * Update many seos\n   * @deprecated Please use the new paginated many mutation (updateManySeosConnection)\n   */\n  updateManySeos: BatchPayload;\n  /** Update many Seo documents */\n  updateManySeosConnection: SeoConnection;\n  /**\n   * Update many stacks\n   * @deprecated Please use the new paginated many mutation (updateManyStacksConnection)\n   */\n  updateManyStacks: BatchPayload;\n  /** Update many Stack documents */\n  updateManyStacksConnection: StackConnection;\n  /**\n   * Update many timelines\n   * @deprecated Please use the new paginated many mutation (updateManyTimelinesConnection)\n   */\n  updateManyTimelines: BatchPayload;\n  /** Update many Timeline documents */\n  updateManyTimelinesConnection: TimelineConnection;\n  /** Update one page */\n  updatePage?: Maybe<Page>;\n  /** Update one project */\n  updateProject?: Maybe<Project>;\n  /** Update one resource */\n  updateResource?: Maybe<Resource>;\n  /** Update one scheduledRelease */\n  updateScheduledRelease?: Maybe<ScheduledRelease>;\n  /** Update one section */\n  updateSection?: Maybe<Section>;\n  /** Update one seo */\n  updateSeo?: Maybe<Seo>;\n  /** Update one stack */\n  updateStack?: Maybe<Stack>;\n  /** Update one timeline */\n  updateTimeline?: Maybe<Timeline>;\n  /** Upsert one aboutMePage */\n  upsertAboutMePage?: Maybe<AboutMePage>;\n  /** Upsert one achievement */\n  upsertAchievement?: Maybe<Achievement>;\n  /** Upsert one asset */\n  upsertAsset?: Maybe<Asset>;\n  /** Upsert one content */\n  upsertContent?: Maybe<Content>;\n  /** Upsert one image */\n  upsertImage?: Maybe<Image>;\n  /** Upsert one learningJournal */\n  upsertLearningJournal?: Maybe<LearningJournal>;\n  /** Upsert one page */\n  upsertPage?: Maybe<Page>;\n  /** Upsert one project */\n  upsertProject?: Maybe<Project>;\n  /** Upsert one resource */\n  upsertResource?: Maybe<Resource>;\n  /** Upsert one section */\n  upsertSection?: Maybe<Section>;\n  /** Upsert one seo */\n  upsertSeo?: Maybe<Seo>;\n  /** Upsert one stack */\n  upsertStack?: Maybe<Stack>;\n  /** Upsert one timeline */\n  upsertTimeline?: Maybe<Timeline>;\n};\n\n\nexport type MutationCreateAboutMePageArgs = {\n  data: AboutMePageCreateInput;\n};\n\n\nexport type MutationCreateAchievementArgs = {\n  data: AchievementCreateInput;\n};\n\n\nexport type MutationCreateAssetArgs = {\n  data: AssetCreateInput;\n};\n\n\nexport type MutationCreateContentArgs = {\n  data: ContentCreateInput;\n};\n\n\nexport type MutationCreateImageArgs = {\n  data: ImageCreateInput;\n};\n\n\nexport type MutationCreateLearningJournalArgs = {\n  data: LearningJournalCreateInput;\n};\n\n\nexport type MutationCreatePageArgs = {\n  data: PageCreateInput;\n};\n\n\nexport type MutationCreateProjectArgs = {\n  data: ProjectCreateInput;\n};\n\n\nexport type MutationCreateResourceArgs = {\n  data: ResourceCreateInput;\n};\n\n\nexport type MutationCreateScheduledReleaseArgs = {\n  data: ScheduledReleaseCreateInput;\n};\n\n\nexport type MutationCreateSectionArgs = {\n  data: SectionCreateInput;\n};\n\n\nexport type MutationCreateSeoArgs = {\n  data: SeoCreateInput;\n};\n\n\nexport type MutationCreateStackArgs = {\n  data: StackCreateInput;\n};\n\n\nexport type MutationCreateTimelineArgs = {\n  data: TimelineCreateInput;\n};\n\n\nexport type MutationDeleteAboutMePageArgs = {\n  where: AboutMePageWhereUniqueInput;\n};\n\n\nexport type MutationDeleteAchievementArgs = {\n  where: AchievementWhereUniqueInput;\n};\n\n\nexport type MutationDeleteAssetArgs = {\n  where: AssetWhereUniqueInput;\n};\n\n\nexport type MutationDeleteContentArgs = {\n  where: ContentWhereUniqueInput;\n};\n\n\nexport type MutationDeleteImageArgs = {\n  where: ImageWhereUniqueInput;\n};\n\n\nexport type MutationDeleteLearningJournalArgs = {\n  where: LearningJournalWhereUniqueInput;\n};\n\n\nexport type MutationDeleteManyAboutMePagesArgs = {\n  where?: InputMaybe<AboutMePageManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyAboutMePagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<AboutMePageManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyAchievementsArgs = {\n  where?: InputMaybe<AchievementManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyAchievementsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<AchievementManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyAssetsArgs = {\n  where?: InputMaybe<AssetManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyAssetsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<AssetManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyContentsArgs = {\n  where?: InputMaybe<ContentManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyContentsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ContentManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyImagesArgs = {\n  where?: InputMaybe<ImageManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyImagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ImageManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyLearningJournalsArgs = {\n  where?: InputMaybe<LearningJournalManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyLearningJournalsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<LearningJournalManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyPagesArgs = {\n  where?: InputMaybe<PageManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyPagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<PageManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyProjectsArgs = {\n  where?: InputMaybe<ProjectManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyProjectsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ProjectManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyResourcesArgs = {\n  where?: InputMaybe<ResourceManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyResourcesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ResourceManyWhereInput>;\n};\n\n\nexport type MutationDeleteManySectionsArgs = {\n  where?: InputMaybe<SectionManyWhereInput>;\n};\n\n\nexport type MutationDeleteManySectionsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<SectionManyWhereInput>;\n};\n\n\nexport type MutationDeleteManySeosArgs = {\n  where?: InputMaybe<SeoManyWhereInput>;\n};\n\n\nexport type MutationDeleteManySeosConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<SeoManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyStacksArgs = {\n  where?: InputMaybe<StackManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyStacksConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<StackManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyTimelinesArgs = {\n  where?: InputMaybe<TimelineManyWhereInput>;\n};\n\n\nexport type MutationDeleteManyTimelinesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<TimelineManyWhereInput>;\n};\n\n\nexport type MutationDeletePageArgs = {\n  where: PageWhereUniqueInput;\n};\n\n\nexport type MutationDeleteProjectArgs = {\n  where: ProjectWhereUniqueInput;\n};\n\n\nexport type MutationDeleteResourceArgs = {\n  where: ResourceWhereUniqueInput;\n};\n\n\nexport type MutationDeleteScheduledOperationArgs = {\n  where: ScheduledOperationWhereUniqueInput;\n};\n\n\nexport type MutationDeleteScheduledReleaseArgs = {\n  where: ScheduledReleaseWhereUniqueInput;\n};\n\n\nexport type MutationDeleteSectionArgs = {\n  where: SectionWhereUniqueInput;\n};\n\n\nexport type MutationDeleteSeoArgs = {\n  where: SeoWhereUniqueInput;\n};\n\n\nexport type MutationDeleteStackArgs = {\n  where: StackWhereUniqueInput;\n};\n\n\nexport type MutationDeleteTimelineArgs = {\n  where: TimelineWhereUniqueInput;\n};\n\n\nexport type MutationPublishAboutMePageArgs = {\n  to?: Array<Stage>;\n  where: AboutMePageWhereUniqueInput;\n};\n\n\nexport type MutationPublishAchievementArgs = {\n  to?: Array<Stage>;\n  where: AchievementWhereUniqueInput;\n};\n\n\nexport type MutationPublishAssetArgs = {\n  locales?: InputMaybe<Array<Locale>>;\n  publishBase?: InputMaybe<Scalars['Boolean']>;\n  to?: Array<Stage>;\n  where: AssetWhereUniqueInput;\n  withDefaultLocale?: InputMaybe<Scalars['Boolean']>;\n};\n\n\nexport type MutationPublishContentArgs = {\n  to?: Array<Stage>;\n  where: ContentWhereUniqueInput;\n};\n\n\nexport type MutationPublishImageArgs = {\n  to?: Array<Stage>;\n  where: ImageWhereUniqueInput;\n};\n\n\nexport type MutationPublishLearningJournalArgs = {\n  to?: Array<Stage>;\n  where: LearningJournalWhereUniqueInput;\n};\n\n\nexport type MutationPublishManyAboutMePagesArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<AboutMePageManyWhereInput>;\n};\n\n\nexport type MutationPublishManyAboutMePagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<AboutMePageManyWhereInput>;\n};\n\n\nexport type MutationPublishManyAchievementsArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<AchievementManyWhereInput>;\n};\n\n\nexport type MutationPublishManyAchievementsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<AchievementManyWhereInput>;\n};\n\n\nexport type MutationPublishManyAssetsArgs = {\n  locales?: InputMaybe<Array<Locale>>;\n  publishBase?: InputMaybe<Scalars['Boolean']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<AssetManyWhereInput>;\n  withDefaultLocale?: InputMaybe<Scalars['Boolean']>;\n};\n\n\nexport type MutationPublishManyAssetsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  publishBase?: InputMaybe<Scalars['Boolean']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<AssetManyWhereInput>;\n  withDefaultLocale?: InputMaybe<Scalars['Boolean']>;\n};\n\n\nexport type MutationPublishManyContentsArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<ContentManyWhereInput>;\n};\n\n\nexport type MutationPublishManyContentsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<ContentManyWhereInput>;\n};\n\n\nexport type MutationPublishManyImagesArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<ImageManyWhereInput>;\n};\n\n\nexport type MutationPublishManyImagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<ImageManyWhereInput>;\n};\n\n\nexport type MutationPublishManyLearningJournalsArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<LearningJournalManyWhereInput>;\n};\n\n\nexport type MutationPublishManyLearningJournalsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<LearningJournalManyWhereInput>;\n};\n\n\nexport type MutationPublishManyPagesArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<PageManyWhereInput>;\n};\n\n\nexport type MutationPublishManyPagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<PageManyWhereInput>;\n};\n\n\nexport type MutationPublishManyProjectsArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<ProjectManyWhereInput>;\n};\n\n\nexport type MutationPublishManyProjectsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<ProjectManyWhereInput>;\n};\n\n\nexport type MutationPublishManyResourcesArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<ResourceManyWhereInput>;\n};\n\n\nexport type MutationPublishManyResourcesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<ResourceManyWhereInput>;\n};\n\n\nexport type MutationPublishManySectionsArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<SectionManyWhereInput>;\n};\n\n\nexport type MutationPublishManySectionsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<SectionManyWhereInput>;\n};\n\n\nexport type MutationPublishManySeosArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<SeoManyWhereInput>;\n};\n\n\nexport type MutationPublishManySeosConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<SeoManyWhereInput>;\n};\n\n\nexport type MutationPublishManyStacksArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<StackManyWhereInput>;\n};\n\n\nexport type MutationPublishManyStacksConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<StackManyWhereInput>;\n};\n\n\nexport type MutationPublishManyTimelinesArgs = {\n  to?: Array<Stage>;\n  where?: InputMaybe<TimelineManyWhereInput>;\n};\n\n\nexport type MutationPublishManyTimelinesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: InputMaybe<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  to?: Array<Stage>;\n  where?: InputMaybe<TimelineManyWhereInput>;\n};\n\n\nexport type MutationPublishPageArgs = {\n  to?: Array<Stage>;\n  where: PageWhereUniqueInput;\n};\n\n\nexport type MutationPublishProjectArgs = {\n  to?: Array<Stage>;\n  where: ProjectWhereUniqueInput;\n};\n\n\nexport type MutationPublishResourceArgs = {\n  to?: Array<Stage>;\n  where: ResourceWhereUniqueInput;\n};\n\n\nexport type MutationPublishSectionArgs = {\n  to?: Array<Stage>;\n  where: SectionWhereUniqueInput;\n};\n\n\nexport type MutationPublishSeoArgs = {\n  to?: Array<Stage>;\n  where: SeoWhereUniqueInput;\n};\n\n\nexport type MutationPublishStackArgs = {\n  to?: Array<Stage>;\n  where: StackWhereUniqueInput;\n};\n\n\nexport type MutationPublishTimelineArgs = {\n  to?: Array<Stage>;\n  where: TimelineWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishAboutMePageArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: AboutMePageWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishAchievementArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: AchievementWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishAssetArgs = {\n  locales?: InputMaybe<Array<Locale>>;\n  publishBase?: InputMaybe<Scalars['Boolean']>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: AssetWhereUniqueInput;\n  withDefaultLocale?: InputMaybe<Scalars['Boolean']>;\n};\n\n\nexport type MutationSchedulePublishContentArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: ContentWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishImageArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: ImageWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishLearningJournalArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: LearningJournalWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishPageArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: PageWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishProjectArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: ProjectWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishResourceArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: ResourceWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishSectionArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: SectionWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishSeoArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: SeoWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishStackArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: StackWhereUniqueInput;\n};\n\n\nexport type MutationSchedulePublishTimelineArgs = {\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  to?: Array<Stage>;\n  where: TimelineWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishAboutMePageArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: AboutMePageWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishAchievementArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: AchievementWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishAssetArgs = {\n  from?: Array<Stage>;\n  locales?: InputMaybe<Array<Locale>>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  unpublishBase?: InputMaybe<Scalars['Boolean']>;\n  where: AssetWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishContentArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: ContentWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishImageArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: ImageWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishLearningJournalArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: LearningJournalWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishPageArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: PageWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishProjectArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: ProjectWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishResourceArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: ResourceWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishSectionArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: SectionWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishSeoArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: SeoWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishStackArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: StackWhereUniqueInput;\n};\n\n\nexport type MutationScheduleUnpublishTimelineArgs = {\n  from?: Array<Stage>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  releaseId?: InputMaybe<Scalars['String']>;\n  where: TimelineWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishAboutMePageArgs = {\n  from?: Array<Stage>;\n  where: AboutMePageWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishAchievementArgs = {\n  from?: Array<Stage>;\n  where: AchievementWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishAssetArgs = {\n  from?: Array<Stage>;\n  locales?: InputMaybe<Array<Locale>>;\n  unpublishBase?: InputMaybe<Scalars['Boolean']>;\n  where: AssetWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishContentArgs = {\n  from?: Array<Stage>;\n  where: ContentWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishImageArgs = {\n  from?: Array<Stage>;\n  where: ImageWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishLearningJournalArgs = {\n  from?: Array<Stage>;\n  where: LearningJournalWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishManyAboutMePagesArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<AboutMePageManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyAboutMePagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<AboutMePageManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyAchievementsArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<AchievementManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyAchievementsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<AchievementManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyAssetsArgs = {\n  from?: Array<Stage>;\n  locales?: InputMaybe<Array<Locale>>;\n  unpublishBase?: InputMaybe<Scalars['Boolean']>;\n  where?: InputMaybe<AssetManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyAssetsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  unpublishBase?: InputMaybe<Scalars['Boolean']>;\n  where?: InputMaybe<AssetManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyContentsArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<ContentManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyContentsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<ContentManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyImagesArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<ImageManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyImagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<ImageManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyLearningJournalsArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<LearningJournalManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyLearningJournalsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<LearningJournalManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyPagesArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<PageManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyPagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<PageManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyProjectsArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<ProjectManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyProjectsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<ProjectManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyResourcesArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<ResourceManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyResourcesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<ResourceManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManySectionsArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<SectionManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManySectionsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<SectionManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManySeosArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<SeoManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManySeosConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<SeoManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyStacksArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<StackManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyStacksConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<StackManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyTimelinesArgs = {\n  from?: Array<Stage>;\n  where?: InputMaybe<TimelineManyWhereInput>;\n};\n\n\nexport type MutationUnpublishManyTimelinesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  first?: InputMaybe<Scalars['Int']>;\n  from?: Array<Stage>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: InputMaybe<Stage>;\n  where?: InputMaybe<TimelineManyWhereInput>;\n};\n\n\nexport type MutationUnpublishPageArgs = {\n  from?: Array<Stage>;\n  where: PageWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishProjectArgs = {\n  from?: Array<Stage>;\n  where: ProjectWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishResourceArgs = {\n  from?: Array<Stage>;\n  where: ResourceWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishSectionArgs = {\n  from?: Array<Stage>;\n  where: SectionWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishSeoArgs = {\n  from?: Array<Stage>;\n  where: SeoWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishStackArgs = {\n  from?: Array<Stage>;\n  where: StackWhereUniqueInput;\n};\n\n\nexport type MutationUnpublishTimelineArgs = {\n  from?: Array<Stage>;\n  where: TimelineWhereUniqueInput;\n};\n\n\nexport type MutationUpdateAboutMePageArgs = {\n  data: AboutMePageUpdateInput;\n  where: AboutMePageWhereUniqueInput;\n};\n\n\nexport type MutationUpdateAchievementArgs = {\n  data: AchievementUpdateInput;\n  where: AchievementWhereUniqueInput;\n};\n\n\nexport type MutationUpdateAssetArgs = {\n  data: AssetUpdateInput;\n  where: AssetWhereUniqueInput;\n};\n\n\nexport type MutationUpdateContentArgs = {\n  data: ContentUpdateInput;\n  where: ContentWhereUniqueInput;\n};\n\n\nexport type MutationUpdateImageArgs = {\n  data: ImageUpdateInput;\n  where: ImageWhereUniqueInput;\n};\n\n\nexport type MutationUpdateLearningJournalArgs = {\n  data: LearningJournalUpdateInput;\n  where: LearningJournalWhereUniqueInput;\n};\n\n\nexport type MutationUpdateManyAboutMePagesArgs = {\n  data: AboutMePageUpdateManyInput;\n  where?: InputMaybe<AboutMePageManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyAboutMePagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: AboutMePageUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<AboutMePageManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyAchievementsArgs = {\n  data: AchievementUpdateManyInput;\n  where?: InputMaybe<AchievementManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyAchievementsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: AchievementUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<AchievementManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyAssetsArgs = {\n  data: AssetUpdateManyInput;\n  where?: InputMaybe<AssetManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyAssetsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: AssetUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<AssetManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyContentsArgs = {\n  data: ContentUpdateManyInput;\n  where?: InputMaybe<ContentManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyContentsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: ContentUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ContentManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyImagesArgs = {\n  data: ImageUpdateManyInput;\n  where?: InputMaybe<ImageManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyImagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: ImageUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ImageManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyLearningJournalsArgs = {\n  data: LearningJournalUpdateManyInput;\n  where?: InputMaybe<LearningJournalManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyLearningJournalsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: LearningJournalUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<LearningJournalManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyPagesArgs = {\n  data: PageUpdateManyInput;\n  where?: InputMaybe<PageManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyPagesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: PageUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<PageManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyProjectsArgs = {\n  data: ProjectUpdateManyInput;\n  where?: InputMaybe<ProjectManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyProjectsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: ProjectUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ProjectManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyResourcesArgs = {\n  data: ResourceUpdateManyInput;\n  where?: InputMaybe<ResourceManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyResourcesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: ResourceUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ResourceManyWhereInput>;\n};\n\n\nexport type MutationUpdateManySectionsArgs = {\n  data: SectionUpdateManyInput;\n  where?: InputMaybe<SectionManyWhereInput>;\n};\n\n\nexport type MutationUpdateManySectionsConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: SectionUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<SectionManyWhereInput>;\n};\n\n\nexport type MutationUpdateManySeosArgs = {\n  data: SeoUpdateManyInput;\n  where?: InputMaybe<SeoManyWhereInput>;\n};\n\n\nexport type MutationUpdateManySeosConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: SeoUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<SeoManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyStacksArgs = {\n  data: StackUpdateManyInput;\n  where?: InputMaybe<StackManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyStacksConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: StackUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<StackManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyTimelinesArgs = {\n  data: TimelineUpdateManyInput;\n  where?: InputMaybe<TimelineManyWhereInput>;\n};\n\n\nexport type MutationUpdateManyTimelinesConnectionArgs = {\n  after?: InputMaybe<Scalars['ID']>;\n  before?: InputMaybe<Scalars['ID']>;\n  data: TimelineUpdateManyInput;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<TimelineManyWhereInput>;\n};\n\n\nexport type MutationUpdatePageArgs = {\n  data: PageUpdateInput;\n  where: PageWhereUniqueInput;\n};\n\n\nexport type MutationUpdateProjectArgs = {\n  data: ProjectUpdateInput;\n  where: ProjectWhereUniqueInput;\n};\n\n\nexport type MutationUpdateResourceArgs = {\n  data: ResourceUpdateInput;\n  where: ResourceWhereUniqueInput;\n};\n\n\nexport type MutationUpdateScheduledReleaseArgs = {\n  data: ScheduledReleaseUpdateInput;\n  where: ScheduledReleaseWhereUniqueInput;\n};\n\n\nexport type MutationUpdateSectionArgs = {\n  data: SectionUpdateInput;\n  where: SectionWhereUniqueInput;\n};\n\n\nexport type MutationUpdateSeoArgs = {\n  data: SeoUpdateInput;\n  where: SeoWhereUniqueInput;\n};\n\n\nexport type MutationUpdateStackArgs = {\n  data: StackUpdateInput;\n  where: StackWhereUniqueInput;\n};\n\n\nexport type MutationUpdateTimelineArgs = {\n  data: TimelineUpdateInput;\n  where: TimelineWhereUniqueInput;\n};\n\n\nexport type MutationUpsertAboutMePageArgs = {\n  upsert: AboutMePageUpsertInput;\n  where: AboutMePageWhereUniqueInput;\n};\n\n\nexport type MutationUpsertAchievementArgs = {\n  upsert: AchievementUpsertInput;\n  where: AchievementWhereUniqueInput;\n};\n\n\nexport type MutationUpsertAssetArgs = {\n  upsert: AssetUpsertInput;\n  where: AssetWhereUniqueInput;\n};\n\n\nexport type MutationUpsertContentArgs = {\n  upsert: ContentUpsertInput;\n  where: ContentWhereUniqueInput;\n};\n\n\nexport type MutationUpsertImageArgs = {\n  upsert: ImageUpsertInput;\n  where: ImageWhereUniqueInput;\n};\n\n\nexport type MutationUpsertLearningJournalArgs = {\n  upsert: LearningJournalUpsertInput;\n  where: LearningJournalWhereUniqueInput;\n};\n\n\nexport type MutationUpsertPageArgs = {\n  upsert: PageUpsertInput;\n  where: PageWhereUniqueInput;\n};\n\n\nexport type MutationUpsertProjectArgs = {\n  upsert: ProjectUpsertInput;\n  where: ProjectWhereUniqueInput;\n};\n\n\nexport type MutationUpsertResourceArgs = {\n  upsert: ResourceUpsertInput;\n  where: ResourceWhereUniqueInput;\n};\n\n\nexport type MutationUpsertSectionArgs = {\n  upsert: SectionUpsertInput;\n  where: SectionWhereUniqueInput;\n};\n\n\nexport type MutationUpsertSeoArgs = {\n  upsert: SeoUpsertInput;\n  where: SeoWhereUniqueInput;\n};\n\n\nexport type MutationUpsertStackArgs = {\n  upsert: StackUpsertInput;\n  where: StackWhereUniqueInput;\n};\n\n\nexport type MutationUpsertTimelineArgs = {\n  upsert: TimelineUpsertInput;\n  where: TimelineWhereUniqueInput;\n};\n\n/** An object with an ID */\nexport type Node = {\n  /** The id of the object. */\n  id: Scalars['ID'];\n  /** The Stage of an object */\n  stage: Stage;\n};\n\nexport type Page = Entity & Node & {\n  __typename?: 'Page';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Get the document in other stages */\n  documentInStages: Array<Page>;\n  /** List of Page versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  seo?: Maybe<Seo>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\nexport type PageCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type PageDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type PageHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type PagePublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type PageScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type PageSeoArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type PageUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type PageConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: PageWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type PageConnection = {\n  __typename?: 'PageConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<PageEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type PageCreateInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  seo?: InputMaybe<SeoCreateOneInlineInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type PageCreateManyInlineInput = {\n  /** Connect multiple existing Page documents */\n  connect?: InputMaybe<Array<PageWhereUniqueInput>>;\n  /** Create and connect multiple existing Page documents */\n  create?: InputMaybe<Array<PageCreateInput>>;\n};\n\nexport type PageCreateOneInlineInput = {\n  /** Connect one existing Page document */\n  connect?: InputMaybe<PageWhereUniqueInput>;\n  /** Create and connect one Page document */\n  create?: InputMaybe<PageCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type PageEdge = {\n  __typename?: 'PageEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Page;\n};\n\n/** Information about pagination in a connection. */\nexport type PageInfo = {\n  __typename?: 'PageInfo';\n  /** When paginating forwards, the cursor to continue. */\n  endCursor?: Maybe<Scalars['String']>;\n  /** When paginating forwards, are there more items? */\n  hasNextPage: Scalars['Boolean'];\n  /** When paginating backwards, are there more items? */\n  hasPreviousPage: Scalars['Boolean'];\n  /** Number of items in the current page. */\n  pageSize?: Maybe<Scalars['Int']>;\n  /** When paginating backwards, the cursor to continue. */\n  startCursor?: Maybe<Scalars['String']>;\n};\n\n/** Identifies documents */\nexport type PageManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<PageWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<PageWhereStageInput>;\n  documentInStages_none?: InputMaybe<PageWhereStageInput>;\n  documentInStages_some?: InputMaybe<PageWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<PageWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<PageWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  seo?: InputMaybe<SeoWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum PageOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type PageUpdateInput = {\n  seo?: InputMaybe<SeoUpdateOneInlineInput>;\n};\n\nexport type PageUpdateManyInlineInput = {\n  /** Connect multiple existing Page documents */\n  connect?: InputMaybe<Array<PageConnectInput>>;\n  /** Create and connect multiple Page documents */\n  create?: InputMaybe<Array<PageCreateInput>>;\n  /** Delete multiple Page documents */\n  delete?: InputMaybe<Array<PageWhereUniqueInput>>;\n  /** Disconnect multiple Page documents */\n  disconnect?: InputMaybe<Array<PageWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Page documents */\n  set?: InputMaybe<Array<PageWhereUniqueInput>>;\n  /** Update multiple Page documents */\n  update?: InputMaybe<Array<PageUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Page documents */\n  upsert?: InputMaybe<Array<PageUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type PageUpdateManyInput = {\n  /** No fields in updateMany data input */\n  _?: InputMaybe<Scalars['String']>;\n};\n\nexport type PageUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: PageUpdateManyInput;\n  /** Document search */\n  where: PageWhereInput;\n};\n\nexport type PageUpdateOneInlineInput = {\n  /** Connect existing Page document */\n  connect?: InputMaybe<PageWhereUniqueInput>;\n  /** Create and connect one Page document */\n  create?: InputMaybe<PageCreateInput>;\n  /** Delete currently connected Page document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Page document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Page document */\n  update?: InputMaybe<PageUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Page document */\n  upsert?: InputMaybe<PageUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type PageUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: PageUpdateInput;\n  /** Unique document search */\n  where: PageWhereUniqueInput;\n};\n\nexport type PageUpsertInput = {\n  /** Create document if it didn't exist */\n  create: PageCreateInput;\n  /** Update document if it exists */\n  update: PageUpdateInput;\n};\n\nexport type PageUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: PageUpsertInput;\n  /** Unique document search */\n  where: PageWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type PageWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type PageWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<PageWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<PageWhereStageInput>;\n  documentInStages_none?: InputMaybe<PageWhereStageInput>;\n  documentInStages_some?: InputMaybe<PageWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<PageWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<PageWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  seo?: InputMaybe<SeoWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type PageWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<PageWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<PageWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<PageWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<PageWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Page record uniquely */\nexport type PageWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type Project = Entity & Node & {\n  __typename?: 'Project';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  description?: Maybe<Scalars['String']>;\n  /** Get the document in other stages */\n  documentInStages: Array<Project>;\n  githubUrl?: Maybe<Scalars['String']>;\n  /** List of Project versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  liveUrl?: Maybe<Scalars['String']>;\n  mainImage: Asset;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  stack?: Maybe<Stack>;\n  /** System stage field */\n  stage: Stage;\n  title: Scalars['String'];\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\nexport type ProjectCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ProjectDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type ProjectHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type ProjectMainImageArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ProjectPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ProjectScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type ProjectStackArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ProjectUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type ProjectConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: ProjectWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type ProjectConnection = {\n  __typename?: 'ProjectConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<ProjectEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type ProjectCreateInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  description?: InputMaybe<Scalars['String']>;\n  githubUrl?: InputMaybe<Scalars['String']>;\n  liveUrl?: InputMaybe<Scalars['String']>;\n  mainImage: AssetCreateOneInlineInput;\n  stack?: InputMaybe<StackCreateOneInlineInput>;\n  title: Scalars['String'];\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type ProjectCreateManyInlineInput = {\n  /** Connect multiple existing Project documents */\n  connect?: InputMaybe<Array<ProjectWhereUniqueInput>>;\n  /** Create and connect multiple existing Project documents */\n  create?: InputMaybe<Array<ProjectCreateInput>>;\n};\n\nexport type ProjectCreateOneInlineInput = {\n  /** Connect one existing Project document */\n  connect?: InputMaybe<ProjectWhereUniqueInput>;\n  /** Create and connect one Project document */\n  create?: InputMaybe<ProjectCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type ProjectEdge = {\n  __typename?: 'ProjectEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Project;\n};\n\n/** Identifies documents */\nexport type ProjectManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ProjectWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  description?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  description_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  description_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  description_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  description_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  description_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  description_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  description_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  description_starts_with?: InputMaybe<Scalars['String']>;\n  documentInStages_every?: InputMaybe<ProjectWhereStageInput>;\n  documentInStages_none?: InputMaybe<ProjectWhereStageInput>;\n  documentInStages_some?: InputMaybe<ProjectWhereStageInput>;\n  githubUrl?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  githubUrl_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  githubUrl_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  githubUrl_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  githubUrl_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  githubUrl_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  githubUrl_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  githubUrl_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  githubUrl_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  githubUrl_starts_with?: InputMaybe<Scalars['String']>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  liveUrl?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  liveUrl_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  liveUrl_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  liveUrl_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  liveUrl_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  liveUrl_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  liveUrl_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  liveUrl_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  liveUrl_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  liveUrl_starts_with?: InputMaybe<Scalars['String']>;\n  mainImage?: InputMaybe<AssetWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ProjectWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ProjectWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  stack?: InputMaybe<StackWhereInput>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum ProjectOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  DescriptionAsc = 'description_ASC',\n  DescriptionDesc = 'description_DESC',\n  GithubUrlAsc = 'githubUrl_ASC',\n  GithubUrlDesc = 'githubUrl_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  LiveUrlAsc = 'liveUrl_ASC',\n  LiveUrlDesc = 'liveUrl_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  TitleAsc = 'title_ASC',\n  TitleDesc = 'title_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type ProjectUpdateInput = {\n  description?: InputMaybe<Scalars['String']>;\n  githubUrl?: InputMaybe<Scalars['String']>;\n  liveUrl?: InputMaybe<Scalars['String']>;\n  mainImage?: InputMaybe<AssetUpdateOneInlineInput>;\n  stack?: InputMaybe<StackUpdateOneInlineInput>;\n  title?: InputMaybe<Scalars['String']>;\n};\n\nexport type ProjectUpdateManyInlineInput = {\n  /** Connect multiple existing Project documents */\n  connect?: InputMaybe<Array<ProjectConnectInput>>;\n  /** Create and connect multiple Project documents */\n  create?: InputMaybe<Array<ProjectCreateInput>>;\n  /** Delete multiple Project documents */\n  delete?: InputMaybe<Array<ProjectWhereUniqueInput>>;\n  /** Disconnect multiple Project documents */\n  disconnect?: InputMaybe<Array<ProjectWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Project documents */\n  set?: InputMaybe<Array<ProjectWhereUniqueInput>>;\n  /** Update multiple Project documents */\n  update?: InputMaybe<Array<ProjectUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Project documents */\n  upsert?: InputMaybe<Array<ProjectUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type ProjectUpdateManyInput = {\n  description?: InputMaybe<Scalars['String']>;\n  githubUrl?: InputMaybe<Scalars['String']>;\n  liveUrl?: InputMaybe<Scalars['String']>;\n  title?: InputMaybe<Scalars['String']>;\n};\n\nexport type ProjectUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: ProjectUpdateManyInput;\n  /** Document search */\n  where: ProjectWhereInput;\n};\n\nexport type ProjectUpdateOneInlineInput = {\n  /** Connect existing Project document */\n  connect?: InputMaybe<ProjectWhereUniqueInput>;\n  /** Create and connect one Project document */\n  create?: InputMaybe<ProjectCreateInput>;\n  /** Delete currently connected Project document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Project document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Project document */\n  update?: InputMaybe<ProjectUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Project document */\n  upsert?: InputMaybe<ProjectUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type ProjectUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: ProjectUpdateInput;\n  /** Unique document search */\n  where: ProjectWhereUniqueInput;\n};\n\nexport type ProjectUpsertInput = {\n  /** Create document if it didn't exist */\n  create: ProjectCreateInput;\n  /** Update document if it exists */\n  update: ProjectUpdateInput;\n};\n\nexport type ProjectUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: ProjectUpsertInput;\n  /** Unique document search */\n  where: ProjectWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type ProjectWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type ProjectWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ProjectWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  description?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  description_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  description_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  description_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  description_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  description_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  description_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  description_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  description_starts_with?: InputMaybe<Scalars['String']>;\n  documentInStages_every?: InputMaybe<ProjectWhereStageInput>;\n  documentInStages_none?: InputMaybe<ProjectWhereStageInput>;\n  documentInStages_some?: InputMaybe<ProjectWhereStageInput>;\n  githubUrl?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  githubUrl_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  githubUrl_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  githubUrl_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  githubUrl_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  githubUrl_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  githubUrl_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  githubUrl_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  githubUrl_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  githubUrl_starts_with?: InputMaybe<Scalars['String']>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  liveUrl?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  liveUrl_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  liveUrl_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  liveUrl_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  liveUrl_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  liveUrl_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  liveUrl_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  liveUrl_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  liveUrl_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  liveUrl_starts_with?: InputMaybe<Scalars['String']>;\n  mainImage?: InputMaybe<AssetWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ProjectWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ProjectWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  stack?: InputMaybe<StackWhereInput>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type ProjectWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ProjectWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<ProjectWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ProjectWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ProjectWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Project record uniquely */\nexport type ProjectWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type PublishLocaleInput = {\n  /** Locales to publish */\n  locale: Locale;\n  /** Stages to publish selected locales to */\n  stages: Array<Stage>;\n};\n\nexport type Query = {\n  __typename?: 'Query';\n  /** Retrieve a single aboutMePage */\n  aboutMePage?: Maybe<AboutMePage>;\n  /** Retrieve multiple aboutMePages */\n  aboutMePages: Array<AboutMePage>;\n  /** Retrieve multiple aboutMePages using the Relay connection interface */\n  aboutMePagesConnection: AboutMePageConnection;\n  /** Retrieve document version */\n  aboutMePageVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single achievement */\n  achievement?: Maybe<Achievement>;\n  /** Retrieve multiple achievements */\n  achievements: Array<Achievement>;\n  /** Retrieve multiple achievements using the Relay connection interface */\n  achievementsConnection: AchievementConnection;\n  /** Retrieve document version */\n  achievementVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single asset */\n  asset?: Maybe<Asset>;\n  /** Retrieve multiple assets */\n  assets: Array<Asset>;\n  /** Retrieve multiple assets using the Relay connection interface */\n  assetsConnection: AssetConnection;\n  /** Retrieve document version */\n  assetVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single content */\n  content?: Maybe<Content>;\n  /** Retrieve multiple contents */\n  contents: Array<Content>;\n  /** Retrieve multiple contents using the Relay connection interface */\n  contentsConnection: ContentConnection;\n  /** Retrieve document version */\n  contentVersion?: Maybe<DocumentVersion>;\n  /** Fetches an object given its ID */\n  entities?: Maybe<Array<Entity>>;\n  /** Retrieve a single image */\n  image?: Maybe<Image>;\n  /** Retrieve multiple images */\n  images: Array<Image>;\n  /** Retrieve multiple images using the Relay connection interface */\n  imagesConnection: ImageConnection;\n  /** Retrieve document version */\n  imageVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single learningJournal */\n  learningJournal?: Maybe<LearningJournal>;\n  /** Retrieve multiple learningJournals */\n  learningJournals: Array<LearningJournal>;\n  /** Retrieve multiple learningJournals using the Relay connection interface */\n  learningJournalsConnection: LearningJournalConnection;\n  /** Retrieve document version */\n  learningJournalVersion?: Maybe<DocumentVersion>;\n  /** Fetches an object given its ID */\n  node?: Maybe<Node>;\n  /** Retrieve a single page */\n  page?: Maybe<Page>;\n  /** Retrieve multiple pages */\n  pages: Array<Page>;\n  /** Retrieve multiple pages using the Relay connection interface */\n  pagesConnection: PageConnection;\n  /** Retrieve document version */\n  pageVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single project */\n  project?: Maybe<Project>;\n  /** Retrieve multiple projects */\n  projects: Array<Project>;\n  /** Retrieve multiple projects using the Relay connection interface */\n  projectsConnection: ProjectConnection;\n  /** Retrieve document version */\n  projectVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single resource */\n  resource?: Maybe<Resource>;\n  /** Retrieve multiple resources */\n  resources: Array<Resource>;\n  /** Retrieve multiple resources using the Relay connection interface */\n  resourcesConnection: ResourceConnection;\n  /** Retrieve document version */\n  resourceVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single scheduledOperation */\n  scheduledOperation?: Maybe<ScheduledOperation>;\n  /** Retrieve multiple scheduledOperations */\n  scheduledOperations: Array<ScheduledOperation>;\n  /** Retrieve multiple scheduledOperations using the Relay connection interface */\n  scheduledOperationsConnection: ScheduledOperationConnection;\n  /** Retrieve a single scheduledRelease */\n  scheduledRelease?: Maybe<ScheduledRelease>;\n  /** Retrieve multiple scheduledReleases */\n  scheduledReleases: Array<ScheduledRelease>;\n  /** Retrieve multiple scheduledReleases using the Relay connection interface */\n  scheduledReleasesConnection: ScheduledReleaseConnection;\n  /** Retrieve a single section */\n  section?: Maybe<Section>;\n  /** Retrieve multiple sections */\n  sections: Array<Section>;\n  /** Retrieve multiple sections using the Relay connection interface */\n  sectionsConnection: SectionConnection;\n  /** Retrieve document version */\n  sectionVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single seo */\n  seo?: Maybe<Seo>;\n  /** Retrieve multiple seos */\n  seos: Array<Seo>;\n  /** Retrieve multiple seos using the Relay connection interface */\n  seosConnection: SeoConnection;\n  /** Retrieve document version */\n  seoVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single stack */\n  stack?: Maybe<Stack>;\n  /** Retrieve multiple stacks */\n  stacks: Array<Stack>;\n  /** Retrieve multiple stacks using the Relay connection interface */\n  stacksConnection: StackConnection;\n  /** Retrieve document version */\n  stackVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single timeline */\n  timeline?: Maybe<Timeline>;\n  /** Retrieve multiple timelines */\n  timelines: Array<Timeline>;\n  /** Retrieve multiple timelines using the Relay connection interface */\n  timelinesConnection: TimelineConnection;\n  /** Retrieve document version */\n  timelineVersion?: Maybe<DocumentVersion>;\n  /** Retrieve a single user */\n  user?: Maybe<User>;\n  /** Retrieve multiple users */\n  users: Array<User>;\n  /** Retrieve multiple users using the Relay connection interface */\n  usersConnection: UserConnection;\n};\n\n\nexport type QueryAboutMePageArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: AboutMePageWhereUniqueInput;\n};\n\n\nexport type QueryAboutMePagesArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<AboutMePageOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<AboutMePageWhereInput>;\n};\n\n\nexport type QueryAboutMePagesConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<AboutMePageOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<AboutMePageWhereInput>;\n};\n\n\nexport type QueryAboutMePageVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryAchievementArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: AchievementWhereUniqueInput;\n};\n\n\nexport type QueryAchievementsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<AchievementOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<AchievementWhereInput>;\n};\n\n\nexport type QueryAchievementsConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<AchievementOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<AchievementWhereInput>;\n};\n\n\nexport type QueryAchievementVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryAssetArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: AssetWhereUniqueInput;\n};\n\n\nexport type QueryAssetsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<AssetOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<AssetWhereInput>;\n};\n\n\nexport type QueryAssetsConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<AssetOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<AssetWhereInput>;\n};\n\n\nexport type QueryAssetVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryContentArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: ContentWhereUniqueInput;\n};\n\n\nexport type QueryContentsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ContentOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ContentWhereInput>;\n};\n\n\nexport type QueryContentsConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ContentOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ContentWhereInput>;\n};\n\n\nexport type QueryContentVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryEntitiesArgs = {\n  where: Array<EntityWhereInput>;\n};\n\n\nexport type QueryImageArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: ImageWhereUniqueInput;\n};\n\n\nexport type QueryImagesArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ImageOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ImageWhereInput>;\n};\n\n\nexport type QueryImagesConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ImageOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ImageWhereInput>;\n};\n\n\nexport type QueryImageVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryLearningJournalArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: LearningJournalWhereUniqueInput;\n};\n\n\nexport type QueryLearningJournalsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<LearningJournalOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<LearningJournalWhereInput>;\n};\n\n\nexport type QueryLearningJournalsConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<LearningJournalOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<LearningJournalWhereInput>;\n};\n\n\nexport type QueryLearningJournalVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryNodeArgs = {\n  id: Scalars['ID'];\n  locales?: Array<Locale>;\n  stage?: Stage;\n};\n\n\nexport type QueryPageArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: PageWhereUniqueInput;\n};\n\n\nexport type QueryPagesArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<PageOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<PageWhereInput>;\n};\n\n\nexport type QueryPagesConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<PageOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<PageWhereInput>;\n};\n\n\nexport type QueryPageVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryProjectArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: ProjectWhereUniqueInput;\n};\n\n\nexport type QueryProjectsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ProjectOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ProjectWhereInput>;\n};\n\n\nexport type QueryProjectsConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ProjectOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ProjectWhereInput>;\n};\n\n\nexport type QueryProjectVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryResourceArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: ResourceWhereUniqueInput;\n};\n\n\nexport type QueryResourcesArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ResourceOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ResourceWhereInput>;\n};\n\n\nexport type QueryResourcesConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ResourceOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ResourceWhereInput>;\n};\n\n\nexport type QueryResourceVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryScheduledOperationArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: ScheduledOperationWhereUniqueInput;\n};\n\n\nexport type QueryScheduledOperationsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ScheduledOperationOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type QueryScheduledOperationsConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ScheduledOperationOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type QueryScheduledReleaseArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: ScheduledReleaseWhereUniqueInput;\n};\n\n\nexport type QueryScheduledReleasesArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ScheduledReleaseOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ScheduledReleaseWhereInput>;\n};\n\n\nexport type QueryScheduledReleasesConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<ScheduledReleaseOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<ScheduledReleaseWhereInput>;\n};\n\n\nexport type QuerySectionArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: SectionWhereUniqueInput;\n};\n\n\nexport type QuerySectionsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<SectionOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<SectionWhereInput>;\n};\n\n\nexport type QuerySectionsConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<SectionOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<SectionWhereInput>;\n};\n\n\nexport type QuerySectionVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QuerySeoArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: SeoWhereUniqueInput;\n};\n\n\nexport type QuerySeosArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<SeoOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<SeoWhereInput>;\n};\n\n\nexport type QuerySeosConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<SeoOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<SeoWhereInput>;\n};\n\n\nexport type QuerySeoVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryStackArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: StackWhereUniqueInput;\n};\n\n\nexport type QueryStacksArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<StackOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<StackWhereInput>;\n};\n\n\nexport type QueryStacksConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<StackOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<StackWhereInput>;\n};\n\n\nexport type QueryStackVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryTimelineArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: TimelineWhereUniqueInput;\n};\n\n\nexport type QueryTimelinesArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<TimelineOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<TimelineWhereInput>;\n};\n\n\nexport type QueryTimelinesConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<TimelineOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<TimelineWhereInput>;\n};\n\n\nexport type QueryTimelineVersionArgs = {\n  where: VersionWhereInput;\n};\n\n\nexport type QueryUserArgs = {\n  locales?: Array<Locale>;\n  stage?: Stage;\n  where: UserWhereUniqueInput;\n};\n\n\nexport type QueryUsersArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<UserOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<UserWhereInput>;\n};\n\n\nexport type QueryUsersConnectionArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: Array<Locale>;\n  orderBy?: InputMaybe<UserOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  stage?: Stage;\n  where?: InputMaybe<UserWhereInput>;\n};\n\nexport type Resource = Entity & Node & {\n  __typename?: 'Resource';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Get the document in other stages */\n  documentInStages: Array<Resource>;\n  /** List of Resource versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  label: Scalars['String'];\n  learningJournal?: Maybe<LearningJournal>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n  url: Scalars['String'];\n};\n\n\nexport type ResourceCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ResourceDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type ResourceHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type ResourceLearningJournalArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ResourcePublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type ResourceScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type ResourceUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type ResourceConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: ResourceWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type ResourceConnection = {\n  __typename?: 'ResourceConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<ResourceEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type ResourceCreateInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  label: Scalars['String'];\n  learningJournal?: InputMaybe<LearningJournalCreateOneInlineInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  url: Scalars['String'];\n};\n\nexport type ResourceCreateManyInlineInput = {\n  /** Connect multiple existing Resource documents */\n  connect?: InputMaybe<Array<ResourceWhereUniqueInput>>;\n  /** Create and connect multiple existing Resource documents */\n  create?: InputMaybe<Array<ResourceCreateInput>>;\n};\n\nexport type ResourceCreateOneInlineInput = {\n  /** Connect one existing Resource document */\n  connect?: InputMaybe<ResourceWhereUniqueInput>;\n  /** Create and connect one Resource document */\n  create?: InputMaybe<ResourceCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type ResourceEdge = {\n  __typename?: 'ResourceEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Resource;\n};\n\n/** Identifies documents */\nexport type ResourceManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ResourceWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<ResourceWhereStageInput>;\n  documentInStages_none?: InputMaybe<ResourceWhereStageInput>;\n  documentInStages_some?: InputMaybe<ResourceWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  label?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  label_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  label_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  label_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  label_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  label_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  label_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  label_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  label_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  label_starts_with?: InputMaybe<Scalars['String']>;\n  learningJournal?: InputMaybe<LearningJournalWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ResourceWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ResourceWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  url?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  url_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  url_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  url_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  url_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  url_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  url_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  url_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  url_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  url_starts_with?: InputMaybe<Scalars['String']>;\n};\n\nexport enum ResourceOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  LabelAsc = 'label_ASC',\n  LabelDesc = 'label_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC',\n  UrlAsc = 'url_ASC',\n  UrlDesc = 'url_DESC'\n}\n\nexport type ResourceUpdateInput = {\n  label?: InputMaybe<Scalars['String']>;\n  learningJournal?: InputMaybe<LearningJournalUpdateOneInlineInput>;\n  url?: InputMaybe<Scalars['String']>;\n};\n\nexport type ResourceUpdateManyInlineInput = {\n  /** Connect multiple existing Resource documents */\n  connect?: InputMaybe<Array<ResourceConnectInput>>;\n  /** Create and connect multiple Resource documents */\n  create?: InputMaybe<Array<ResourceCreateInput>>;\n  /** Delete multiple Resource documents */\n  delete?: InputMaybe<Array<ResourceWhereUniqueInput>>;\n  /** Disconnect multiple Resource documents */\n  disconnect?: InputMaybe<Array<ResourceWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Resource documents */\n  set?: InputMaybe<Array<ResourceWhereUniqueInput>>;\n  /** Update multiple Resource documents */\n  update?: InputMaybe<Array<ResourceUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Resource documents */\n  upsert?: InputMaybe<Array<ResourceUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type ResourceUpdateManyInput = {\n  label?: InputMaybe<Scalars['String']>;\n  url?: InputMaybe<Scalars['String']>;\n};\n\nexport type ResourceUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: ResourceUpdateManyInput;\n  /** Document search */\n  where: ResourceWhereInput;\n};\n\nexport type ResourceUpdateOneInlineInput = {\n  /** Connect existing Resource document */\n  connect?: InputMaybe<ResourceWhereUniqueInput>;\n  /** Create and connect one Resource document */\n  create?: InputMaybe<ResourceCreateInput>;\n  /** Delete currently connected Resource document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Resource document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Resource document */\n  update?: InputMaybe<ResourceUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Resource document */\n  upsert?: InputMaybe<ResourceUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type ResourceUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: ResourceUpdateInput;\n  /** Unique document search */\n  where: ResourceWhereUniqueInput;\n};\n\nexport type ResourceUpsertInput = {\n  /** Create document if it didn't exist */\n  create: ResourceCreateInput;\n  /** Update document if it exists */\n  update: ResourceUpdateInput;\n};\n\nexport type ResourceUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: ResourceUpsertInput;\n  /** Unique document search */\n  where: ResourceWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type ResourceWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type ResourceWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ResourceWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<ResourceWhereStageInput>;\n  documentInStages_none?: InputMaybe<ResourceWhereStageInput>;\n  documentInStages_some?: InputMaybe<ResourceWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  label?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  label_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  label_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  label_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  label_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  label_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  label_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  label_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  label_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  label_starts_with?: InputMaybe<Scalars['String']>;\n  learningJournal?: InputMaybe<LearningJournalWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ResourceWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ResourceWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  url?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  url_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  url_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  url_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  url_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  url_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  url_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  url_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  url_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  url_starts_with?: InputMaybe<Scalars['String']>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type ResourceWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ResourceWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<ResourceWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ResourceWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ResourceWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Resource record uniquely */\nexport type ResourceWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\n/** Representing a RGBA color value: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#rgb()_and_rgba() */\nexport type Rgba = {\n  __typename?: 'RGBA';\n  a: Scalars['RGBATransparency'];\n  b: Scalars['RGBAHue'];\n  g: Scalars['RGBAHue'];\n  r: Scalars['RGBAHue'];\n};\n\n/** Input type representing a RGBA color value: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#rgb()_and_rgba() */\nexport type RgbaInput = {\n  a: Scalars['RGBATransparency'];\n  b: Scalars['RGBAHue'];\n  g: Scalars['RGBAHue'];\n  r: Scalars['RGBAHue'];\n};\n\n/** Custom type representing a rich text value comprising of raw rich text ast, html, markdown and text values */\nexport type RichText = {\n  __typename?: 'RichText';\n  /** Returns HTMl representation */\n  html: Scalars['String'];\n  /** Returns Markdown representation */\n  markdown: Scalars['String'];\n  /** Returns AST representation */\n  raw: Scalars['RichTextAST'];\n  /** Returns plain-text contents of RichText */\n  text: Scalars['String'];\n};\n\n/** Scheduled Operation system model */\nexport type ScheduledOperation = Entity & Node & {\n  __typename?: 'ScheduledOperation';\n  affectedDocuments: Array<ScheduledOperationAffectedDocument>;\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Operation description */\n  description?: Maybe<Scalars['String']>;\n  /** Get the document in other stages */\n  documentInStages: Array<ScheduledOperation>;\n  /** Operation error message */\n  errorMessage?: Maybe<Scalars['String']>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  /** Raw operation payload including all details, this field is subject to change */\n  rawPayload: Scalars['Json'];\n  /** The release this operation is scheduled for */\n  release?: Maybe<ScheduledRelease>;\n  /** System stage field */\n  stage: Stage;\n  /** operation Status */\n  status: ScheduledOperationStatus;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\n/** Scheduled Operation system model */\nexport type ScheduledOperationAffectedDocumentsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n};\n\n\n/** Scheduled Operation system model */\nexport type ScheduledOperationCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Scheduled Operation system model */\nexport type ScheduledOperationDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\n/** Scheduled Operation system model */\nexport type ScheduledOperationPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Scheduled Operation system model */\nexport type ScheduledOperationReleaseArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Scheduled Operation system model */\nexport type ScheduledOperationUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type ScheduledOperationAffectedDocument = AboutMePage | Achievement | Asset | Content | Image | LearningJournal | Page | Project | Resource | Section | Seo | Stack | Timeline;\n\nexport type ScheduledOperationConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: ScheduledOperationWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type ScheduledOperationConnection = {\n  __typename?: 'ScheduledOperationConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<ScheduledOperationEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type ScheduledOperationCreateManyInlineInput = {\n  /** Connect multiple existing ScheduledOperation documents */\n  connect?: InputMaybe<Array<ScheduledOperationWhereUniqueInput>>;\n};\n\nexport type ScheduledOperationCreateOneInlineInput = {\n  /** Connect one existing ScheduledOperation document */\n  connect?: InputMaybe<ScheduledOperationWhereUniqueInput>;\n};\n\n/** An edge in a connection. */\nexport type ScheduledOperationEdge = {\n  __typename?: 'ScheduledOperationEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: ScheduledOperation;\n};\n\n/** Identifies documents */\nexport type ScheduledOperationManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ScheduledOperationWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  description?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  description_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  description_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  description_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  description_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  description_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  description_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  description_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  description_starts_with?: InputMaybe<Scalars['String']>;\n  errorMessage?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  errorMessage_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  errorMessage_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  errorMessage_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  errorMessage_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  errorMessage_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  errorMessage_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  errorMessage_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  errorMessage_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  errorMessage_starts_with?: InputMaybe<Scalars['String']>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ScheduledOperationWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ScheduledOperationWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  /** All values containing the given json path. */\n  rawPayload_json_path_exists?: InputMaybe<Scalars['String']>;\n  /**\n   * Recursively tries to find the provided JSON scalar value inside the field.\n   * It does use an exact match when comparing values.\n   * If you pass `null` as value the filter will be ignored.\n   * Note: This filter fails if you try to look for a non scalar JSON value!\n   */\n  rawPayload_value_recursive?: InputMaybe<Scalars['Json']>;\n  release?: InputMaybe<ScheduledReleaseWhereInput>;\n  status?: InputMaybe<ScheduledOperationStatus>;\n  /** All values that are contained in given list. */\n  status_in?: InputMaybe<Array<InputMaybe<ScheduledOperationStatus>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  status_not?: InputMaybe<ScheduledOperationStatus>;\n  /** All values that are not contained in given list. */\n  status_not_in?: InputMaybe<Array<InputMaybe<ScheduledOperationStatus>>>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum ScheduledOperationOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  DescriptionAsc = 'description_ASC',\n  DescriptionDesc = 'description_DESC',\n  ErrorMessageAsc = 'errorMessage_ASC',\n  ErrorMessageDesc = 'errorMessage_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  StatusAsc = 'status_ASC',\n  StatusDesc = 'status_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\n/** System Scheduled Operation Status */\nexport enum ScheduledOperationStatus {\n  Canceled = 'CANCELED',\n  Completed = 'COMPLETED',\n  Failed = 'FAILED',\n  InProgress = 'IN_PROGRESS',\n  Pending = 'PENDING'\n}\n\nexport type ScheduledOperationUpdateManyInlineInput = {\n  /** Connect multiple existing ScheduledOperation documents */\n  connect?: InputMaybe<Array<ScheduledOperationConnectInput>>;\n  /** Disconnect multiple ScheduledOperation documents */\n  disconnect?: InputMaybe<Array<ScheduledOperationWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing ScheduledOperation documents */\n  set?: InputMaybe<Array<ScheduledOperationWhereUniqueInput>>;\n};\n\nexport type ScheduledOperationUpdateOneInlineInput = {\n  /** Connect existing ScheduledOperation document */\n  connect?: InputMaybe<ScheduledOperationWhereUniqueInput>;\n  /** Disconnect currently connected ScheduledOperation document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type ScheduledOperationWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ScheduledOperationWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  description?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  description_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  description_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  description_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  description_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  description_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  description_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  description_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  description_starts_with?: InputMaybe<Scalars['String']>;\n  errorMessage?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  errorMessage_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  errorMessage_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  errorMessage_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  errorMessage_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  errorMessage_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  errorMessage_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  errorMessage_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  errorMessage_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  errorMessage_starts_with?: InputMaybe<Scalars['String']>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ScheduledOperationWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ScheduledOperationWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  /** All values containing the given json path. */\n  rawPayload_json_path_exists?: InputMaybe<Scalars['String']>;\n  /**\n   * Recursively tries to find the provided JSON scalar value inside the field.\n   * It does use an exact match when comparing values.\n   * If you pass `null` as value the filter will be ignored.\n   * Note: This filter fails if you try to look for a non scalar JSON value!\n   */\n  rawPayload_value_recursive?: InputMaybe<Scalars['Json']>;\n  release?: InputMaybe<ScheduledReleaseWhereInput>;\n  status?: InputMaybe<ScheduledOperationStatus>;\n  /** All values that are contained in given list. */\n  status_in?: InputMaybe<Array<InputMaybe<ScheduledOperationStatus>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  status_not?: InputMaybe<ScheduledOperationStatus>;\n  /** All values that are not contained in given list. */\n  status_not_in?: InputMaybe<Array<InputMaybe<ScheduledOperationStatus>>>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** References ScheduledOperation record uniquely */\nexport type ScheduledOperationWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\n/** Scheduled Release system model */\nexport type ScheduledRelease = Entity & Node & {\n  __typename?: 'ScheduledRelease';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Release description */\n  description?: Maybe<Scalars['String']>;\n  /** Get the document in other stages */\n  documentInStages: Array<ScheduledRelease>;\n  /** Release error message */\n  errorMessage?: Maybe<Scalars['String']>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** Whether scheduled release should be run */\n  isActive: Scalars['Boolean'];\n  /** Whether scheduled release is implicit */\n  isImplicit: Scalars['Boolean'];\n  /** Operations to run with this release */\n  operations: Array<ScheduledOperation>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  /** Release date and time */\n  releaseAt?: Maybe<Scalars['DateTime']>;\n  /** System stage field */\n  stage: Stage;\n  /** Release Status */\n  status: ScheduledReleaseStatus;\n  /** Release Title */\n  title?: Maybe<Scalars['String']>;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\n/** Scheduled Release system model */\nexport type ScheduledReleaseCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Scheduled Release system model */\nexport type ScheduledReleaseDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\n/** Scheduled Release system model */\nexport type ScheduledReleaseOperationsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<ScheduledOperationOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\n/** Scheduled Release system model */\nexport type ScheduledReleasePublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Scheduled Release system model */\nexport type ScheduledReleaseUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type ScheduledReleaseConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: ScheduledReleaseWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type ScheduledReleaseConnection = {\n  __typename?: 'ScheduledReleaseConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<ScheduledReleaseEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type ScheduledReleaseCreateInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  description?: InputMaybe<Scalars['String']>;\n  errorMessage?: InputMaybe<Scalars['String']>;\n  isActive?: InputMaybe<Scalars['Boolean']>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  title?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type ScheduledReleaseCreateManyInlineInput = {\n  /** Connect multiple existing ScheduledRelease documents */\n  connect?: InputMaybe<Array<ScheduledReleaseWhereUniqueInput>>;\n  /** Create and connect multiple existing ScheduledRelease documents */\n  create?: InputMaybe<Array<ScheduledReleaseCreateInput>>;\n};\n\nexport type ScheduledReleaseCreateOneInlineInput = {\n  /** Connect one existing ScheduledRelease document */\n  connect?: InputMaybe<ScheduledReleaseWhereUniqueInput>;\n  /** Create and connect one ScheduledRelease document */\n  create?: InputMaybe<ScheduledReleaseCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type ScheduledReleaseEdge = {\n  __typename?: 'ScheduledReleaseEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: ScheduledRelease;\n};\n\n/** Identifies documents */\nexport type ScheduledReleaseManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ScheduledReleaseWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  description?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  description_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  description_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  description_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  description_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  description_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  description_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  description_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  description_starts_with?: InputMaybe<Scalars['String']>;\n  errorMessage?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  errorMessage_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  errorMessage_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  errorMessage_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  errorMessage_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  errorMessage_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  errorMessage_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  errorMessage_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  errorMessage_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  errorMessage_starts_with?: InputMaybe<Scalars['String']>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  isActive?: InputMaybe<Scalars['Boolean']>;\n  /** Any other value that exists and is not equal to the given value. */\n  isActive_not?: InputMaybe<Scalars['Boolean']>;\n  isImplicit?: InputMaybe<Scalars['Boolean']>;\n  /** Any other value that exists and is not equal to the given value. */\n  isImplicit_not?: InputMaybe<Scalars['Boolean']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ScheduledReleaseWhereInput>>;\n  operations_every?: InputMaybe<ScheduledOperationWhereInput>;\n  operations_none?: InputMaybe<ScheduledOperationWhereInput>;\n  operations_some?: InputMaybe<ScheduledOperationWhereInput>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ScheduledReleaseWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  releaseAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  releaseAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  releaseAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  releaseAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  releaseAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  releaseAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  releaseAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  status?: InputMaybe<ScheduledReleaseStatus>;\n  /** All values that are contained in given list. */\n  status_in?: InputMaybe<Array<InputMaybe<ScheduledReleaseStatus>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  status_not?: InputMaybe<ScheduledReleaseStatus>;\n  /** All values that are not contained in given list. */\n  status_not_in?: InputMaybe<Array<InputMaybe<ScheduledReleaseStatus>>>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum ScheduledReleaseOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  DescriptionAsc = 'description_ASC',\n  DescriptionDesc = 'description_DESC',\n  ErrorMessageAsc = 'errorMessage_ASC',\n  ErrorMessageDesc = 'errorMessage_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  IsActiveAsc = 'isActive_ASC',\n  IsActiveDesc = 'isActive_DESC',\n  IsImplicitAsc = 'isImplicit_ASC',\n  IsImplicitDesc = 'isImplicit_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  ReleaseAtAsc = 'releaseAt_ASC',\n  ReleaseAtDesc = 'releaseAt_DESC',\n  StatusAsc = 'status_ASC',\n  StatusDesc = 'status_DESC',\n  TitleAsc = 'title_ASC',\n  TitleDesc = 'title_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\n/** System Scheduled Release Status */\nexport enum ScheduledReleaseStatus {\n  Completed = 'COMPLETED',\n  Failed = 'FAILED',\n  InProgress = 'IN_PROGRESS',\n  Pending = 'PENDING'\n}\n\nexport type ScheduledReleaseUpdateInput = {\n  description?: InputMaybe<Scalars['String']>;\n  errorMessage?: InputMaybe<Scalars['String']>;\n  isActive?: InputMaybe<Scalars['Boolean']>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  title?: InputMaybe<Scalars['String']>;\n};\n\nexport type ScheduledReleaseUpdateManyInlineInput = {\n  /** Connect multiple existing ScheduledRelease documents */\n  connect?: InputMaybe<Array<ScheduledReleaseConnectInput>>;\n  /** Create and connect multiple ScheduledRelease documents */\n  create?: InputMaybe<Array<ScheduledReleaseCreateInput>>;\n  /** Delete multiple ScheduledRelease documents */\n  delete?: InputMaybe<Array<ScheduledReleaseWhereUniqueInput>>;\n  /** Disconnect multiple ScheduledRelease documents */\n  disconnect?: InputMaybe<Array<ScheduledReleaseWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing ScheduledRelease documents */\n  set?: InputMaybe<Array<ScheduledReleaseWhereUniqueInput>>;\n  /** Update multiple ScheduledRelease documents */\n  update?: InputMaybe<Array<ScheduledReleaseUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple ScheduledRelease documents */\n  upsert?: InputMaybe<Array<ScheduledReleaseUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type ScheduledReleaseUpdateManyInput = {\n  description?: InputMaybe<Scalars['String']>;\n  errorMessage?: InputMaybe<Scalars['String']>;\n  isActive?: InputMaybe<Scalars['Boolean']>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  title?: InputMaybe<Scalars['String']>;\n};\n\nexport type ScheduledReleaseUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: ScheduledReleaseUpdateManyInput;\n  /** Document search */\n  where: ScheduledReleaseWhereInput;\n};\n\nexport type ScheduledReleaseUpdateOneInlineInput = {\n  /** Connect existing ScheduledRelease document */\n  connect?: InputMaybe<ScheduledReleaseWhereUniqueInput>;\n  /** Create and connect one ScheduledRelease document */\n  create?: InputMaybe<ScheduledReleaseCreateInput>;\n  /** Delete currently connected ScheduledRelease document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected ScheduledRelease document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single ScheduledRelease document */\n  update?: InputMaybe<ScheduledReleaseUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single ScheduledRelease document */\n  upsert?: InputMaybe<ScheduledReleaseUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type ScheduledReleaseUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: ScheduledReleaseUpdateInput;\n  /** Unique document search */\n  where: ScheduledReleaseWhereUniqueInput;\n};\n\nexport type ScheduledReleaseUpsertInput = {\n  /** Create document if it didn't exist */\n  create: ScheduledReleaseCreateInput;\n  /** Update document if it exists */\n  update: ScheduledReleaseUpdateInput;\n};\n\nexport type ScheduledReleaseUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: ScheduledReleaseUpsertInput;\n  /** Unique document search */\n  where: ScheduledReleaseWhereUniqueInput;\n};\n\n/** Identifies documents */\nexport type ScheduledReleaseWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<ScheduledReleaseWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  description?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  description_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  description_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  description_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  description_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  description_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  description_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  description_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  description_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  description_starts_with?: InputMaybe<Scalars['String']>;\n  errorMessage?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  errorMessage_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  errorMessage_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  errorMessage_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  errorMessage_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  errorMessage_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  errorMessage_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  errorMessage_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  errorMessage_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  errorMessage_starts_with?: InputMaybe<Scalars['String']>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  isActive?: InputMaybe<Scalars['Boolean']>;\n  /** Any other value that exists and is not equal to the given value. */\n  isActive_not?: InputMaybe<Scalars['Boolean']>;\n  isImplicit?: InputMaybe<Scalars['Boolean']>;\n  /** Any other value that exists and is not equal to the given value. */\n  isImplicit_not?: InputMaybe<Scalars['Boolean']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<ScheduledReleaseWhereInput>>;\n  operations_every?: InputMaybe<ScheduledOperationWhereInput>;\n  operations_none?: InputMaybe<ScheduledOperationWhereInput>;\n  operations_some?: InputMaybe<ScheduledOperationWhereInput>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<ScheduledReleaseWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  releaseAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  releaseAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  releaseAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  releaseAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  releaseAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  releaseAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  releaseAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  releaseAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  status?: InputMaybe<ScheduledReleaseStatus>;\n  /** All values that are contained in given list. */\n  status_in?: InputMaybe<Array<InputMaybe<ScheduledReleaseStatus>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  status_not?: InputMaybe<ScheduledReleaseStatus>;\n  /** All values that are not contained in given list. */\n  status_not_in?: InputMaybe<Array<InputMaybe<ScheduledReleaseStatus>>>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** References ScheduledRelease record uniquely */\nexport type ScheduledReleaseWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\n/** Sections of a page  */\nexport type Section = Entity & Node & {\n  __typename?: 'Section';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** The description of a section */\n  description?: Maybe<RichText>;\n  /** Get the document in other stages */\n  documentInStages: Array<Section>;\n  /** List of Section versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** The images to be included within a section */\n  images: Array<Image>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  /** The title of a section */\n  title: Scalars['String'];\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\n/** Sections of a page  */\nexport type SectionCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Sections of a page  */\nexport type SectionDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\n/** Sections of a page  */\nexport type SectionHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\n/** Sections of a page  */\nexport type SectionImagesArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<ImageOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ImageWhereInput>;\n};\n\n\n/** Sections of a page  */\nexport type SectionPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\n/** Sections of a page  */\nexport type SectionScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\n/** Sections of a page  */\nexport type SectionUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type SectionConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: SectionWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type SectionConnection = {\n  __typename?: 'SectionConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<SectionEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type SectionCreateInput = {\n  cl04ahm310tyy01xehaz3azcm?: InputMaybe<AboutMePageCreateManyInlineInput>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  description?: InputMaybe<Scalars['RichTextAST']>;\n  images?: InputMaybe<ImageCreateManyInlineInput>;\n  title: Scalars['String'];\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type SectionCreateManyInlineInput = {\n  /** Connect multiple existing Section documents */\n  connect?: InputMaybe<Array<SectionWhereUniqueInput>>;\n  /** Create and connect multiple existing Section documents */\n  create?: InputMaybe<Array<SectionCreateInput>>;\n};\n\nexport type SectionCreateOneInlineInput = {\n  /** Connect one existing Section document */\n  connect?: InputMaybe<SectionWhereUniqueInput>;\n  /** Create and connect one Section document */\n  create?: InputMaybe<SectionCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type SectionEdge = {\n  __typename?: 'SectionEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Section;\n};\n\n/** Identifies documents */\nexport type SectionManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<SectionWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<SectionWhereStageInput>;\n  documentInStages_none?: InputMaybe<SectionWhereStageInput>;\n  documentInStages_some?: InputMaybe<SectionWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  images_every?: InputMaybe<ImageWhereInput>;\n  images_none?: InputMaybe<ImageWhereInput>;\n  images_some?: InputMaybe<ImageWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<SectionWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<SectionWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum SectionOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  TitleAsc = 'title_ASC',\n  TitleDesc = 'title_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type SectionUpdateInput = {\n  cl04ahm310tyy01xehaz3azcm?: InputMaybe<AboutMePageUpdateManyInlineInput>;\n  description?: InputMaybe<Scalars['RichTextAST']>;\n  images?: InputMaybe<ImageUpdateManyInlineInput>;\n  title?: InputMaybe<Scalars['String']>;\n};\n\nexport type SectionUpdateManyInlineInput = {\n  /** Connect multiple existing Section documents */\n  connect?: InputMaybe<Array<SectionConnectInput>>;\n  /** Create and connect multiple Section documents */\n  create?: InputMaybe<Array<SectionCreateInput>>;\n  /** Delete multiple Section documents */\n  delete?: InputMaybe<Array<SectionWhereUniqueInput>>;\n  /** Disconnect multiple Section documents */\n  disconnect?: InputMaybe<Array<SectionWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Section documents */\n  set?: InputMaybe<Array<SectionWhereUniqueInput>>;\n  /** Update multiple Section documents */\n  update?: InputMaybe<Array<SectionUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Section documents */\n  upsert?: InputMaybe<Array<SectionUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type SectionUpdateManyInput = {\n  description?: InputMaybe<Scalars['RichTextAST']>;\n};\n\nexport type SectionUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: SectionUpdateManyInput;\n  /** Document search */\n  where: SectionWhereInput;\n};\n\nexport type SectionUpdateOneInlineInput = {\n  /** Connect existing Section document */\n  connect?: InputMaybe<SectionWhereUniqueInput>;\n  /** Create and connect one Section document */\n  create?: InputMaybe<SectionCreateInput>;\n  /** Delete currently connected Section document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Section document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Section document */\n  update?: InputMaybe<SectionUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Section document */\n  upsert?: InputMaybe<SectionUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type SectionUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: SectionUpdateInput;\n  /** Unique document search */\n  where: SectionWhereUniqueInput;\n};\n\nexport type SectionUpsertInput = {\n  /** Create document if it didn't exist */\n  create: SectionCreateInput;\n  /** Update document if it exists */\n  update: SectionUpdateInput;\n};\n\nexport type SectionUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: SectionUpsertInput;\n  /** Unique document search */\n  where: SectionWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type SectionWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type SectionWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<SectionWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<SectionWhereStageInput>;\n  documentInStages_none?: InputMaybe<SectionWhereStageInput>;\n  documentInStages_some?: InputMaybe<SectionWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  images_every?: InputMaybe<ImageWhereInput>;\n  images_none?: InputMaybe<ImageWhereInput>;\n  images_some?: InputMaybe<ImageWhereInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<SectionWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<SectionWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  title?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  title_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  title_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  title_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  title_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  title_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  title_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  title_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  title_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  title_starts_with?: InputMaybe<Scalars['String']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type SectionWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<SectionWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<SectionWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<SectionWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<SectionWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Section record uniquely */\nexport type SectionWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n  title?: InputMaybe<Scalars['String']>;\n};\n\nexport type Seo = Entity & Node & {\n  __typename?: 'Seo';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Get the document in other stages */\n  documentInStages: Array<Seo>;\n  focusKeywords: Array<Scalars['String']>;\n  /** List of Seo versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  metaDescription: Scalars['String'];\n  metaTitle: Scalars['String'];\n  metaType?: Maybe<Scalars['String']>;\n  ogImage: Asset;\n  page?: Maybe<Page>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\nexport type SeoCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type SeoDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type SeoHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type SeoOgImageArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type SeoPageArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type SeoPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type SeoScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type SeoUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type SeoConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: SeoWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type SeoConnection = {\n  __typename?: 'SeoConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<SeoEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type SeoCreateInput = {\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  focusKeywords: Array<Scalars['String']>;\n  metaDescription: Scalars['String'];\n  metaTitle: Scalars['String'];\n  metaType?: InputMaybe<Scalars['String']>;\n  ogImage: AssetCreateOneInlineInput;\n  page?: InputMaybe<PageCreateOneInlineInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type SeoCreateManyInlineInput = {\n  /** Connect multiple existing Seo documents */\n  connect?: InputMaybe<Array<SeoWhereUniqueInput>>;\n  /** Create and connect multiple existing Seo documents */\n  create?: InputMaybe<Array<SeoCreateInput>>;\n};\n\nexport type SeoCreateOneInlineInput = {\n  /** Connect one existing Seo document */\n  connect?: InputMaybe<SeoWhereUniqueInput>;\n  /** Create and connect one Seo document */\n  create?: InputMaybe<SeoCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type SeoEdge = {\n  __typename?: 'SeoEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Seo;\n};\n\n/** Identifies documents */\nexport type SeoManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<SeoWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<SeoWhereStageInput>;\n  documentInStages_none?: InputMaybe<SeoWhereStageInput>;\n  documentInStages_some?: InputMaybe<SeoWhereStageInput>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  focusKeywords?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  focusKeywords_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  focusKeywords_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  focusKeywords_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  focusKeywords_not?: InputMaybe<Array<Scalars['String']>>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  metaDescription?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  metaDescription_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  metaDescription_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  metaDescription_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  metaDescription_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  metaDescription_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  metaDescription_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  metaDescription_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  metaDescription_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  metaDescription_starts_with?: InputMaybe<Scalars['String']>;\n  metaTitle?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  metaTitle_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  metaTitle_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  metaTitle_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  metaTitle_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  metaTitle_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  metaTitle_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  metaTitle_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  metaTitle_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  metaTitle_starts_with?: InputMaybe<Scalars['String']>;\n  metaType?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  metaType_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  metaType_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  metaType_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  metaType_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  metaType_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  metaType_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  metaType_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  metaType_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  metaType_starts_with?: InputMaybe<Scalars['String']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<SeoWhereInput>>;\n  ogImage?: InputMaybe<AssetWhereInput>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<SeoWhereInput>>;\n  page?: InputMaybe<PageWhereInput>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum SeoOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  FocusKeywordsAsc = 'focusKeywords_ASC',\n  FocusKeywordsDesc = 'focusKeywords_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  MetaDescriptionAsc = 'metaDescription_ASC',\n  MetaDescriptionDesc = 'metaDescription_DESC',\n  MetaTitleAsc = 'metaTitle_ASC',\n  MetaTitleDesc = 'metaTitle_DESC',\n  MetaTypeAsc = 'metaType_ASC',\n  MetaTypeDesc = 'metaType_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type SeoUpdateInput = {\n  focusKeywords?: InputMaybe<Array<Scalars['String']>>;\n  metaDescription?: InputMaybe<Scalars['String']>;\n  metaTitle?: InputMaybe<Scalars['String']>;\n  metaType?: InputMaybe<Scalars['String']>;\n  ogImage?: InputMaybe<AssetUpdateOneInlineInput>;\n  page?: InputMaybe<PageUpdateOneInlineInput>;\n};\n\nexport type SeoUpdateManyInlineInput = {\n  /** Connect multiple existing Seo documents */\n  connect?: InputMaybe<Array<SeoConnectInput>>;\n  /** Create and connect multiple Seo documents */\n  create?: InputMaybe<Array<SeoCreateInput>>;\n  /** Delete multiple Seo documents */\n  delete?: InputMaybe<Array<SeoWhereUniqueInput>>;\n  /** Disconnect multiple Seo documents */\n  disconnect?: InputMaybe<Array<SeoWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Seo documents */\n  set?: InputMaybe<Array<SeoWhereUniqueInput>>;\n  /** Update multiple Seo documents */\n  update?: InputMaybe<Array<SeoUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Seo documents */\n  upsert?: InputMaybe<Array<SeoUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type SeoUpdateManyInput = {\n  focusKeywords?: InputMaybe<Array<Scalars['String']>>;\n  metaDescription?: InputMaybe<Scalars['String']>;\n  metaTitle?: InputMaybe<Scalars['String']>;\n  metaType?: InputMaybe<Scalars['String']>;\n};\n\nexport type SeoUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: SeoUpdateManyInput;\n  /** Document search */\n  where: SeoWhereInput;\n};\n\nexport type SeoUpdateOneInlineInput = {\n  /** Connect existing Seo document */\n  connect?: InputMaybe<SeoWhereUniqueInput>;\n  /** Create and connect one Seo document */\n  create?: InputMaybe<SeoCreateInput>;\n  /** Delete currently connected Seo document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Seo document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Seo document */\n  update?: InputMaybe<SeoUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Seo document */\n  upsert?: InputMaybe<SeoUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type SeoUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: SeoUpdateInput;\n  /** Unique document search */\n  where: SeoWhereUniqueInput;\n};\n\nexport type SeoUpsertInput = {\n  /** Create document if it didn't exist */\n  create: SeoCreateInput;\n  /** Update document if it exists */\n  update: SeoUpdateInput;\n};\n\nexport type SeoUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: SeoUpsertInput;\n  /** Unique document search */\n  where: SeoWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type SeoWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type SeoWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<SeoWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<SeoWhereStageInput>;\n  documentInStages_none?: InputMaybe<SeoWhereStageInput>;\n  documentInStages_some?: InputMaybe<SeoWhereStageInput>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  focusKeywords?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  focusKeywords_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  focusKeywords_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  focusKeywords_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  focusKeywords_not?: InputMaybe<Array<Scalars['String']>>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  metaDescription?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  metaDescription_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  metaDescription_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  metaDescription_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  metaDescription_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  metaDescription_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  metaDescription_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  metaDescription_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  metaDescription_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  metaDescription_starts_with?: InputMaybe<Scalars['String']>;\n  metaTitle?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  metaTitle_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  metaTitle_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  metaTitle_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  metaTitle_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  metaTitle_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  metaTitle_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  metaTitle_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  metaTitle_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  metaTitle_starts_with?: InputMaybe<Scalars['String']>;\n  metaType?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  metaType_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  metaType_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  metaType_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  metaType_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  metaType_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  metaType_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  metaType_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  metaType_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  metaType_starts_with?: InputMaybe<Scalars['String']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<SeoWhereInput>>;\n  ogImage?: InputMaybe<AssetWhereInput>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<SeoWhereInput>>;\n  page?: InputMaybe<PageWhereInput>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type SeoWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<SeoWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<SeoWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<SeoWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<SeoWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Seo record uniquely */\nexport type SeoWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type Stack = Entity & Node & {\n  __typename?: 'Stack';\n  categories: Array<StackCategory>;\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  databases: Array<Scalars['String']>;\n  /** Get the document in other stages */\n  documentInStages: Array<Stack>;\n  framework?: Maybe<Scalars['String']>;\n  /** List of Stack versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  language: Scalars['String'];\n  libraries: Array<Scalars['String']>;\n  projects: Array<Project>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n};\n\n\nexport type StackCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type StackDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type StackHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type StackProjectsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<ProjectOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ProjectWhereInput>;\n};\n\n\nexport type StackPublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type StackScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type StackUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport enum StackCategory {\n  Backend = 'Backend',\n  Frontend = 'Frontend',\n  Library = 'Library',\n  Mobile = 'Mobile',\n  Package = 'Package'\n}\n\nexport type StackConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: StackWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type StackConnection = {\n  __typename?: 'StackConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<StackEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type StackCreateInput = {\n  categories?: InputMaybe<Array<StackCategory>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  databases?: InputMaybe<Array<Scalars['String']>>;\n  framework?: InputMaybe<Scalars['String']>;\n  language: Scalars['String'];\n  libraries?: InputMaybe<Array<Scalars['String']>>;\n  projects?: InputMaybe<ProjectCreateManyInlineInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n};\n\nexport type StackCreateManyInlineInput = {\n  /** Connect multiple existing Stack documents */\n  connect?: InputMaybe<Array<StackWhereUniqueInput>>;\n  /** Create and connect multiple existing Stack documents */\n  create?: InputMaybe<Array<StackCreateInput>>;\n};\n\nexport type StackCreateOneInlineInput = {\n  /** Connect one existing Stack document */\n  connect?: InputMaybe<StackWhereUniqueInput>;\n  /** Create and connect one Stack document */\n  create?: InputMaybe<StackCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type StackEdge = {\n  __typename?: 'StackEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Stack;\n};\n\n/** Identifies documents */\nexport type StackManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<StackWhereInput>>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  categories?: InputMaybe<Array<StackCategory>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  categories_contains_all?: InputMaybe<Array<StackCategory>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  categories_contains_none?: InputMaybe<Array<StackCategory>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  categories_contains_some?: InputMaybe<Array<StackCategory>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  categories_not?: InputMaybe<Array<StackCategory>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  databases?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  databases_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  databases_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  databases_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  databases_not?: InputMaybe<Array<Scalars['String']>>;\n  documentInStages_every?: InputMaybe<StackWhereStageInput>;\n  documentInStages_none?: InputMaybe<StackWhereStageInput>;\n  documentInStages_some?: InputMaybe<StackWhereStageInput>;\n  framework?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  framework_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  framework_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  framework_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  framework_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  framework_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  framework_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  framework_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  framework_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  framework_starts_with?: InputMaybe<Scalars['String']>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  language?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  language_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  language_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  language_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  language_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  language_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  language_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  language_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  language_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  language_starts_with?: InputMaybe<Scalars['String']>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  libraries?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  libraries_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  libraries_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  libraries_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  libraries_not?: InputMaybe<Array<Scalars['String']>>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<StackWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<StackWhereInput>>;\n  projects_every?: InputMaybe<ProjectWhereInput>;\n  projects_none?: InputMaybe<ProjectWhereInput>;\n  projects_some?: InputMaybe<ProjectWhereInput>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\nexport enum StackOrderByInput {\n  CategoriesAsc = 'categories_ASC',\n  CategoriesDesc = 'categories_DESC',\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  DatabasesAsc = 'databases_ASC',\n  DatabasesDesc = 'databases_DESC',\n  FrameworkAsc = 'framework_ASC',\n  FrameworkDesc = 'framework_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  LanguageAsc = 'language_ASC',\n  LanguageDesc = 'language_DESC',\n  LibrariesAsc = 'libraries_ASC',\n  LibrariesDesc = 'libraries_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type StackUpdateInput = {\n  categories?: InputMaybe<Array<StackCategory>>;\n  databases?: InputMaybe<Array<Scalars['String']>>;\n  framework?: InputMaybe<Scalars['String']>;\n  language?: InputMaybe<Scalars['String']>;\n  libraries?: InputMaybe<Array<Scalars['String']>>;\n  projects?: InputMaybe<ProjectUpdateManyInlineInput>;\n};\n\nexport type StackUpdateManyInlineInput = {\n  /** Connect multiple existing Stack documents */\n  connect?: InputMaybe<Array<StackConnectInput>>;\n  /** Create and connect multiple Stack documents */\n  create?: InputMaybe<Array<StackCreateInput>>;\n  /** Delete multiple Stack documents */\n  delete?: InputMaybe<Array<StackWhereUniqueInput>>;\n  /** Disconnect multiple Stack documents */\n  disconnect?: InputMaybe<Array<StackWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Stack documents */\n  set?: InputMaybe<Array<StackWhereUniqueInput>>;\n  /** Update multiple Stack documents */\n  update?: InputMaybe<Array<StackUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Stack documents */\n  upsert?: InputMaybe<Array<StackUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type StackUpdateManyInput = {\n  categories?: InputMaybe<Array<StackCategory>>;\n  databases?: InputMaybe<Array<Scalars['String']>>;\n  framework?: InputMaybe<Scalars['String']>;\n  language?: InputMaybe<Scalars['String']>;\n  libraries?: InputMaybe<Array<Scalars['String']>>;\n};\n\nexport type StackUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: StackUpdateManyInput;\n  /** Document search */\n  where: StackWhereInput;\n};\n\nexport type StackUpdateOneInlineInput = {\n  /** Connect existing Stack document */\n  connect?: InputMaybe<StackWhereUniqueInput>;\n  /** Create and connect one Stack document */\n  create?: InputMaybe<StackCreateInput>;\n  /** Delete currently connected Stack document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Stack document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Stack document */\n  update?: InputMaybe<StackUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Stack document */\n  upsert?: InputMaybe<StackUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type StackUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: StackUpdateInput;\n  /** Unique document search */\n  where: StackWhereUniqueInput;\n};\n\nexport type StackUpsertInput = {\n  /** Create document if it didn't exist */\n  create: StackCreateInput;\n  /** Update document if it exists */\n  update: StackUpdateInput;\n};\n\nexport type StackUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: StackUpsertInput;\n  /** Unique document search */\n  where: StackWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type StackWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type StackWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<StackWhereInput>>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  categories?: InputMaybe<Array<StackCategory>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  categories_contains_all?: InputMaybe<Array<StackCategory>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  categories_contains_none?: InputMaybe<Array<StackCategory>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  categories_contains_some?: InputMaybe<Array<StackCategory>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  categories_not?: InputMaybe<Array<StackCategory>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  databases?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  databases_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  databases_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  databases_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  databases_not?: InputMaybe<Array<Scalars['String']>>;\n  documentInStages_every?: InputMaybe<StackWhereStageInput>;\n  documentInStages_none?: InputMaybe<StackWhereStageInput>;\n  documentInStages_some?: InputMaybe<StackWhereStageInput>;\n  framework?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  framework_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  framework_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  framework_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  framework_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  framework_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  framework_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  framework_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  framework_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  framework_starts_with?: InputMaybe<Scalars['String']>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  language?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  language_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  language_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  language_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  language_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  language_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  language_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  language_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  language_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  language_starts_with?: InputMaybe<Scalars['String']>;\n  /** Matches if the field array contains *all* items provided to the filter and order does match */\n  libraries?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains *all* items provided to the filter */\n  libraries_contains_all?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contain any of the items provided to the filter */\n  libraries_contains_none?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array contains at least one item provided to the filter */\n  libraries_contains_some?: InputMaybe<Array<Scalars['String']>>;\n  /** Matches if the field array does not contains *all* items provided to the filter or order does not match */\n  libraries_not?: InputMaybe<Array<Scalars['String']>>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<StackWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<StackWhereInput>>;\n  projects_every?: InputMaybe<ProjectWhereInput>;\n  projects_none?: InputMaybe<ProjectWhereInput>;\n  projects_some?: InputMaybe<ProjectWhereInput>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type StackWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<StackWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<StackWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<StackWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<StackWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Stack record uniquely */\nexport type StackWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\n/** Stage system enumeration */\nexport enum Stage {\n  /** The Draft is the default stage for all your content. */\n  Draft = 'DRAFT',\n  /** The Published stage is where you can publish your content to. */\n  Published = 'PUBLISHED'\n}\n\nexport enum SystemDateTimeFieldVariation {\n  Base = 'BASE',\n  Combined = 'COMBINED',\n  Localization = 'LOCALIZATION'\n}\n\nexport type Timeline = Entity & Node & {\n  __typename?: 'Timeline';\n  achievements: Array<Achievement>;\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** User that created this document */\n  createdBy?: Maybe<User>;\n  /** Get the document in other stages */\n  documentInStages: Array<Timeline>;\n  /** List of Timeline versions */\n  history: Array<Version>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** User that last published this document */\n  publishedBy?: Maybe<User>;\n  scheduledIn: Array<ScheduledOperation>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n  /** User that last updated this document */\n  updatedBy?: Maybe<User>;\n  year: Scalars['Int'];\n};\n\n\nexport type TimelineAchievementsArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  orderBy?: InputMaybe<AchievementOrderByInput>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<AchievementWhereInput>;\n};\n\n\nexport type TimelineCreatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type TimelineDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\n\nexport type TimelineHistoryArgs = {\n  limit?: Scalars['Int'];\n  skip?: Scalars['Int'];\n  stageOverride?: InputMaybe<Stage>;\n};\n\n\nexport type TimelinePublishedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\n\nexport type TimelineScheduledInArgs = {\n  after?: InputMaybe<Scalars['String']>;\n  before?: InputMaybe<Scalars['String']>;\n  first?: InputMaybe<Scalars['Int']>;\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  last?: InputMaybe<Scalars['Int']>;\n  locales?: InputMaybe<Array<Locale>>;\n  skip?: InputMaybe<Scalars['Int']>;\n  where?: InputMaybe<ScheduledOperationWhereInput>;\n};\n\n\nexport type TimelineUpdatedByArgs = {\n  forceParentLocale?: InputMaybe<Scalars['Boolean']>;\n  locales?: InputMaybe<Array<Locale>>;\n};\n\nexport type TimelineConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: TimelineWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type TimelineConnection = {\n  __typename?: 'TimelineConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<TimelineEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type TimelineCreateInput = {\n  achievements?: InputMaybe<AchievementCreateManyInlineInput>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  year: Scalars['Int'];\n};\n\nexport type TimelineCreateManyInlineInput = {\n  /** Connect multiple existing Timeline documents */\n  connect?: InputMaybe<Array<TimelineWhereUniqueInput>>;\n  /** Create and connect multiple existing Timeline documents */\n  create?: InputMaybe<Array<TimelineCreateInput>>;\n};\n\nexport type TimelineCreateOneInlineInput = {\n  /** Connect one existing Timeline document */\n  connect?: InputMaybe<TimelineWhereUniqueInput>;\n  /** Create and connect one Timeline document */\n  create?: InputMaybe<TimelineCreateInput>;\n};\n\n/** An edge in a connection. */\nexport type TimelineEdge = {\n  __typename?: 'TimelineEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: Timeline;\n};\n\n/** Identifies documents */\nexport type TimelineManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  achievements_every?: InputMaybe<AchievementWhereInput>;\n  achievements_none?: InputMaybe<AchievementWhereInput>;\n  achievements_some?: InputMaybe<AchievementWhereInput>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<TimelineWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<TimelineWhereStageInput>;\n  documentInStages_none?: InputMaybe<TimelineWhereStageInput>;\n  documentInStages_some?: InputMaybe<TimelineWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<TimelineWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<TimelineWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  year?: InputMaybe<Scalars['Int']>;\n  /** All values greater than the given value. */\n  year_gt?: InputMaybe<Scalars['Int']>;\n  /** All values greater than or equal the given value. */\n  year_gte?: InputMaybe<Scalars['Int']>;\n  /** All values that are contained in given list. */\n  year_in?: InputMaybe<Array<InputMaybe<Scalars['Int']>>>;\n  /** All values less than the given value. */\n  year_lt?: InputMaybe<Scalars['Int']>;\n  /** All values less than or equal the given value. */\n  year_lte?: InputMaybe<Scalars['Int']>;\n  /** Any other value that exists and is not equal to the given value. */\n  year_not?: InputMaybe<Scalars['Int']>;\n  /** All values that are not contained in given list. */\n  year_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']>>>;\n};\n\nexport enum TimelineOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC',\n  YearAsc = 'year_ASC',\n  YearDesc = 'year_DESC'\n}\n\nexport type TimelineUpdateInput = {\n  achievements?: InputMaybe<AchievementUpdateManyInlineInput>;\n  year?: InputMaybe<Scalars['Int']>;\n};\n\nexport type TimelineUpdateManyInlineInput = {\n  /** Connect multiple existing Timeline documents */\n  connect?: InputMaybe<Array<TimelineConnectInput>>;\n  /** Create and connect multiple Timeline documents */\n  create?: InputMaybe<Array<TimelineCreateInput>>;\n  /** Delete multiple Timeline documents */\n  delete?: InputMaybe<Array<TimelineWhereUniqueInput>>;\n  /** Disconnect multiple Timeline documents */\n  disconnect?: InputMaybe<Array<TimelineWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing Timeline documents */\n  set?: InputMaybe<Array<TimelineWhereUniqueInput>>;\n  /** Update multiple Timeline documents */\n  update?: InputMaybe<Array<TimelineUpdateWithNestedWhereUniqueInput>>;\n  /** Upsert multiple Timeline documents */\n  upsert?: InputMaybe<Array<TimelineUpsertWithNestedWhereUniqueInput>>;\n};\n\nexport type TimelineUpdateManyInput = {\n  year?: InputMaybe<Scalars['Int']>;\n};\n\nexport type TimelineUpdateManyWithNestedWhereInput = {\n  /** Update many input */\n  data: TimelineUpdateManyInput;\n  /** Document search */\n  where: TimelineWhereInput;\n};\n\nexport type TimelineUpdateOneInlineInput = {\n  /** Connect existing Timeline document */\n  connect?: InputMaybe<TimelineWhereUniqueInput>;\n  /** Create and connect one Timeline document */\n  create?: InputMaybe<TimelineCreateInput>;\n  /** Delete currently connected Timeline document */\n  delete?: InputMaybe<Scalars['Boolean']>;\n  /** Disconnect currently connected Timeline document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n  /** Update single Timeline document */\n  update?: InputMaybe<TimelineUpdateWithNestedWhereUniqueInput>;\n  /** Upsert single Timeline document */\n  upsert?: InputMaybe<TimelineUpsertWithNestedWhereUniqueInput>;\n};\n\nexport type TimelineUpdateWithNestedWhereUniqueInput = {\n  /** Document to update */\n  data: TimelineUpdateInput;\n  /** Unique document search */\n  where: TimelineWhereUniqueInput;\n};\n\nexport type TimelineUpsertInput = {\n  /** Create document if it didn't exist */\n  create: TimelineCreateInput;\n  /** Update document if it exists */\n  update: TimelineUpdateInput;\n};\n\nexport type TimelineUpsertWithNestedWhereUniqueInput = {\n  /** Upsert data */\n  data: TimelineUpsertInput;\n  /** Unique document search */\n  where: TimelineWhereUniqueInput;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type TimelineWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type TimelineWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  achievements_every?: InputMaybe<AchievementWhereInput>;\n  achievements_none?: InputMaybe<AchievementWhereInput>;\n  achievements_some?: InputMaybe<AchievementWhereInput>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<TimelineWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  createdBy?: InputMaybe<UserWhereInput>;\n  documentInStages_every?: InputMaybe<TimelineWhereStageInput>;\n  documentInStages_none?: InputMaybe<TimelineWhereStageInput>;\n  documentInStages_some?: InputMaybe<TimelineWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<TimelineWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<TimelineWhereInput>>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  publishedBy?: InputMaybe<UserWhereInput>;\n  scheduledIn_every?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_none?: InputMaybe<ScheduledOperationWhereInput>;\n  scheduledIn_some?: InputMaybe<ScheduledOperationWhereInput>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedBy?: InputMaybe<UserWhereInput>;\n  year?: InputMaybe<Scalars['Int']>;\n  /** All values greater than the given value. */\n  year_gt?: InputMaybe<Scalars['Int']>;\n  /** All values greater than or equal the given value. */\n  year_gte?: InputMaybe<Scalars['Int']>;\n  /** All values that are contained in given list. */\n  year_in?: InputMaybe<Array<InputMaybe<Scalars['Int']>>>;\n  /** All values less than the given value. */\n  year_lt?: InputMaybe<Scalars['Int']>;\n  /** All values less than or equal the given value. */\n  year_lte?: InputMaybe<Scalars['Int']>;\n  /** Any other value that exists and is not equal to the given value. */\n  year_not?: InputMaybe<Scalars['Int']>;\n  /** All values that are not contained in given list. */\n  year_not_in?: InputMaybe<Array<InputMaybe<Scalars['Int']>>>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type TimelineWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<TimelineWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<TimelineWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<TimelineWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<TimelineWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References Timeline record uniquely */\nexport type TimelineWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type UnpublishLocaleInput = {\n  /** Locales to unpublish */\n  locale: Locale;\n  /** Stages to unpublish selected locales from */\n  stages: Array<Stage>;\n};\n\n/** User system model */\nexport type User = Entity & Node & {\n  __typename?: 'User';\n  /** The time the document was created */\n  createdAt: Scalars['DateTime'];\n  /** Get the document in other stages */\n  documentInStages: Array<User>;\n  /** The unique identifier */\n  id: Scalars['ID'];\n  /** Flag to determine if user is active or not */\n  isActive: Scalars['Boolean'];\n  /** User Kind. Can be either MEMBER, PAT or PUBLIC */\n  kind: UserKind;\n  /** The username */\n  name: Scalars['String'];\n  /** Profile Picture url */\n  picture?: Maybe<Scalars['String']>;\n  /** The time the document was published. Null on documents in draft stage. */\n  publishedAt?: Maybe<Scalars['DateTime']>;\n  /** System stage field */\n  stage: Stage;\n  /** The time the document was updated */\n  updatedAt: Scalars['DateTime'];\n};\n\n\n/** User system model */\nexport type UserDocumentInStagesArgs = {\n  includeCurrent?: Scalars['Boolean'];\n  inheritLocale?: Scalars['Boolean'];\n  stages?: Array<Stage>;\n};\n\nexport type UserConnectInput = {\n  /** Allow to specify document position in list of connected documents, will default to appending at end of list */\n  position?: InputMaybe<ConnectPositionInput>;\n  /** Document to connect */\n  where: UserWhereUniqueInput;\n};\n\n/** A connection to a list of items. */\nexport type UserConnection = {\n  __typename?: 'UserConnection';\n  aggregate: Aggregate;\n  /** A list of edges. */\n  edges: Array<UserEdge>;\n  /** Information to aid in pagination. */\n  pageInfo: PageInfo;\n};\n\nexport type UserCreateManyInlineInput = {\n  /** Connect multiple existing User documents */\n  connect?: InputMaybe<Array<UserWhereUniqueInput>>;\n};\n\nexport type UserCreateOneInlineInput = {\n  /** Connect one existing User document */\n  connect?: InputMaybe<UserWhereUniqueInput>;\n};\n\n/** An edge in a connection. */\nexport type UserEdge = {\n  __typename?: 'UserEdge';\n  /** A cursor for use in pagination. */\n  cursor: Scalars['String'];\n  /** The item at the end of the edge. */\n  node: User;\n};\n\n/** System User Kind */\nexport enum UserKind {\n  Member = 'MEMBER',\n  Pat = 'PAT',\n  Public = 'PUBLIC',\n  Webhook = 'WEBHOOK'\n}\n\n/** Identifies documents */\nexport type UserManyWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<UserWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  documentInStages_every?: InputMaybe<UserWhereStageInput>;\n  documentInStages_none?: InputMaybe<UserWhereStageInput>;\n  documentInStages_some?: InputMaybe<UserWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  isActive?: InputMaybe<Scalars['Boolean']>;\n  /** Any other value that exists and is not equal to the given value. */\n  isActive_not?: InputMaybe<Scalars['Boolean']>;\n  kind?: InputMaybe<UserKind>;\n  /** All values that are contained in given list. */\n  kind_in?: InputMaybe<Array<InputMaybe<UserKind>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  kind_not?: InputMaybe<UserKind>;\n  /** All values that are not contained in given list. */\n  kind_not_in?: InputMaybe<Array<InputMaybe<UserKind>>>;\n  name?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  name_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  name_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  name_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  name_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  name_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  name_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  name_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  name_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  name_starts_with?: InputMaybe<Scalars['String']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<UserWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<UserWhereInput>>;\n  picture?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  picture_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  picture_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  picture_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  picture_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  picture_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  picture_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  picture_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  picture_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  picture_starts_with?: InputMaybe<Scalars['String']>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n};\n\nexport enum UserOrderByInput {\n  CreatedAtAsc = 'createdAt_ASC',\n  CreatedAtDesc = 'createdAt_DESC',\n  IdAsc = 'id_ASC',\n  IdDesc = 'id_DESC',\n  IsActiveAsc = 'isActive_ASC',\n  IsActiveDesc = 'isActive_DESC',\n  KindAsc = 'kind_ASC',\n  KindDesc = 'kind_DESC',\n  NameAsc = 'name_ASC',\n  NameDesc = 'name_DESC',\n  PictureAsc = 'picture_ASC',\n  PictureDesc = 'picture_DESC',\n  PublishedAtAsc = 'publishedAt_ASC',\n  PublishedAtDesc = 'publishedAt_DESC',\n  UpdatedAtAsc = 'updatedAt_ASC',\n  UpdatedAtDesc = 'updatedAt_DESC'\n}\n\nexport type UserUpdateManyInlineInput = {\n  /** Connect multiple existing User documents */\n  connect?: InputMaybe<Array<UserConnectInput>>;\n  /** Disconnect multiple User documents */\n  disconnect?: InputMaybe<Array<UserWhereUniqueInput>>;\n  /** Override currently-connected documents with multiple existing User documents */\n  set?: InputMaybe<Array<UserWhereUniqueInput>>;\n};\n\nexport type UserUpdateOneInlineInput = {\n  /** Connect existing User document */\n  connect?: InputMaybe<UserWhereUniqueInput>;\n  /** Disconnect currently connected User document */\n  disconnect?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** This contains a set of filters that can be used to compare values internally */\nexport type UserWhereComparatorInput = {\n  /** This field can be used to request to check if the entry is outdated by internal comparison */\n  outdated_to?: InputMaybe<Scalars['Boolean']>;\n};\n\n/** Identifies documents */\nexport type UserWhereInput = {\n  /** Contains search across all appropriate fields. */\n  _search?: InputMaybe<Scalars['String']>;\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<UserWhereInput>>;\n  createdAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  createdAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  createdAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  createdAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  createdAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  createdAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  createdAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  createdAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  documentInStages_every?: InputMaybe<UserWhereStageInput>;\n  documentInStages_none?: InputMaybe<UserWhereStageInput>;\n  documentInStages_some?: InputMaybe<UserWhereStageInput>;\n  id?: InputMaybe<Scalars['ID']>;\n  /** All values containing the given string. */\n  id_contains?: InputMaybe<Scalars['ID']>;\n  /** All values ending with the given string. */\n  id_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are contained in given list. */\n  id_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  id_not?: InputMaybe<Scalars['ID']>;\n  /** All values not containing the given string. */\n  id_not_contains?: InputMaybe<Scalars['ID']>;\n  /** All values not ending with the given string */\n  id_not_ends_with?: InputMaybe<Scalars['ID']>;\n  /** All values that are not contained in given list. */\n  id_not_in?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;\n  /** All values not starting with the given string. */\n  id_not_starts_with?: InputMaybe<Scalars['ID']>;\n  /** All values starting with the given string. */\n  id_starts_with?: InputMaybe<Scalars['ID']>;\n  isActive?: InputMaybe<Scalars['Boolean']>;\n  /** Any other value that exists and is not equal to the given value. */\n  isActive_not?: InputMaybe<Scalars['Boolean']>;\n  kind?: InputMaybe<UserKind>;\n  /** All values that are contained in given list. */\n  kind_in?: InputMaybe<Array<InputMaybe<UserKind>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  kind_not?: InputMaybe<UserKind>;\n  /** All values that are not contained in given list. */\n  kind_not_in?: InputMaybe<Array<InputMaybe<UserKind>>>;\n  name?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  name_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  name_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  name_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  name_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  name_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  name_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  name_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  name_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  name_starts_with?: InputMaybe<Scalars['String']>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<UserWhereInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<UserWhereInput>>;\n  picture?: InputMaybe<Scalars['String']>;\n  /** All values containing the given string. */\n  picture_contains?: InputMaybe<Scalars['String']>;\n  /** All values ending with the given string. */\n  picture_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are contained in given list. */\n  picture_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** Any other value that exists and is not equal to the given value. */\n  picture_not?: InputMaybe<Scalars['String']>;\n  /** All values not containing the given string. */\n  picture_not_contains?: InputMaybe<Scalars['String']>;\n  /** All values not ending with the given string */\n  picture_not_ends_with?: InputMaybe<Scalars['String']>;\n  /** All values that are not contained in given list. */\n  picture_not_in?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;\n  /** All values not starting with the given string. */\n  picture_not_starts_with?: InputMaybe<Scalars['String']>;\n  /** All values starting with the given string. */\n  picture_starts_with?: InputMaybe<Scalars['String']>;\n  publishedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  publishedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  publishedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  publishedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  publishedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  publishedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  publishedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  publishedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  updatedAt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than the given value. */\n  updatedAt_gt?: InputMaybe<Scalars['DateTime']>;\n  /** All values greater than or equal the given value. */\n  updatedAt_gte?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are contained in given list. */\n  updatedAt_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n  /** All values less than the given value. */\n  updatedAt_lt?: InputMaybe<Scalars['DateTime']>;\n  /** All values less than or equal the given value. */\n  updatedAt_lte?: InputMaybe<Scalars['DateTime']>;\n  /** Any other value that exists and is not equal to the given value. */\n  updatedAt_not?: InputMaybe<Scalars['DateTime']>;\n  /** All values that are not contained in given list. */\n  updatedAt_not_in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']>>>;\n};\n\n/** The document in stages filter allows specifying a stage entry to cross compare the same document between different stages */\nexport type UserWhereStageInput = {\n  /** Logical AND on all given filters. */\n  AND?: InputMaybe<Array<UserWhereStageInput>>;\n  /** This field contains fields which can be set as true or false to specify an internal comparison */\n  compareWithParent?: InputMaybe<UserWhereComparatorInput>;\n  /** Logical NOT on all given filters combined by AND. */\n  NOT?: InputMaybe<Array<UserWhereStageInput>>;\n  /** Logical OR on all given filters. */\n  OR?: InputMaybe<Array<UserWhereStageInput>>;\n  /** Specify the stage to compare with */\n  stage?: InputMaybe<Stage>;\n};\n\n/** References User record uniquely */\nexport type UserWhereUniqueInput = {\n  id?: InputMaybe<Scalars['ID']>;\n};\n\nexport type Version = {\n  __typename?: 'Version';\n  createdAt: Scalars['DateTime'];\n  id: Scalars['ID'];\n  revision: Scalars['Int'];\n  stage: Stage;\n};\n\nexport type VersionWhereInput = {\n  id: Scalars['ID'];\n  revision: Scalars['Int'];\n  stage: Stage;\n};\n\nexport type ContentFieldsFragment = { __typename?: 'Content', id: string, url?: string | null, title: string, subtitle?: string | null, image?: { __typename?: 'Asset', id: string, url: string } | null };\n\nexport type StackFieldsFragment = { __typename?: 'Stack', id: string, projects: Array<{ __typename?: 'Project', id: string, title: string, liveUrl?: string | null, githubUrl?: string | null, description?: string | null, stack?: { __typename?: 'Stack', id: string, framework?: string | null, language: string, libraries: Array<string>, databases: Array<string>, categories: Array<StackCategory> } | null, mainImage: { __typename?: 'Asset', id: string, url: string } }> };\n\nexport type GetAboutMePageQueryVariables = Exact<{\n  id: Scalars['ID'];\n}>;\n\n\nexport type GetAboutMePageQuery = { __typename?: 'Query', aboutMePage?: { __typename?: 'AboutMePage', sections: Array<{ __typename?: 'Section', id: string, title: string, description?: { __typename?: 'RichText', raw: any } | null, images: Array<{ __typename?: 'Image', id: string, subCaption?: string | null, mainCaption: string, asset: { __typename?: 'Asset', id: string, url: string } }> }> } | null };\n\nexport type GetHomePageQueryVariables = Exact<{\n  title?: InputMaybe<Scalars['String']>;\n  categories?: InputMaybe<Array<StackCategory> | StackCategory>;\n}>;\n\n\nexport type GetHomePageQuery = { __typename?: 'Query', initialProjects: Array<{ __typename?: 'Stack', id: string, projects: Array<{ __typename?: 'Project', id: string, title: string, liveUrl?: string | null, githubUrl?: string | null, description?: string | null, stack?: { __typename?: 'Stack', id: string, framework?: string | null, language: string, libraries: Array<string>, databases: Array<string>, categories: Array<StackCategory> } | null, mainImage: { __typename?: 'Asset', id: string, url: string } }> }>, stacks: Array<{ __typename?: 'Stack', id: string, categories: Array<StackCategory> }> };\n\nexport type GetLearningJournalEntryQueryVariables = Exact<{\n  id: Scalars['ID'];\n}>;\n\n\nexport type GetLearningJournalEntryQuery = { __typename?: 'Query', learningJournal?: { __typename?: 'LearningJournal', id: string, work: Array<string>, date: any, curiosity: Array<string>, programming: Array<string> } | null };\n\nexport type GetLearningJournalPageQueryVariables = Exact<{\n  where?: InputMaybe<LearningJournalWhereInput>;\n  limit: Scalars['Int'];\n  offset: Scalars['Int'];\n}>;\n\n\nexport type GetLearningJournalPageQuery = { __typename?: 'Query', learningJournalsConnection: { __typename?: 'LearningJournalConnection', aggregate: { __typename?: 'Aggregate', count: number }, edges: Array<{ __typename?: 'LearningJournalEdge', node: { __typename?: 'LearningJournal', id: string, work: Array<string>, date: any, curiosity: Array<string>, programming: Array<string>, resources: Array<{ __typename?: 'Resource', id: string, url: string, label: string }> } }>, pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, hasPreviousPage: boolean } } };\n\nexport type GetTalksPageQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetTalksPageQuery = { __typename?: 'Query', talks: Array<{ __typename?: 'Content', id: string, url?: string | null, title: string, subtitle?: string | null, image?: { __typename?: 'Asset', id: string, url: string } | null }>, podcasts: Array<{ __typename?: 'Content', id: string, url?: string | null, title: string, subtitle?: string | null, image?: { __typename?: 'Asset', id: string, url: string } | null }> };\n\nexport type GetTimelineQueryVariables = Exact<{\n  first?: InputMaybe<Scalars['Int']>;\n  skip?: InputMaybe<Scalars['Int']>;\n}>;\n\n\nexport type GetTimelineQuery = { __typename?: 'Query', timeline: Array<{ __typename?: 'Timeline', id: string, year: number, achievements: Array<{ __typename?: 'Achievement', id: string, title: string, description?: string | null }> }>, timelinesConnection: { __typename?: 'TimelineConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean } } };\n"
  },
  {
    "path": "src/components/Base/Heading/index.tsx",
    "content": "import { Heading as ChakraHeading, HeadingProps, useStyleConfig } from '@chakra-ui/react'\n\nimport { HEADING_THEME_KEY } from './styles'\n\nexport function Heading ({\n  size,\n  children,\n  ...rest\n}: HeadingProps) {\n  const styles = useStyleConfig(HEADING_THEME_KEY, {\n    size\n  })\n\n  return (\n    <ChakraHeading sx={styles} {...rest}>\n      {children}\n    </ChakraHeading>\n  )\n}\n"
  },
  {
    "path": "src/components/Base/Heading/styles.ts",
    "content": "export const HEADING_THEME_KEY = 'Heading'\n\nexport const headingStyles = {\n  baseStyle: {\n    color: 'var(--text-color)',\n    fontWeight: 'bold'\n  },\n  sizes: {\n    lg: {\n      fontSize: '2.5rem'\n    },\n    md: {\n      fontSize: '1.8rem'\n    },\n    sm: {\n      fontSize: '1.5rem'\n    },\n    xs: {\n      fontSize: '1.2rem'\n    }\n  },\n  defaultProps: {\n    size: 'lg'\n  }\n}\n"
  },
  {
    "path": "src/components/Base/HighlightLink/index.tsx",
    "content": "import { Link as ChakraLink, LinkProps, useStyleConfig } from '@chakra-ui/react'\n\nimport { HIGHLIGHT_LINK_THEME_KEY } from './styles'\n\nexport function HighlightLink ({\n  size,\n  variant,\n  children,\n  ...rest\n}: LinkProps) {\n  const styles = useStyleConfig(HIGHLIGHT_LINK_THEME_KEY, { size, variant })\n\n  return (\n    <ChakraLink\n      sx={styles}\n      isExternal\n      {...rest}\n    >\n      {children}\n    </ChakraLink>\n  )\n}\n"
  },
  {
    "path": "src/components/Base/HighlightLink/styles.ts",
    "content": "import { paragraphStyles } from 'components/Base/Paragraph/styles'\n\nconst { sizes } = paragraphStyles\n\nexport const HIGHLIGHT_LINK_THEME_KEY = 'HighlightLink'\n\nexport const highlightLinkStyles = {\n  baseStyle: {\n    color: 'green.400',\n    fontWeight: 500,\n    textDecoration: 'underline'\n  },\n  sizes,\n  defaultProps: {\n    size: 'md'\n  }\n}\n"
  },
  {
    "path": "src/components/Base/HydrationSkeleton/index.tsx",
    "content": "import { Skeleton, SkeletonProps } from '@chakra-ui/react'\n\nimport { useHasMounted } from 'hooks/useHasMounted'\n\nexport function HydrationSkeleton ({ children, ...rest }: SkeletonProps) {\n  const { hasMounted } = useHasMounted()\n\n  return (\n    <Skeleton {...rest} isLoaded={hasMounted}>\n      {children}\n    </Skeleton>\n  )\n}\n"
  },
  {
    "path": "src/components/Base/Link/index.tsx",
    "content": "import NextLink from 'next/link'\nimport { useRouter } from 'next/dist/client/router'\nimport { Link as ChakraLink, LinkProps as ChakraLinkProps } from '@chakra-ui/react'\nimport { PropsWithChildren } from 'react'\n\ntype LinkProps = ChakraLinkProps & PropsWithChildren<{\n  href: string;\n}>\n\nexport function Link ({\n  href,\n  children,\n  ...rest\n}: LinkProps) {\n  const router = useRouter()\n  const isActive = router.pathname === href\n\n  return (\n    <NextLink href={href}>\n      <ChakraLink\n        href={href}\n        color={isActive ? 'var(--header-active-link-color)' : 'var(--text-color)'}\n        fontWeight={isActive ? 700 : 500}\n        {...rest}\n      >\n        {children}\n      </ChakraLink>\n    </NextLink>\n  )\n}\n"
  },
  {
    "path": "src/components/Base/Paragraph/index.tsx",
    "content": "import { Text, useStyleConfig, TextProps } from '@chakra-ui/react'\n\nimport { PARAGRAPH_THEME_KEY } from './styles'\n\ntype ParagraphProps = TextProps & {\n  useColorModeVariant?: boolean;\n}\n\nexport function Paragraph ({\n  size,\n  variant,\n  children,\n  ...rest\n}: ParagraphProps) {\n  const styles = useStyleConfig(PARAGRAPH_THEME_KEY, {\n    size,\n    variant\n  })\n\n  return (\n    <Text\n      as='p'\n      sx={styles}\n      {...rest}\n    >\n      {children}\n    </Text>\n  )\n}\n"
  },
  {
    "path": "src/components/Base/Paragraph/styles.ts",
    "content": "export const PARAGRAPH_THEME_KEY = 'Paragraph'\n\nexport const paragraphStyles = {\n  baseStyle: {\n    color: 'var(--text-color)',\n    fontWeight: 500\n  },\n  sizes: {\n    md: {\n      fontSize: '1.3rem'\n    },\n    sm: {\n      fontSize: '1rem'\n    }\n  },\n  variants: {\n    regular: {\n      color: 'var(--gray-paragraph-variant-color)',\n      fontWeight: 400\n    }\n  },\n  defaultProps: {\n    size: 'md'\n  }\n}\n"
  },
  {
    "path": "src/components/Base/Popover/index.tsx",
    "content": "import {\n  Popover as ChakraPopover,\n  Button,\n  PopoverBody,\n  PopoverArrow,\n  PopoverTrigger,\n  PopoverContent,\n  PopoverCloseButton\n  , PopoverProps as ChakraPopoverProps\n} from '@chakra-ui/react'\nimport useSound from 'use-sound'\n\nimport { Paragraph } from 'components/Base/Paragraph'\n\nimport menuOpenSound from '../../../../public/sounds/menu-open.mp3'\n\ntype PopoverProps = ChakraPopoverProps & {\n  popoverTextElement: JSX.Element;\n  buttonContent: React.ReactNode,\n}\n\nconst popoverBackgroundCss = {\n  backgroundColor: 'var(--popover-background-color)'\n}\n\nconst popoverColorCss = {\n  color: 'var(--popover-color)'\n}\n\nexport function Popover ({ buttonContent, popoverTextElement, ...rest }: PopoverProps) {\n  const [play] = useSound(menuOpenSound, { volume: 0.2 })\n\n  const handleClick = () => {\n    play()\n  }\n\n  return (\n    <ChakraPopover\n      aria-label={popoverTextElement}\n      placement='top'\n      {...rest}\n    >\n      <PopoverTrigger>\n        <Button\n          height='unset'\n          onClick={handleClick}\n          variant='unstyled'\n          minWidth='unset'\n          marginLeft={2}\n        >\n          {buttonContent}\n        </Button>\n      </PopoverTrigger>\n      <PopoverContent css={popoverBackgroundCss}>\n        <PopoverArrow css={popoverBackgroundCss} />\n        <PopoverCloseButton color=\"var('popover-text-color')\" />\n        <PopoverBody>\n          <Paragraph\n            css={popoverColorCss}\n            size='sm'\n          >\n            {popoverTextElement}\n          </Paragraph>\n        </PopoverBody>\n      </PopoverContent>\n    </ChakraPopover>\n  )\n}\n"
  },
  {
    "path": "src/components/ContentBox/index.tsx",
    "content": "import Image from 'next/image'\nimport { PropsWithChildren } from 'react'\nimport { Link, Stack, StackProps } from '@chakra-ui/react'\n\nimport { Paragraph } from 'components/Base/Paragraph'\nimport { Heading } from 'components/Base/Heading'\nimport { Content } from '__generated__/graphql/schema'\n\ntype ContentBoxProps = StackProps\n  & Pick<Content, 'url' | 'title'>\n  & PropsWithChildren<{\n    title: string;\n    imageSrc: string;\n    subtitle: string;\n  }>\n\nexport function ContentBox ({\n  url,\n  width,\n  title,\n  children,\n  imageSrc,\n  subtitle\n}: ContentBoxProps) {\n  return (\n    <Link href={url} width={width} isExternal>\n      <Stack direction='column' spacing={3}>\n        <Image\n          src={imageSrc}\n          alt={title}\n          width={331}\n          height={152}\n          quality={100}\n          className='next-image'\n        />\n\n        <Stack direction='column' spacing={1}>\n          {\n            subtitle\n              ? <Paragraph size='sm' as='span'>{subtitle}</Paragraph>\n              : null\n          }\n\n          <Heading size='xs'>{title}</Heading>\n\n          {children}\n        </Stack>\n      </Stack>\n    </Link>\n  )\n}\n"
  },
  {
    "path": "src/components/ContentList/index.tsx",
    "content": "import { Flex, SimpleGrid } from '@chakra-ui/react'\n\nimport { ContentBox } from 'components/ContentBox'\nimport { Content } from '__generated__/graphql/schema'\n\ntype ContentListProps = {\n  contentList: Array<Content>\n}\n\nexport function ContentList ({ contentList }: ContentListProps) {\n  return (\n    <SimpleGrid\n      as='ul'\n      css={{ listStyle: 'none' }}\n      width='full'\n      spacing={8}\n      columns={[1, null, 2]}\n    >\n      {\n        (contentList ?? []).map(({\n          url,\n          title,\n          image,\n          subtitle\n        }) => {\n          const { url: imageUrl } = image\n\n          return (\n            <Flex\n              as='li'\n              key={title}\n              width='full'\n            >\n              <ContentBox\n                url={url}\n                width='full'\n                title={title}\n                imageSrc={imageUrl}\n                subtitle={subtitle}\n              />\n            </Flex>\n          )\n        })\n      }\n    </SimpleGrid>\n  )\n}\n"
  },
  {
    "path": "src/components/GradientLine/index.tsx",
    "content": "import { Box } from '@chakra-ui/react'\n\nexport function GradientLine () {\n  return (\n    <Box\n      width='full'\n      height={4}\n      bgGradient='linear(to-r, green.400, green.500, green.400, blue.100)'\n    />\n  )\n}\n"
  },
  {
    "path": "src/components/ImageWithCaptions/index.tsx",
    "content": "import Image from 'next/image'\nimport { StackProps, Text, Stack } from '@chakra-ui/react'\n\nimport { Heading } from 'components/Base/Heading'\n\ntype ImageWithCaptionsProps = StackProps & {\n  imageSrc: string;\n  subCaption: string;\n  mainCaption: string;\n}\n\nexport function ImageWithCaptions ({\n  imageSrc,\n  subCaption,\n  mainCaption,\n  ...rest\n}: ImageWithCaptionsProps) {\n  return (\n    <Stack direction='column' spacing={4} {...rest}>\n      <Image\n        src={imageSrc}\n        alt={mainCaption}\n        width={734}\n        height={300}\n        quality={100}\n        className='next-image'\n      />\n\n      <Stack spacing={0.5} direction='column'>\n        <Heading size='xs' as='strong'>\n          {mainCaption}\n        </Heading>\n        <Text as='small' color='gray.300'>\n          {subCaption}\n        </Text>\n      </Stack>\n    </Stack>\n  )\n}\n"
  },
  {
    "path": "src/components/Layout/Container/index.tsx",
    "content": "import { Container as ChakraContainer, ContainerProps } from '@chakra-ui/react'\n\nexport function Container ({ children, ...rest }: ContainerProps) {\n  return (\n    <ChakraContainer\n      maxW='3xl'\n      paddingX={8}\n      {...rest}\n    >\n      {children}\n    </ChakraContainer>\n  )\n}\n"
  },
  {
    "path": "src/components/Layout/Footer/index.tsx",
    "content": "import { AiFillGithub, AiFillLinkedin, AiFillYoutube, AiFillTwitterCircle } from 'react-icons/ai'\nimport { Link, Flex, HStack, VStack } from '@chakra-ui/react'\n\nimport { links } from 'constants/links'\nimport { Heading } from 'components/Base/Heading'\nimport { Container } from 'components/Layout/Container'\nimport { GradientLine } from 'components/GradientLine'\n\nconst { github, linkedin, youtube, twitter } = links\n\nconst footerLinks = [\n  {\n    name: 'GitHub',\n    href: github.href,\n    icon: AiFillGithub\n  },\n  {\n    name: 'Linkedin',\n    href: linkedin.href,\n    icon: AiFillLinkedin\n  },\n  {\n    name: 'Youtube',\n    href: youtube.href,\n    icon: AiFillYoutube\n  },\n  {\n    name: 'Twitter',\n    href: twitter.href,\n    icon: AiFillTwitterCircle\n  }\n]\n\nexport function Footer () {\n  return (\n    <Flex\n      width='full'\n      marginTop='auto'\n      direction='column'\n      borderTopWidth={2}\n    >\n      <Container>\n        <VStack\n          as='footer'\n          width='full'\n          spacing={4}\n          paddingY={8}\n          alignItems='center'\n          justifyContent='center'\n        >\n          <Heading\n            size='xs'\n            width='100%'\n            maxWidth={420}\n            textAlign='center'\n          >\n            Keep connected with my work by following me on\n          </Heading>\n\n          <HStack\n            spacing={4}\n            alignItems='flex-end'\n            justifyContent='center'\n          >\n            {\n              footerLinks.map(({\n                name,\n                href,\n                icon: Icon\n              }) => (\n                <Link\n                  key={href}\n                  width={5}\n                  height={5}\n                  href={href}\n                  position='relative'\n                  isExternal\n                  title={`Go to ${name}`}\n                >\n                  <Icon size={25} />\n                </Link>\n              ))\n              }\n          </HStack>\n        </VStack>\n      </Container>\n      <GradientLine />\n    </Flex>\n  )\n}\n"
  },
  {
    "path": "src/components/Layout/Header/HeaderNavigation.tsx",
    "content": "import { CloseIcon, HamburgerIcon } from '@chakra-ui/icons'\nimport {\n  Menu,\n  Button,\n  HStack,\n  MenuList,\n  MenuItem,\n  MenuButton\n} from '@chakra-ui/react'\nimport useSound from 'use-sound'\n\nimport { navigationItems } from 'constants/navigation'\nimport { Link } from 'components/Base/Link'\n\nimport menuOpenSound from '../../../../public/sounds/menu-open.mp3'\n\nconst iconProps = { boxSize: '2em', color: 'white.100' }\n\nconst HeaderNavigationDesktop = () => (\n  <HStack\n    as='ul'\n    display={['none', null, 'flex']}\n    spacing={4}\n    css={{ listStyle: 'none' }}\n  >\n    {\n      navigationItems.map(({ name, href, isExternal }) => (\n        <li key={name}>\n          <Link href={href} isExternal={isExternal}>{name}</Link>\n        </li>\n      ))\n     }\n  </HStack>\n)\n\nconst HeaderNavigationMobile = () => {\n  const [play] = useSound(menuOpenSound)\n\n  const handleMenuClick = () => {\n    play()\n  }\n\n  return (\n    <Menu>\n      {\n          ({ isOpen }) => (\n            <>\n              <MenuButton\n                as={Button}\n                display={['flex', null, 'none']}\n                variant='unstyled'\n                onClick={handleMenuClick}\n                paddingX={2}\n                alignItems='center'\n                justifyContent='center'\n                backgroundColor='green.400'\n              >\n                {\n                  isOpen\n                    ? (<CloseIcon {...iconProps} boxSize='1em' />)\n                    : (<HamburgerIcon {...iconProps} />)\n                }\n              </MenuButton>\n              <MenuList backgroundColor='var(--header-mobile-menu-color)'>\n                {\n                  navigationItems.map(({ name, ...rest }) => (\n                    <MenuItem\n                      key={name}\n                      padding={0}\n                      _focus={{ backgroundColor: 'none' }}\n                      _hover={{ backgroundColor: 'unset' }}\n                    >\n                      <Link\n                        flex={1}\n                        paddingX={4}\n                        paddingY={2}\n                        _hover={{ textDecoration: 'none', color: 'green.400' }}\n                        {...rest}\n                      >\n                        {name}\n                      </Link>\n                    </MenuItem>\n                  ))\n                }\n              </MenuList>\n            </>\n          )\n        }\n    </Menu>\n  )\n}\n\nexport function HeaderNavigation () {\n  return (\n    <>\n      <HeaderNavigationDesktop />\n      <HeaderNavigationMobile />\n    </>\n  )\n}\n"
  },
  {
    "path": "src/components/Layout/Header/index.tsx",
    "content": "import { Flex } from '@chakra-ui/react'\nimport Image from 'next/image'\nimport Link from 'next/link'\n\nimport { Container } from 'components/Layout/Container'\nimport { GradientLine } from 'components/GradientLine'\nimport { ToggleThemeButton } from 'components/ToggleThemeButton'\n\nimport { HeaderNavigation } from './HeaderNavigation'\n\nexport function Header () {\n  return (\n    <Flex\n      as='header'\n      top={0}\n      css={{ backdropFilter: 'saturate(180%) blur(20px)' }}\n      width='full'\n      zIndex='docked'\n      position='sticky'\n      direction='column'\n      backgroundColor='var(header-background)'\n    >\n      <GradientLine />\n      <Container\n        width='full'\n        display='flex'\n        alignItems='center'\n        justifyContent='space-between'\n        paddingY={8}\n      >\n        <Flex\n          title='Click to go to home'\n          cursor='pointer'\n          marginRight={['auto', null, 'unset']}\n        >\n          <Link href='/'>\n            {/* Should wrap functional component with element due to this\n              issue of next/link https://github.com/vercel/next.js/issues/7915 */}\n            <div>\n              <Image\n                alt='Laura Beatris Logo'\n                src='/images/logo.png'\n                width={45}\n                height={59}\n                priority\n              />\n            </div>\n          </Link>\n        </Flex>\n\n        <HeaderNavigation />\n\n        <ToggleThemeButton marginLeft={[2, null, 'unset']} />\n      </Container>\n    </Flex>\n  )\n}\n"
  },
  {
    "path": "src/components/Layout/index.tsx",
    "content": "import { Flex } from '@chakra-ui/react'\n\nimport { Header } from 'components/Layout/Header'\n\nimport { Container } from './Container'\nimport { Footer } from './Footer'\n\nexport function Layout ({ children }) {\n  return (\n    <Flex\n      direction='column'\n      minHeight='100vh'\n      backgroundColor='var(--app-background-color)'\n    >\n      <Header />\n\n      <Container as='main'>\n        {children}\n      </Container>\n\n      <Footer />\n    </Flex>\n  )\n}\n"
  },
  {
    "path": "src/components/LearningJournalList/index.tsx",
    "content": "import { HeadingProps, List, ListItem, ListProps } from '@chakra-ui/react'\n\nimport { Heading } from 'components/Base/Heading'\n\ntype LearningJournalListProps = {\n  title: string;\n  list: Array<string>;\n  listSize?: ListProps['size'];\n  headingSize?: HeadingProps['size'];\n}\n\nexport function LearningJournalList ({\n  title,\n  list,\n  listSize,\n  headingSize = 'xs'\n}: LearningJournalListProps) {\n  const shouldShowLearningJournalList = (list ?? []).length > 0\n\n  if (!shouldShowLearningJournalList) {\n    return null\n  }\n\n  return (\n    <>\n      <Heading size={headingSize}>\n        {title}\n      </Heading>\n      <List\n        spacing={2}\n        fontSize={listSize}\n        styleType='initial'\n        paddingLeft={4}\n      >\n        {\n          list.map(text => (\n            <ListItem key={text}>\n              {text}\n            </ListItem>\n          ))\n        }\n      </List>\n    </>\n  )\n}\n"
  },
  {
    "path": "src/components/PaginationButton/index.tsx",
    "content": "import { ChevronDownIcon, ChevronUpIcon } from '@chakra-ui/icons'\nimport { Button, Text, ButtonProps, Spinner } from '@chakra-ui/react'\n\nexport type PaginationButtonProps = ButtonProps & {\n  showMore: boolean;\n}\n\nexport function PaginationButton ({\n  showMore,\n  isLoading,\n  disabled,\n  ...rest\n}: PaginationButtonProps) {\n  const text = showMore ? 'Show more' : 'Show less'\n\n  const Icon = showMore ? ChevronDownIcon : ChevronUpIcon\n\n  return (\n    <Button\n      display='flex'\n      variant='unstyled'\n      disabled={disabled}\n      flexDirection='column'\n      {...rest}\n    >\n      <Text>{text}</Text>\n\n      {isLoading ? <Spinner size='xs' /> : <Icon />}\n    </Button>\n  )\n}\n"
  },
  {
    "path": "src/components/Project/ProjectDetailsModal.tsx",
    "content": "import {\n  List,\n  Text,\n  Modal,\n  ListItem,\n  ListIcon,\n  ModalBody,\n  ModalHeader,\n  ModalOverlay,\n  ModalFooter,\n  ModalContent,\n  ModalCloseButton\n} from '@chakra-ui/react'\nimport { AiFillTool, AiFillDatabase } from 'react-icons/ai'\nimport { MdLanguage, MdLibraryBooks } from 'react-icons/md'\n\nimport { colors } from 'styles/theme/colors'\n\nfunction ProjectDetailsListItem ({ icon, title, value }) {\n  if (!value) {\n    return null\n  }\n\n  return (\n    <ListItem color='dark'>\n      <ListIcon as={icon} color='green.400' />\n      <Text as='strong'>{title}:</Text> {value}\n    </ListItem>\n  )\n}\n\nexport function ProjectDetailsModal ({\n  title,\n  stack,\n  isOpen,\n  onClose\n}) {\n  const { framework, language } = stack\n  const libraries = stack.libraries.join(', ')\n  const databases = (stack.databases ?? []).join(', ')\n\n  return (\n    <Modal\n      isOpen={isOpen}\n      onClose={onClose}\n      isCentered\n    >\n      <ModalOverlay />\n      <ModalContent marginX={5} backgroundColor='white.100'>\n        <ModalHeader>\n          <Text color='dark'>\n            {title}\n          </Text>\n        </ModalHeader>\n        <ModalCloseButton css={{ svg: { color: colors.dark } }} />\n        <ModalBody>\n          <List spacing={3}>\n            <ProjectDetailsListItem\n              icon={MdLanguage}\n              title='Language'\n              value={language}\n            />\n\n            <ProjectDetailsListItem\n              icon={AiFillTool}\n              title='Framework'\n              value={framework}\n            />\n\n            <ProjectDetailsListItem\n              icon={MdLibraryBooks}\n              title='Libraries'\n              value={libraries}\n            />\n\n            {\n              databases.length > 0\n                ? <ProjectDetailsListItem\n                    icon={AiFillDatabase}\n                    title='Databases'\n                    value={databases}\n                  />\n                : null\n            }\n          </List>\n        </ModalBody>\n\n        <ModalFooter />\n      </ModalContent>\n    </Modal>\n  )\n}\n"
  },
  {
    "path": "src/components/Project/index.tsx",
    "content": "import {\n  Wrap,\n  Flex,\n  Link,\n  Badge,\n  Stack,\n  WrapItem,\n  useDisclosure\n  , BoxProps\n} from '@chakra-ui/react'\nimport Image from 'next/image'\nimport { AiFillGithub, AiOutlineLink } from 'react-icons/ai'\n\nimport { Heading } from 'components/Base/Heading'\nimport { Paragraph } from 'components/Base/Paragraph'\nimport { HydrationSkeleton } from 'components/Base/HydrationSkeleton'\n\nimport { ProjectDetailsModal } from './ProjectDetailsModal'\n\ntype ProjectProps = BoxProps & {\n  title: string;\n  liveUrl: string;\n  githubUrl: string;\n  description: string;\n  mainImageUrl: string;\n  stack: {\n    id: string;\n    language: string;\n    framework?: string;\n    libraries?: Array<string>;\n    databases?: Array<string>;\n    categories: Array<string>;\n  };\n}\n\nexport function Project ({\n  stack,\n  title,\n  liveUrl,\n  githubUrl,\n  description,\n  mainImageUrl,\n  ...rest\n}: ProjectProps) {\n  const { isOpen, onOpen, onClose } = useDisclosure()\n\n  const { categories } = stack\n\n  const onLinkClick = (event) => {\n    event.stopPropagation()\n  }\n\n  return (\n    <>\n      <ProjectDetailsModal\n        title={title}\n        stack={stack}\n        isOpen={isOpen}\n        onClose={onClose}\n      />\n\n      <HydrationSkeleton width='full' height='full'>\n        <Stack\n          as='button'\n          height='full'\n          width='full'\n          onClick={onOpen}\n          spacing={5}\n          padding={5}\n          direction='column'\n          alignItems='center'\n          borderRadius='md'\n          borderWidth={0.5}\n          {...rest}\n        >\n          <Flex\n            height={152}\n            width='full'\n            position='relative'\n            borderRadius='md'\n            alignSelf='center'\n          >\n            <Image\n              alt={title}\n              src={mainImageUrl}\n              layout='fill'\n              className='next-image next-image---contained'\n            />\n          </Flex>\n\n          <Stack\n            width='full'\n            spacing={2}\n            direction='column'\n            alignSelf='start'\n            alignItems='start'\n            justifyContent='space-between'\n          >\n            <Stack\n              width='full'\n              spacing={1}\n              direction='column'\n              alignItems='start'\n            >\n              <Stack direction='row' alignItems='center'>\n                <Heading\n                  as='strong'\n                  size='xs'\n                  textAlign='left'\n                >\n                  {title}\n                </Heading>\n\n                {\n                githubUrl\n                  ? (\n                    <Link\n                      href={githubUrl}\n                      title='See the project on GitHub'\n                      onClick={onLinkClick}\n                      isExternal\n                      aria-label='See project on GitHub'\n                    >\n                      <AiFillGithub>{githubUrl}</AiFillGithub>\n                    </Link>\n                    )\n                  : null\n              }\n\n                {\n                liveUrl\n                  ? (\n                    <Link\n                      href={liveUrl}\n                      title='See project live version'\n                      onClick={onLinkClick}\n                      isExternal\n                      aria-label='See project live version'\n                    >\n                      <AiOutlineLink>{liveUrl}</AiOutlineLink>\n                    </Link>\n                    )\n                  : null\n              }\n              </Stack>\n\n              <Wrap spacing={1} marginBottom='auto'>\n                {\n                  categories.map((technology) => (\n                    <WrapItem key={technology}>\n                      <Badge variant='subtle' colorScheme='green'>\n                        {technology}\n                      </Badge>\n                    </WrapItem>\n                  ))\n                }\n              </Wrap>\n            </Stack>\n\n            <Paragraph\n              size='sm'\n              variant='regular'\n              textAlign='left'\n            >\n              {description}\n            </Paragraph>\n          </Stack>\n        </Stack>\n      </HydrationSkeleton>\n    </>\n  )\n}\n"
  },
  {
    "path": "src/components/ProjectFilters/index.tsx",
    "content": "import { Flex, HStack, Input, InputGroup, InputLeftElement } from '@chakra-ui/react'\nimport { Search2Icon } from '@chakra-ui/icons'\nimport { ChangeEvent } from 'react'\nimport { MenuOptionGroupProps } from '@chakra-ui/menu'\n\ntype ProjectFiltersProps = MenuOptionGroupProps & {\n  onTitleInputChange: (event: ChangeEvent) => void;\n}\n\nconst inputGroupCss = {\n  margin: '0 !important'\n}\n\nconst inputCss = {\n  '&:hover': { borderColor: 'initial' }\n}\n\nexport function ProjectFilters ({\n  onTitleInputChange\n}: ProjectFiltersProps) {\n  // const isFetching = useIsFetching([GET_PROJECTS_QUERY_KEY])\n\n  return (\n    <HStack\n      flex={1}\n      spacing={2}\n      minWidth={['100%', '100%', 'initial']}\n      maxWidth={[null, null, '60%']}\n      alignItems='center'\n    >\n      <Flex\n        width='5%'\n        marginRight={2}\n        display={['none', null, 'initial']}\n      >\n        {/* {\n          isFetching\n            ? <Spinner size='sm' />\n            : null\n        } */}\n      </Flex>\n\n      <InputGroup flex={1} css={inputGroupCss}>\n        <InputLeftElement pointerEvents='none'>\n          <Search2Icon color='gray.300' />\n        </InputLeftElement>\n        <Input\n          css={inputCss}\n          type='text'\n          onChange={onTitleInputChange}\n          placeholder='Search for project title'\n        />\n      </InputGroup>\n    </HStack>\n  )\n}\n"
  },
  {
    "path": "src/components/ProjectsList/index.tsx",
    "content": "import { Flex, SimpleGrid, Stack, VStack } from '@chakra-ui/react'\nimport { InfoIcon } from '@chakra-ui/icons'\n\nimport { Heading } from 'components/Base/Heading'\nimport { Popover } from 'components/Base/Popover'\nimport { Project as ProjectType } from '__generated__/graphql/schema'\nimport { Project } from 'components/Project'\n\ntype ProjectsListProps = {\n  initialProjects: Array<ProjectType>;\n}\n\nconst PROJECTS_POPOVER_TEXT = <p>Click on the projects to see more details about it.<br /> Also, there are filters to explore projects according to certain titles and technologies.</p>\n\nexport function ProjectsList ({\n  initialProjects\n}: ProjectsListProps) {\n  return (\n    <VStack\n      width='full'\n      spacing={5}\n      alignItems='flex-start'\n    >\n      <Stack\n        width='full'\n        paddingTop={10}\n        direction={['column', 'column', 'row']}\n        alignItems={['flex-start', 'flex-start', 'center']}\n        justifyContent='space-between'\n      >\n        <Stack\n          direction='row'\n          alignItems='center'\n          paddingBottom={[5, null, 'initial']}\n        >\n          <Heading as='h2' css={{ lineHeight: 0 }}>\n            Projects\n          </Heading>\n\n          <Popover\n            popoverTextElement={PROJECTS_POPOVER_TEXT}\n            buttonContent={<InfoIcon boxSize={5} color='green.400' />}\n          />\n\n          {/* <Flex paddingTop={1}>\n            {\n              isFetching\n                ? <Spinner size='sm' display={['initial', null, 'none']} />\n                : null\n            }\n          </Flex> */}\n        </Stack>\n      </Stack>\n\n      <SimpleGrid\n        as='ul'\n        css={{ listStyle: 'none' }}\n        width='full'\n        spacing={4}\n        columns={[1, null, 2]}\n      >\n        {\n          (initialProjects ?? []).map(({\n            title,\n            stack,\n            liveUrl,\n            githubUrl,\n            mainImage,\n            description\n          }) => {\n            const { url } = mainImage\n\n            return (\n              <Flex\n                as='li'\n                key={title}\n                width='full'\n              >\n                <Project\n                  width='full'\n                  title={title}\n                  stack={stack}\n                  liveUrl={liveUrl}\n                  githubUrl={githubUrl}\n                  description={description}\n                  mainImageUrl={url}\n                />\n              </Flex>\n            )\n          })\n        }\n      </SimpleGrid>\n    </VStack>\n  )\n}\n"
  },
  {
    "path": "src/components/SingleDateSelector/index.tsx",
    "content": "import { useEffect, useState } from 'react'\nimport {\n  Box,\n  Button,\n  ButtonGroup,\n  Divider,\n  IconButton,\n  Input,\n  InputGroup,\n  InputRightElement,\n  Popover,\n  PopoverBody,\n  PopoverContent,\n  PopoverTrigger,\n  Text,\n  useMultiStyleConfig\n} from '@chakra-ui/react'\nimport {\n  addDays,\n  endOfMonth,\n  format,\n  getDate,\n  getDay,\n  getMonth,\n  getYear,\n  isToday,\n  isValid,\n  lastDayOfMonth,\n  nextMonday,\n  parse,\n  startOfMonth\n} from 'date-fns'\nimport { IoCalendarClearSharp, IoChevronBackSharp, IoChevronForwardSharp } from 'react-icons/io5'\nimport { useLilius } from 'use-lilius'\nimport { MdClose } from 'react-icons/md'\n\nimport { SINGLE_DATE_SELECTOR_THEME_KEY } from './styles'\n\ntype SingleDateSelectorProps = {\n  onInputValueChange: (inputValue: string) => void\n}\n\nconst dateSelectorBackgroundColor = {\n  backgroundColor: 'var(--date-selector-background-color)'\n}\n\nexport function SingleDateSelector ({ onInputValueChange }: SingleDateSelectorProps) {\n  const {\n    calendar,\n    clearSelected,\n    clearTime,\n    inRange,\n    isSelected,\n    select,\n    selected,\n    setViewing,\n    toggle,\n    viewing,\n    viewNextMonth,\n    viewPreviousMonth\n  } = useLilius()\n\n  const styles = useMultiStyleConfig(SINGLE_DATE_SELECTOR_THEME_KEY, {})\n\n  const [isOpen, setIsOpen] = useState(false)\n  const [inputValue, setInputValue] = useState('')\n\n  useEffect(() => {\n    onInputValueChange?.(inputValue)\n  }, [inputValue, onInputValueChange])\n\n  // Only accept digits and forward slash as input.\n  const onInputChange = (input: string) => {\n    setInputValue(input.trim().replace(/[^\\d/]+/g, ''))\n  }\n\n  // When the input field loses focus, we need to parse\n  // the input to set the date. While doing this, we also do some\n  // assumptions for the user and fix mistakes.\n  const onInputBlur = () => {\n    // If the input is empty, we should just go ahead and\n    // clear the current selection.\n    if (inputValue === '') {\n      clearSelected()\n      return\n    }\n\n    const parts = inputValue.split('/')\n    const partsAsNumber = parts.map((p) => parseInt(p, 10))\n\n    // Make sure the month is within the valid range\n    // of months (1 - 12). If no month is given, default\n    // to the one we're looking at.\n    if (parts.length < 1) {\n      parts[0] = `${getMonth(viewing)}`\n    } else if (partsAsNumber[0] < 1) {\n      parts[0] = '1'\n    } else if (partsAsNumber[0] > 12) {\n      parts[0] = '12'\n    }\n\n    // Make sure the day is within the valid range\n    // of days (1 - last day of the given month). If no\n    // day is given, default to the first day.\n    if (parts.length < 2) {\n      parts[1] = '1'\n    } else if (partsAsNumber[1] < 1) {\n      parts[1] = '1'\n    } else if (partsAsNumber[1] > getDate(lastDayOfMonth(viewing))) {\n      parts[1] = `${getDate(lastDayOfMonth(viewing))}`\n    }\n\n    // If no year is given, default to the one we're looking at.\n    // If the user passes in 2 digits, append them to the first 2 digits\n    // of the year we're looking at. Example: `12` becomes `2012` if we're\n    // looking at any year between 2000 and 2999.\n    if (parts.length < 3) {\n      parts[2] = `${getYear(viewing)}`\n    } else if (partsAsNumber[2] > 9 && partsAsNumber[2] < 100) {\n      parts[2] = `${Math.round(getYear(viewing) / 1000) * 1000 + partsAsNumber[2]}`\n    }\n\n    const parsed = parse(parts.join('/'), 'MM/dd/yyyy', new Date())\n\n    if (isValid(parsed)) {\n      select(parsed, true)\n    } else if (selected.length > 0) {\n      setInputValue(format(selected[0], 'MM/dd/yyyy'))\n    } else {\n      setInputValue('')\n    }\n  }\n\n  // When the selection is changed, we want to update the input field\n  // and the currently viewed month to match.\n  useEffect(() => {\n    setInputValue(selected.length > 0 ? format(selected[0], 'MM/dd/yyyy') : '')\n    setViewing(selected.length > 0 ? selected[0] : new Date())\n  }, [selected, setViewing])\n\n  return (\n    <Box width={300}>\n      <Popover isOpen={isOpen} onClose={() => setIsOpen(false)}>\n        <PopoverTrigger>\n          <InputGroup>\n            <Input\n              value={inputValue}\n              onBlur={() => onInputBlur()}\n              onChange={(e) => onInputChange(e.target.value)}\n              placeholder='Select a Date'\n            />\n\n            <InputRightElement width='unset' paddingRight='2'>\n              <IconButton\n                sx={styles.icon}\n                icon={<MdClose />}\n                onClick={() => setInputValue('')}\n                minWidth='auto'\n                variant='link'\n                _focus={{\n                  outline: 'none'\n                }}\n                marginRight='1'\n                aria-label='Clean input'\n              />\n\n              <IconButton\n                sx={styles.icon}\n                icon={<IoCalendarClearSharp />}\n                minWidth='auto'\n                aria-label='Open Calendar'\n                onClick={() => setIsOpen(!isOpen)}\n                variant='link'\n                _focus={{\n                  outline: 'none'\n                }}\n              />\n            </InputRightElement>\n          </InputGroup>\n        </PopoverTrigger>\n\n        <PopoverContent sx={styles.popContent} css={dateSelectorBackgroundColor}>\n          <PopoverBody sx={styles.popBody}>\n            <ButtonGroup sx={styles.shortcutButtonGroup}>\n              <Button\n                sx={styles.shortcutButton}\n                size='sm'\n                onClick={() => select(clearTime(new Date()), true)}\n              >\n                Today\n              </Button>\n\n              <Button\n                sx={styles.shortcutButton}\n                size='sm'\n                onClick={() => select(addDays(clearTime(new Date()), 1), true)}\n              >\n                Tomorrow\n              </Button>\n\n              <Button\n                sx={styles.shortcutButton}\n                size='sm'\n                onClick={() => select(nextMonday(clearTime(new Date())), true)}\n              >\n                Next Monday\n              </Button>\n            </ButtonGroup>\n\n            <Divider sx={styles.divider} />\n\n            <Box sx={styles.navigationContainer}>\n              <IconButton\n                sx={styles.navigationButton}\n                icon={<IoChevronBackSharp />}\n                size='sm'\n                onClick={viewPreviousMonth}\n                aria-label='Previous Month'\n              />\n\n              <Text sx={styles.navigationLabel}>{format(viewing, 'MMMM yyyy')}</Text>\n\n              <IconButton\n                sx={styles.navigationButton}\n                size='sm'\n                icon={<IoChevronForwardSharp />}\n                onClick={viewNextMonth}\n                aria-label='Next Month'\n              />\n            </Box>\n\n            <Box sx={styles.calendarContainer}>\n              <Box sx={styles.dayLabelContainer}>\n                {calendar[0][0].map((day) => (\n                  <Box key={`${day}`} sx={styles.dayLabel}>\n                    {['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][getDay(day)]}\n                  </Box>\n                ))}\n              </Box>\n\n              {calendar[0].map((week) => (\n                <Box\n                  key={`week-${week[0]}`}\n                  sx={styles.calendarMatrixContainer}\n                  userSelect='none'\n                >\n                  {week.map((day) => (\n                    <Box\n                      sx={styles.calendarMatrixDay}\n                      key={`${day}`}\n                      onClick={() => toggle(day, true)}\n                      data-in-range={inRange(day, startOfMonth(viewing), endOfMonth(viewing))}\n                      data-selected={isSelected(day)}\n                      data-today={isToday(day)}\n                    >\n                      <Text>{format(day, 'dd')}</Text>\n                    </Box>\n                  ))}\n                </Box>\n              ))}\n            </Box>\n          </PopoverBody>\n        </PopoverContent>\n      </Popover>\n    </Box>\n  )\n}\n"
  },
  {
    "path": "src/components/SingleDateSelector/styles.ts",
    "content": "import type { ComponentMultiStyleConfig } from '@chakra-ui/theme'\n\nexport const SINGLE_DATE_SELECTOR_THEME_KEY = 'SingleDateSelector'\n\nexport const singleDateSelectorStyles: ComponentMultiStyleConfig = {\n  parts: [\n    'input',\n    'icon',\n    'placeholder',\n    'popContent',\n    'popBody',\n    'shortcutButtonGroup',\n    'shortcutButton',\n    'divider',\n    'navigationContainer',\n    'navigationButton',\n    'navigationLabel',\n    'calendarContainer',\n    'dayLabelContainer',\n    'dayLabel',\n    'calendarMatrixContainer',\n    'calendarMatrixDay',\n    'todayButtonGroup',\n    'todayButton'\n  ],\n\n  baseStyle: ({ colorMode, colorScheme = 'green', theme }) => {\n    return {\n      input: {\n        borderColor: colorMode === 'light' ? 'gray.300' : 'gray.700'\n      },\n      icon: {\n        color: 'green.400'\n      },\n      placeholder: {\n        color: colorMode === 'light' ? 'gray.300' : 'gray.700'\n      },\n      popContent: {\n        _focus: {\n          outline: 'none'\n        }\n      },\n      popBody: {\n        shadow: 'lg'\n      },\n      shortcutButtonGroup: {\n        marginBottom: 2,\n        spacing: 2\n      },\n      shortcutButton: {\n        fontWeight: 'normal',\n\n        _focus: {\n          outline: 'none'\n        }\n      },\n      divider: {\n        marginBottom: 2\n      },\n      navigationContainer: {\n        alignItems: 'baseline',\n        display: 'flex',\n        justifyContent: 'space-between',\n        marginBottom: 2\n      },\n      navigationButton: {\n        borderWidth: 1,\n        shadow: 'sm',\n        _active: {\n          shadow: 'none'\n        },\n        _focus: {\n          outline: 'none'\n        },\n        _hover: {\n          backgroundColor: 'unset',\n          shadow: 'md'\n        }\n      },\n      navigationLabel: {\n        fontWeight: 'bold'\n      },\n      calendarContainer: {\n        display: 'flex',\n        flexDirection: 'column',\n        marginBottom: 2\n      },\n      dayLabelContainer: {\n        display: 'flex'\n      },\n      dayLabel: {\n        alignItems: 'center',\n        color: colorMode === 'light' ? 'gray.400' : 'gray.500',\n        display: 'flex',\n        fontSize: 'sm',\n        height: 10,\n        justifyContent: 'center',\n        width: '100%'\n      },\n      calendarMatrixContainer: {\n        display: 'flex'\n      },\n      calendarMatrixDay: {\n        alignItems: 'center',\n        borderRadius: 4,\n        display: 'flex',\n        height: 10,\n        justifyContent: 'center',\n        width: '100%',\n\n        _hover: {\n          backgroundColor: 'none',\n          color: theme.colors[colorScheme][400],\n          cursor: 'pointer'\n        },\n        '&[data-in-range=\"false\"]': {\n          color: colorMode === 'light' ? 'gray.400' : 'gray.500'\n        },\n        '&[data-selected=\"true\"]': {\n          backgroundColor: theme.colors[colorScheme][400],\n          color: 'gray.700',\n          shadow: 'md',\n          _hover: {\n            backgroundColor: 'none'\n          },\n          '&[data-today=\"true\"]': {\n            color: colorMode === 'light' ? 'white' : 'gray.700'\n          }\n        },\n        '&[data-today=\"true\"]': {\n          borderColor: theme.colors[colorScheme][400],\n          borderWidth: 1,\n          color: 'white'\n        },\n        '&[data-dont-round=\"true\"]': {\n          borderRadius: 0,\n          backgroundColor: colorMode === 'light' ? 'gray.200' : 'gray.600',\n          color: colorMode === 'light' ? 'gray.700' : 'white',\n          shadow: 'none'\n        },\n        '&[data-dont-round-left=\"true\"]': {\n          borderLeftRadius: 0\n        },\n        '&[data-dont-round-right=\"true\"]': {\n          borderRightRadius: 0\n        }\n      },\n      todayButtonGroup: {\n        justifyContent: 'center',\n        spacing: '2',\n        variant: 'ghost',\n        width: '100%'\n      },\n      todayButton: {\n        fontWeight: 'normal',\n        _focus: {\n          outline: 'none'\n        }\n      }\n    }\n  },\n  defaultProps: {\n    colorScheme: 'green'\n  }\n}\n"
  },
  {
    "path": "src/components/Timeline/Achievements/index.tsx",
    "content": "import { List, HStack, ListItem, VStack, Box, Flex } from '@chakra-ui/react'\n\nimport { Heading } from 'components/Base/Heading'\nimport { Paragraph } from 'components/Base/Paragraph'\nimport { gradients } from 'styles/theme/gradients'\nimport { Achievement } from '__generated__/graphql/schema'\n\ntype AchievementsProps = {\n  achievements: Array<Pick<Achievement, 'id' | 'title' | 'description'>>\n}\n\nexport function Achievements ({ achievements }: AchievementsProps) {\n  return (\n    <List paddingBottom={4}>\n      {\n        (achievements ?? []).map(({ id, title, description }, index) => {\n          const isLastElement = index === achievements.length - 1\n          const isFirstElement = index === 0\n          const shouldConnectDots = achievements.length > 1\n\n          return (\n            <ListItem\n              key={id}\n              zIndex={1}\n              paddingTop={4}\n              position='relative'\n            >\n              {\n                shouldConnectDots\n                  ? <Flex\n                      left='5px'\n                      top={isFirstElement ? 5 : 0}\n                      width='2.5px'\n                      bottom={0}\n                      height={isLastElement ? 5 : 'unset'}\n                      zIndex={-1}\n                      position='absolute'\n                      backgroundColor='gray.100'\n                    />\n                  : null\n                }\n\n              <HStack\n                width='full'\n                alignItems='flex-start'\n                justifyContent='flex-start'\n              >\n                <Box\n                  minWidth='14px'\n                  height='14px'\n                  marginTop={1}\n                  borderRadius='full'\n                  bgGradient={gradients.greenToBlue}\n                />\n\n                <VStack\n                  width='full'\n                  spacing={2}\n                  textAlign='left'\n                >\n                  <Heading\n                    width='full'\n                    size='xs'\n                    textAlign='left'\n                  >\n                    {title}\n                  </Heading>\n\n                  <Paragraph\n                    size='sm'\n                    width='full'\n                    variant='regular'\n                    textAlign='left'\n                  >\n                    {description}\n                  </Paragraph>\n                </VStack>\n              </HStack>\n            </ListItem>\n          )\n        })\n      }\n    </List>\n  )\n}\n"
  },
  {
    "path": "src/components/Timeline/index.tsx",
    "content": "import { List, ListItem, VStack } from '@chakra-ui/react'\n\nimport { Heading } from 'components/Base/Heading'\nimport { PaginationButton } from 'components/PaginationButton'\nimport type { Timeline } from '__generated__/graphql/schema'\nimport { useTimelineQuery } from 'hooks/useTimelineQuery'\n\nimport { Achievements } from './Achievements'\n\nexport function Timeline ({ fallbackData }) {\n  const {\n    timeline,\n    isLoading,\n    isValidating,\n    handleNextPage,\n    resetPagination\n  } = useTimelineQuery({ fallbackData })\n\n  const hasNextPage = timeline[timeline?.length - 1]?.hasNextPage\n  const onPaginationClick = () => {\n    if (!hasNextPage) {\n      resetPagination()\n      return\n    }\n\n    handleNextPage()\n  }\n\n  return (\n    <VStack\n      width='full'\n      spacing={5}\n      alignItems='flex-start'\n    >\n      <Heading as='h2' paddingTop={10}>\n        Timeline\n      </Heading>\n\n      <List spacing={4}>\n        {\n          (timeline ?? []).map(({ year, achievements }) => (\n            <ListItem key={year}>\n              <Heading size='sm'>\n                {year}\n              </Heading>\n\n              <Achievements achievements={achievements} />\n            </ListItem>\n          ))\n        }\n      </List>\n\n      <PaginationButton\n        onClick={onPaginationClick}\n        showMore={hasNextPage}\n        alignSelf='center'\n        disabled={isLoading || isValidating}\n        isLoading={isLoading || isValidating}\n      />\n    </VStack>\n  )\n}\n"
  },
  {
    "path": "src/components/ToggleThemeButton/index.tsx",
    "content": "import useSound from 'use-sound'\nimport { Button, ButtonProps } from '@chakra-ui/react'\nimport { useColorMode } from '@laurabeatris/chakra-ui-flashless'\n\nimport { ToggleThemeIcon } from 'components/ToggleThemeIcon'\nimport { HydrationSkeleton } from 'components/Base/HydrationSkeleton'\nimport { useHasMounted } from 'hooks/useHasMounted'\n\nimport switchOffSound from '../../../public/sounds/switch-off.mp3'\nimport switchOnSound from '../../../public/sounds/switch-on.mp3'\n\nexport function ToggleThemeButton (props: ButtonProps) {\n  const { colorMode, toggleColorMode } = useColorMode()\n  const { hasMounted } = useHasMounted()\n\n  const isDarkMode = colorMode === 'dark'\n  const [play] = useSound(isDarkMode ? switchOnSound : switchOffSound)\n\n  const handleClick = () => {\n    toggleColorMode()\n    play()\n  }\n\n  const iconTitle = isDarkMode ? 'Switch to light mode' : 'Switch to dark mode'\n\n  return (\n    <HydrationSkeleton\n      endColor='transparent'\n      isLoaded={hasMounted}\n      startColor='transparent'\n    >\n      <Button\n        onClick={handleClick}\n        display='flex'\n        variant='unstyled'\n        alignItems='center'\n        justifyContent='center'\n        {...props}\n      >\n        <ToggleThemeIcon title={iconTitle} isDarkMode={isDarkMode} />\n      </Button>\n    </HydrationSkeleton>\n  )\n}\n"
  },
  {
    "path": "src/components/ToggleThemeIcon/index.tsx",
    "content": "import { Flex, FlexProps } from '@chakra-ui/react'\n\nimport { theme } from 'styles/theme'\n\nconst { colors } = theme\n\ntype ToggleThemeIconProps = FlexProps & {\n  title: string;\n  isDarkMode?: boolean;\n}\n\nexport function ToggleThemeIcon ({\n  title,\n  isDarkMode,\n  ...rest\n}: ToggleThemeIconProps) {\n  return (\n    <Flex\n      alignItems='center'\n      justifyContent='center'\n      {...rest}\n    >\n      <svg\n        width='43'\n        height='43'\n        viewBox='0 0 43 43'\n        fill='none'\n        xmlns='http://www.w3.org/2000/svg'\n      >\n        <title>{title}</title>\n        <rect width='43' height='43' fill={colors.transparent} />\n        <path\n          d='M17.3845 5.00788L22.2223 7.40366L27.236 5.7566L29.8836 10.6416L34.9421 12.4283L34.3883 17.9366L37.5593 22.4746L34.0156 26.5023L34.0879 32.0582L28.9079 33.0668L25.8539 37.5184L21.0161 35.1227L16.0024 36.7697L13.3547 31.8847L8.2963 30.098L8.85009 24.5897L5.67909 20.0517L9.22281 16.0241L9.15046 10.4681L14.3305 9.45957L17.3845 5.00788Z'\n          fill={isDarkMode ? colors.transparent : colors.yellow[100]}\n        />\n        <path\n          fillRule='evenodd'\n          clipRule='evenodd'\n          d='M14.8701 29.2225L14.8301 29.2695C16.8767 31.0106 19.5312 31.8674 22.2096 31.6514C24.8879 31.4353 27.3708 30.1642 29.1119 28.1175C30.853 26.0709 31.7098 23.4164 31.4938 20.738C31.2804 18.0931 30.0381 15.6388 28.0362 13.9012C30.6485 18.2046 29.0446 24.1737 24.2972 27.465C21.3419 29.5138 17.8423 30.0579 14.8701 29.2225Z'\n          fill={isDarkMode ? colors.gray[200] : colors.yellow[200]}\n        />\n      </svg>\n    </Flex>\n  )\n}\n"
  },
  {
    "path": "src/config/SEO.ts",
    "content": "const title = 'Laura Beatris – Product Engineer'\nconst description = 'Passionate for building high-quality experiences.'\nconst url = 'https://laurabeatris.com'\n\nexport const configSEO = {\n  title,\n  description,\n  canonical: url,\n  openGraph: {\n    url: url,\n    type: 'website',\n    title,\n    locale: 'en-CA',\n    description,\n    images: [\n      {\n        url: `${url}/images/banner.png`,\n        alt: title,\n        width: 1280,\n        height: 720\n      }\n    ]\n  },\n  twitter: {\n    site: '@lauradotjs',\n    handle: '@lauradotjs',\n    cardType: 'summary_large_image'\n  }\n}\n"
  },
  {
    "path": "src/config/graphQLClient.ts",
    "content": "import { GraphQLClient } from 'graphql-request'\n\nexport const graphQLClient = new GraphQLClient(process.env.NEXT_PUBLIC_GRAPHQL_URL_ENDPOINT)\n"
  },
  {
    "path": "src/config/twitterClient.ts",
    "content": "import Twitter from 'twitter-api-v2'\n\nexport const twitterClient = new Twitter({\n  appKey: process.env.TWITTER_API_KEY,\n  appSecret: process.env.TWITTER_API_SECRET,\n  accessToken: process.env.TWITTER_ACCESS_TOKEN,\n  accessSecret: process.env.TWITTER_ACCESS_SECRET\n})\n"
  },
  {
    "path": "src/constants/links.ts",
    "content": "type Links = Record<string, { href: string, label?: string }>\n\nexport const links: Links = {\n  clerk: {\n    href: 'https://clerk.com//',\n    label: 'Clerk'\n  },\n  twitter: {\n    href: 'https://laurabeatris.com/twitter'\n  },\n  youtube: {\n    href: 'https://laurabeatris.com/youtube'\n  },\n  linkedin: {\n    href: 'https://laurabeatris.com/linkedin'\n  },\n  podcast: {\n    href: 'https://anchor.fm/usepodcast'\n  },\n  github: {\n    href: 'https://laurabeatris.com/github'\n  },\n  blog: {\n    href: 'https://laurabeatris.com/blog'\n  }\n}\n"
  },
  {
    "path": "src/constants/navigation.ts",
    "content": "import { links } from './links'\n\nconst { blog } = links\n\nexport const navigationItems = [\n  {\n    name: 'Home',\n    href: '/'\n  },\n  {\n    name: 'About',\n    href: '/about'\n  },\n  {\n    name: 'Talks',\n    href: '/talks'\n  },\n  {\n    name: 'Learning Journal',\n    href: '/learning-journal'\n  },\n  {\n    name: 'Blog',\n    href: blog.href,\n    isExternal: true\n  }\n]\n"
  },
  {
    "path": "src/graphql/fragments/contentFragment.ts",
    "content": "import { gql } from 'graphql-request'\n\nexport const CONTENT_FRAGMENT = gql`\n  fragment ContentFields on Content {\n    id\n    url\n    title\n    image {\n      id\n      url\n    }\n    subtitle\n  }\n`\n"
  },
  {
    "path": "src/graphql/fragments/stackFragment.ts",
    "content": "import { gql } from 'graphql-request'\n\nexport const STACK_FRAGMENT = gql`\n  fragment StackFields on Stack {\n    id\n    projects(where: { title_contains: $title }) {\n      id\n      title\n      liveUrl\n      githubUrl\n      description\n      stack {\n        id\n        framework\n        language\n        libraries\n        databases\n        categories\n      }\n      mainImage {\n        id\n        url\n      }\n    }\n  }\n`\n"
  },
  {
    "path": "src/graphql/queries/getAboutMePage.ts",
    "content": "import { gql } from 'graphql-request'\n\nimport { graphQLClient } from 'config/graphQLClient'\nimport { GetAboutMePageQuery, GetAboutMePageQueryVariables } from '__generated__/graphql/schema'\n\nconst GET_ABOUT_ME_PAGE_QUERY = gql`\n  query GetAboutMePage($id: ID!){\n    aboutMePage(where: { id: $id }){\n      sections {\n        id\n        title\n        description {\n          raw\n        }\n        images(orderBy: createdAt_DESC) {\n          id\n          subCaption\n          mainCaption\n          asset {\n            id\n            url\n          }\n        }\n      }\n    }\n  }\n`\n\n/**\n * Since \"aboutMePage\" is a subject model, there should be only one content\n * entry for it, which at the moment relies on this ID\n * @see {@link https://graphcms.com/academy/what-is-content-modeling} for more info regarding subject models\n */\nconst pageIDFromCMS = 'cl7xkroo4ll3t0bu5m2vmo69c'\n\nexport async function getAboutMePage () {\n  const { aboutMePage } = await graphQLClient.request<GetAboutMePageQuery, GetAboutMePageQueryVariables>(\n    GET_ABOUT_ME_PAGE_QUERY,\n    { id: pageIDFromCMS }\n  )\n\n  return aboutMePage\n}\n"
  },
  {
    "path": "src/graphql/queries/getHomePage.ts",
    "content": "import { gql } from 'graphql-request'\nimport uniq from 'lodash.uniq'\nimport union from 'lodash.union'\n\nimport { graphQLClient } from 'config/graphQLClient'\nimport { GetHomePageQuery, StackCategory } from '__generated__/graphql/schema'\nimport { STACK_FRAGMENT } from 'graphql/fragments/stackFragment'\n\nconst GET_HOME_PAGE_QUERY = gql`\n  ${STACK_FRAGMENT}\n  query GetHomePage(\n    $title: String = \"\"\n    $categories: [StackCategory!] = [Frontend, Backend, Package, Mobile]\n  ) {\n    initialProjects: stacks(\n      where: { categories_contains_some: $categories }\n      orderBy: createdAt_DESC\n    ) {\n      ...StackFields\n    }\n    stacks {\n      id\n      categories\n    }\n  }\n`\n\nexport async function getHomePage (context?) {\n  const [, filters = {}] = context?.queryKey ?? []\n\n  let {\n    stacks,\n    initialProjects\n  } = await graphQLClient.request<GetHomePageQuery>(GET_HOME_PAGE_QUERY, {\n    filters\n  })\n\n  initialProjects = initialProjects.reduce((accumulator, { projects }) => [\n    ...accumulator,\n    ...projects\n  ], [])\n\n  const stackCategories = stacks.reduce<Array<StackCategory>>(\n    (accumulator, { categories }) => uniq(union(accumulator, categories)),\n    []\n  )\n\n  return { stackCategories, initialProjects }\n}\n"
  },
  {
    "path": "src/graphql/queries/getLearningJournalEntry.ts",
    "content": "import { gql } from 'graphql-request'\n\nimport { graphQLClient } from 'config/graphQLClient'\nimport { GetLearningJournalEntryQuery, GetLearningJournalEntryQueryVariables } from '__generated__/graphql/schema'\n\nconst GET_LEARNING_JOURNAL_ENTRY_QUERY = gql`\n  query GetLearningJournalEntry($id: ID!) {\n    learningJournal(where: {id: $id}) {\n      id\n      work\n      date\n      curiosity\n      programming\n    }\n  }\n`\n\nexport async function getLearningJournalEntry (id: string) {\n  const { learningJournal } = await graphQLClient.request<GetLearningJournalEntryQuery, GetLearningJournalEntryQueryVariables>(\n    GET_LEARNING_JOURNAL_ENTRY_QUERY,\n    { id }\n  )\n\n  return learningJournal\n}\n"
  },
  {
    "path": "src/graphql/queries/getLearningJournalPage.ts",
    "content": "import { gql } from 'graphql-request'\nimport { formatRFC3339 } from 'date-fns'\n\nimport { graphQLClient } from 'config/graphQLClient'\nimport { GetLearningJournalPageQuery, GetLearningJournalPageQueryVariables } from '__generated__/graphql/schema'\n\nconst GET_LEARNING_JOURNAL_PAGE_QUERY = gql`\n  query GetLearningJournalPage(\n    $where: LearningJournalWhereInput\n    $limit: Int!\n    $offset: Int!\n  ) {\n    learningJournalsConnection(\n      orderBy: date_DESC\n      where: $where\n      first: $limit\n      skip: $offset\n    ) {\n      aggregate {\n        count\n      }\n      edges {\n        node {\n          id\n          work\n          date\n          curiosity\n          programming\n          resources {\n            id\n            url\n            label\n          }\n        }\n      }\n      pageInfo {\n        hasNextPage\n        hasPreviousPage\n      }\n    }\n  }\n`\n\nexport const LEARNING_JOURNAL_PAGE_SIZE = 2\nexport async function getLearningJournalPage (\n  page: number,\n  date: string\n) {\n  const variables = {\n    limit: LEARNING_JOURNAL_PAGE_SIZE,\n    offset: Number((page - 1) * LEARNING_JOURNAL_PAGE_SIZE),\n    ...(date\n      ? {\n          where: {\n            date: formatRFC3339(new Date(date))\n          }\n        }\n      : {})\n  }\n\n  const { learningJournalsConnection } = await graphQLClient.request<GetLearningJournalPageQuery, GetLearningJournalPageQueryVariables>(\n    GET_LEARNING_JOURNAL_PAGE_QUERY,\n    variables\n  )\n\n  return learningJournalsConnection\n}\n"
  },
  {
    "path": "src/graphql/queries/getTalksPage.ts",
    "content": "import { gql } from 'graphql-request'\n\nimport { graphQLClient } from 'config/graphQLClient'\nimport { CONTENT_FRAGMENT } from 'graphql/fragments/contentFragment'\nimport { GetTalksPageQuery } from '__generated__/graphql/schema'\n\nconst GET_TALKS_PAGE_QUERY = gql`\n  ${CONTENT_FRAGMENT}\n  query GetTalksPage {\n    talks: contents(where: {category: Talk}) {\n     ...ContentFields\n    }\n    podcasts: contents(where: {category: PodcastParticipation}) {\n      ...ContentFields\n    }\n  }\n`\n\nexport async function getTalksPage () {\n  return graphQLClient.request<GetTalksPageQuery>(\n    GET_TALKS_PAGE_QUERY\n  )\n}\n"
  },
  {
    "path": "src/graphql/queries/getTimeline.ts",
    "content": "import { gql } from 'graphql-request'\n\nimport { graphQLClient } from 'config/graphQLClient'\nimport { GetTimelineQuery, GetTimelineQueryVariables } from '__generated__/graphql/schema'\n\nconst GET_TIMELINE_QUERY = gql`\n  query GetTimeline(\n    $first: Int\n    $skip: Int\n  ) {\n    timeline: timelines(\n      orderBy: year_DESC\n      first: $first\n      skip: $skip\n    ) {\n      id\n      year\n      achievements(orderBy: createdAt_DESC) {\n        id\n        title\n        description\n      }\n    }\n    timelinesConnection(first: $first, skip: $skip) {\n      pageInfo {\n        hasNextPage\n      }\n    }\n  }\n`\n\nconst TIMELINE_PAGE_SIZE = 2\nexport async function getTimeline (pageIndex = 0) {\n  const skip = pageIndex * TIMELINE_PAGE_SIZE\n  const { timeline, timelinesConnection } = await graphQLClient.request<GetTimelineQuery, GetTimelineQueryVariables>(\n    GET_TIMELINE_QUERY,\n    {\n      skip,\n      first: TIMELINE_PAGE_SIZE\n    })\n\n  const { pageInfo: { hasNextPage } } = timelinesConnection\n  return timeline.map((item) => ({ ...item, hasNextPage }))\n}\n"
  },
  {
    "path": "src/hooks/SWRCacheKeyGetters.ts",
    "content": "/**\n * A object mapper for SWR key getters that define a unique signature\n * for interpolated parameters and associate it with the cache key\n *\n * @example useSWR(SWRCacheKeyGetters.learningJournal(1, '01-01-2022'))\n */\nexport const SWRCacheKeyGetters = {\n  timeline: (pageIndex = 0) => ['timeline', pageIndex],\n  learningJournalPage: (page: number, date?: string) => {\n    return `learning-journal-${page}-${date}`\n  },\n  learningJournalEntry: (id: string) => `learning-journal-entry-${id}`\n}\n"
  },
  {
    "path": "src/hooks/useHasMounted/index.tsx",
    "content": "import { useState, useEffect } from 'react'\n\n/**\n * Handles the mounted state of the component.\n *\n * Useful for cases where a content should only be rendered on the browser\n * and the DOM should stay the same on the server and on the re-hydration process.\n */\nexport function useHasMounted () {\n  const [hasMounted, setHasMounted] = useState(false)\n\n  useEffect(() => {\n    setHasMounted(true)\n  }, [])\n\n  return { hasMounted }\n}\n"
  },
  {
    "path": "src/hooks/useLearningJournalQuery.ts",
    "content": "import useSWR from 'swr'\nimport { useQueryParam, NumberParam, withDefault } from 'use-query-params'\n\nimport { getLearningJournalPage, LEARNING_JOURNAL_PAGE_SIZE } from 'graphql/queries/getLearningJournalPage'\n\nimport { SWRCacheKeyGetters } from './SWRCacheKeyGetters'\n\ntype UseLearningJournalQueryParameters = {\n  date: string;\n  initialPage: number;\n}\n\nfunction calculatePagesCount (pageSize: number, totalCount: number) {\n  return totalCount < pageSize ? 1 : Math.ceil(totalCount / pageSize)\n}\n\nexport function useLearningJournalQuery ({\n  date,\n  initialPage\n}: UseLearningJournalQueryParameters) {\n  const [page, setPage] = useQueryParam('page', withDefault(NumberParam, initialPage))\n\n  const {\n    data,\n    error,\n    isValidating\n  } = useSWR(SWRCacheKeyGetters.learningJournalPage(page, date), () =>\n    getLearningJournalPage(page, date)\n  )\n\n  const { edges, aggregate } = data ?? {}\n  const pagesCount = calculatePagesCount(LEARNING_JOURNAL_PAGE_SIZE, aggregate?.count)\n\n  const handleNextPage = () => {\n    setPage(prev => Math.min(prev + 1, pagesCount))\n  }\n\n  const handlePrevPage = () => {\n    setPage(prev => Math.max(prev - 1, 1))\n  }\n\n  const hasEntries = edges?.length > 0\n  const isLoading = !hasEntries && isValidating\n\n  return {\n    data,\n    error,\n    isLoading,\n    handleNextPage,\n    handlePrevPage\n  }\n}\n"
  },
  {
    "path": "src/hooks/useTimelineQuery.ts",
    "content": "import useSWRInfinite from 'swr/infinite'\n\nimport { getTimeline } from 'graphql/queries/getTimeline'\n\nimport { SWRCacheKeyGetters } from './SWRCacheKeyGetters'\n\nexport function useTimelineQuery ({ fallbackData }) {\n  const {\n    data,\n    size,\n    setSize,\n    isValidating\n  } = useSWRInfinite(\n    SWRCacheKeyGetters.timeline,\n    (_cacheString, pageIndex: number) => getTimeline(pageIndex ?? 1), {\n      fallbackData\n    })\n\n  const hasEntries = data?.length > 0\n  const isLoading = !hasEntries && isValidating\n  const timeline = data ? [].concat(...data) : []\n\n  const handleNextPage = () => {\n    setSize(size + 1)\n  }\n\n  const resetPagination = () => {\n    setSize(1)\n  }\n\n  return {\n    timeline,\n    isLoading,\n    isValidating,\n    handleNextPage,\n    resetPagination\n  }\n}\n"
  },
  {
    "path": "src/pages/_app.tsx",
    "content": "import { ReactNode } from 'react'\nimport type { AppProps } from 'next/app'\nimport { Global } from '@emotion/react'\nimport { DefaultSeo } from 'next-seo'\nimport { ChakraProvider } from '@chakra-ui/react'\nimport { ColorModeToggleProvider } from '@laurabeatris/chakra-ui-flashless'\n\nimport { Layout } from 'components/Layout'\nimport { configSEO } from 'config/SEO'\nimport { colorModeVariables } from 'styles/theme/colorModeVariables'\nimport { theme } from 'styles/theme'\nimport { global } from 'styles/global'\n\nimport LearningJournalEntry from './learning-journal/[id]'\n\ntype ConditionalWrapperProps = {\n  wrapper: (children: ReactNode) => JSX.Element;\n  condition: boolean;\n  children: JSX.Element;\n}\n\n/**\n * Contains the name of page components that shouldn't be a children of Layout\n */\nconst PAGE_LAYOUT_BLACK_LIST = [LearningJournalEntry.name]\nconst ConditionalWrapper = ({ condition, wrapper, children }: ConditionalWrapperProps) =>\n  condition ? wrapper(children) : children\n\nexport default function MyApp ({ Component, pageProps }: AppProps) {\n  const shouldRenderLayout = !PAGE_LAYOUT_BLACK_LIST.includes(Component.name)\n\n  return (\n    <>\n      <DefaultSeo {...configSEO} />\n      <Global styles={global} />\n      <ChakraProvider\n        resetCSS\n        theme={theme}\n      >\n        <ColorModeToggleProvider\n          theme={theme}\n          customVariables={colorModeVariables}\n        >\n          <ConditionalWrapper\n            wrapper={(children) => <Layout>{children}</Layout>}\n            condition={shouldRenderLayout}\n          >\n            <Component {...pageProps} />\n          </ConditionalWrapper>\n        </ColorModeToggleProvider>\n      </ChakraProvider>\n    </>\n  )\n}\n"
  },
  {
    "path": "src/pages/_document.tsx",
    "content": "import Document, {\n  Html,\n  Head,\n  Main,\n  NextScript\n} from 'next/document'\n\nimport { FlashlessScript } from '@laurabeatris/chakra-ui-flashless'\n\nimport { theme } from 'styles/theme'\nimport { colorModeVariables } from 'styles/theme/colorModeVariables'\n\nclass MyDocument extends Document {\n  render () {\n    return (\n      <Html lang='en'>\n        <Head>\n          <link\n            rel='preload'\n            href='/fonts/inter-var-latin.woff2'\n            as='font'\n            crossOrigin='anonymous'\n          />\n          <link href='favicons/site.webmanifest' rel='manifest' />\n          <link rel='icon' type='image/png' href='/favicons/favicon-32x32.png' sizes='32x32' />\n          <link rel='icon' type='image/png' href='/favicons/favicon-16x16.png' sizes='16x16' />\n          <link rel='apple-touch-icon' sizes='180x180' href='/favicons/apple-touch-icon.png' />\n          <link rel='icon' type='image/png' sizes='32x32' href='/favicons/favicon-32x32.png' />\n          <link rel='icon' type='image/png' sizes='16x16' href='/favicons/favicon-16x16.png' />\n          <meta name='application-name' content='&nbsp;' />\n          <meta content='IE=edge' httpEquiv='X-UA-Compatible' />\n          <meta name='msapplication-TileColor' content={theme.colors.white[100]} />\n          <meta name='msapplication-TileImage' content='mstile-144x144.png' />\n          <meta\n            content='/favicons/browserconfig.xml'\n            name='msapplication-config'\n          />\n          <link rel='mask-icon' href='/favicons/safari-pinned-tab.svg' color={theme.colors.white[100]} />\n        </Head>\n        <body>\n          <FlashlessScript\n            theme={theme}\n            customVariables={colorModeVariables}\n          />\n          <Main />\n          <NextScript />\n        </body>\n      </Html>\n    )\n  }\n}\n\nexport default MyDocument\n"
  },
  {
    "path": "src/pages/about.tsx",
    "content": "import { VStack } from '@chakra-ui/react'\nimport { InferGetStaticPropsType } from 'next'\nimport { RichText } from '@graphcms/rich-text-react-renderer'\n\nimport { Heading } from 'components/Base/Heading'\nimport { ImageWithCaptions } from 'components/ImageWithCaptions'\nimport { getAboutMePage } from 'graphql/queries/getAboutMePage'\nimport { Paragraph } from 'components/Base/Paragraph'\nimport { HighlightLink } from 'components/Base/HighlightLink'\n\nexport const getStaticProps = async () => {\n  try {\n    const { sections } = await getAboutMePage()\n\n    return {\n      props: {\n        sections\n      }\n    }\n  } catch (error) {\n    // eslint-disable-next-line no-console\n    console.log(error)\n\n    return {\n      props: {}\n    }\n  }\n}\n\nconst RichTextParagraph = ({ children }) => <Paragraph variant='regular'>{children}</Paragraph>\nconst RichTextAnchor = ({ children, href }) => <HighlightLink href={href}>{children}</HighlightLink>\nconst richTextCustomElements = {\n  p: RichTextParagraph,\n  a: RichTextAnchor\n}\n\nexport default function About ({\n  sections\n}: InferGetStaticPropsType<typeof getStaticProps>) {\n  return (\n    <VStack\n      width='full'\n      spacing={10}\n      paddingTop={5}\n      paddingBottom={10}\n      alignItems='flex-start'\n    >\n      {sections.map(({ id, title, description, images }) => (\n        <VStack\n          key={id}\n          width='full'\n          spacing={5}\n          alignItems='flex-start'\n        >\n          <Heading as='h2'>{title}</Heading>\n          <RichText\n            content={description.raw}\n            renderers={richTextCustomElements}\n          />\n\n          {images.map(({ id, mainCaption, subCaption, asset }) => (\n            <ImageWithCaptions\n              key={id}\n              imageSrc={asset.url}\n              subCaption={subCaption}\n              mainCaption={mainCaption}\n            />\n          ))}\n        </VStack>\n      ))}\n    </VStack>\n  )\n}\n"
  },
  {
    "path": "src/pages/api/webhooks/learning-journal.ts",
    "content": "import { NextApiRequest, NextApiResponse } from 'next'\nimport { verifyWebhookSignature } from '@graphcms/utils'\nimport { DateTime } from 'luxon'\nimport mql from '@microlink/mql'\nimport axios from 'axios'\n\nimport { twitterClient } from 'config/twitterClient'\n\nconst secret = process.env.CMS_WEBHOOK_SECRET\nconst isHtmlDebug = process.env.OG_HTML_DEBUG === '1'\n\nasync function getScreenshotBuffer (url: string) {\n  const { data } = await mql(url, {\n    colorScheme: 'dark',\n    viewport: {\n      width: 1000,\n      height: 630\n    },\n    screenshot: {\n      type: 'png'\n    }\n  })\n\n  const { data: fileDownload } = await axios.get(data.screenshot.url, {\n    responseType: 'arraybuffer'\n  })\n  return Buffer.from(fileDownload, 'utf-8')\n}\n\nasync function sendTweetWithScreenshot (date: string, screenshotBuffer: Buffer) {\n  const mediaId = await twitterClient.v1.uploadMedia(screenshotBuffer, {\n    mimeType: 'image/png'\n  })\n  const twitterResponse = await twitterClient.v2.tweet(`\n📝 Learning Journal, ${DateTime.fromISO(date).toFormat('DDD')}:\n\nhttps://laurabeatris.com/learning-journal\n    `, {\n    media: { media_ids: [mediaId] }\n  })\n\n  return twitterResponse\n}\n\nexport default async function handler (\n  request: NextApiRequest,\n  response: NextApiResponse\n) {\n  const { body, headers } = request\n  const { id, date } = body.data ?? {}\n  const url = `${process.env.NEXT_PUBLIC_APP_URL}/learning-journal/${id}`\n\n  try {\n    const signature = headers['gcms-signature']\n    const hasValidSignature =\n    signature &&\n    verifyWebhookSignature({\n      body,\n      secret,\n      signature\n    })\n\n    if (!hasValidSignature) {\n      return response.status(403).send('Invalid webhook request')\n    }\n\n    if (isHtmlDebug) {\n      return response.redirect(url)\n    }\n\n    const screenshotBuffer = await getScreenshotBuffer(url)\n    const twitterResponse = await sendTweetWithScreenshot(date, screenshotBuffer)\n\n    response.status(200).json(twitterResponse)\n  } catch (error) {\n    console.error(error)\n    response\n      .status(error?.response?.status || 500)\n      .json({ message: error?.message || 'Something went wrong' })\n  }\n}\n"
  },
  {
    "path": "src/pages/index.tsx",
    "content": "import { ArrowRightIcon } from '@chakra-ui/icons'\nimport { Stack, Text, VStack } from '@chakra-ui/react'\nimport { InferGetStaticPropsType } from 'next'\nimport { SWRConfig } from 'swr'\n\nimport { Heading } from 'components/Base/Heading'\nimport { HighlightLink } from 'components/Base/HighlightLink'\nimport { Paragraph } from 'components/Base/Paragraph'\nimport { ProjectsList } from 'components/ProjectsList'\nimport { links } from 'constants/links'\nimport { getHomePage } from 'graphql/queries/getHomePage'\nimport { getTimeline } from 'graphql/queries/getTimeline'\nimport { gradients } from 'styles/theme/gradients'\nimport { getDayOfWeek } from 'utils/getDayOfWeek'\n\nconst { clerk } = links\n\nconst now = new Date()\nconst dayOfWeek = getDayOfWeek(now.getDate(), now.getMonth(), now.getFullYear())\nconst GreenArrowRightIcon = () => <ArrowRightIcon color='green.400' style={{ width: 10 }} />\n\ntype HomeContainerProps = InferGetStaticPropsType<typeof getStaticProps>\n\nexport async function getStaticProps () {\n  try {\n    const { stackCategories, initialProjects } = await getHomePage()\n    const timeline = await getTimeline()\n\n    return {\n      props: {\n        timeline,\n        initialProjects,\n        stackCategories\n      }\n    }\n  } catch (error) {\n    // eslint-disable-next-line no-console\n    console.log(error)\n\n    return {\n      props: {}\n    }\n  }\n}\n\ntype HomeContentProps = Pick<HomeContainerProps, 'timeline' | 'stackCategories' | 'initialProjects'>\nfunction HomeContent ({ timeline, initialProjects }: HomeContentProps) {\n  return (\n    <VStack\n      width='full'\n      alignItems='flex-start'\n      paddingTop={5}\n      paddingBottom={10}\n    >\n      <Heading as='h1'>\n        Happy {dayOfWeek}!\n        <br />\n        I'm Laura Beatris\n      </Heading>\n\n      <VStack spacing={0} width='full' alignItems='flex-start'>\n        <Paragraph variant='regular'>\n          Product Engineer at <HighlightLink href={clerk.href}>{clerk.label}</HighlightLink>\n        </Paragraph>\n\n        <Stack direction={['column', 'row']} spacing={[-1, 1]}>\n          <Paragraph variant='regular'>\n            Following the flow of\n          </Paragraph>\n          <Paragraph display='inline'>\n            <Text\n              bgClip='text'\n              bgGradient={gradients.greenToBlue}\n            >\n              learning <GreenArrowRightIcon /> creating <GreenArrowRightIcon /> teaching 🚀\n            </Text>\n          </Paragraph>\n        </Stack>\n      </VStack>\n\n      {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n      {/* @ts-ignore-error */}\n      <ProjectsList initialProjects={initialProjects} />\n    </VStack>\n  )\n}\n\nexport default function HomeContainer ({\n  timeline,\n  initialProjects,\n  stackCategories\n}: HomeContainerProps) {\n  return (\n    <SWRConfig>\n      <HomeContent initialProjects={initialProjects} timeline={timeline} stackCategories={stackCategories} />\n    </SWRConfig>\n  )\n}\n"
  },
  {
    "path": "src/pages/learning-journal/[id].tsx",
    "content": "import { HStack, Text, VStack } from '@chakra-ui/react'\nimport useSWR from 'swr'\nimport { DateTime } from 'luxon'\nimport { useRouter } from 'next/router'\n\nimport { SWRCacheKeyGetters } from 'hooks/SWRCacheKeyGetters'\nimport { getLearningJournalEntry } from 'graphql/queries/getLearningJournalEntry'\nimport { gradients } from 'styles/theme/gradients'\nimport { LearningJournalList } from 'components/LearningJournalList'\n\nexport default function LearningJournalEntry () {\n  const { query } = useRouter()\n  const id = query.id as string\n\n  const {\n    data, isValidating\n  } = useSWR(SWRCacheKeyGetters.learningJournalEntry(id),\n    () => getLearningJournalEntry(id)\n  )\n\n  const { date, work, curiosity, programming } = data ?? {}\n  const formattedDate = DateTime.fromISO(date).toFormat('DD')\n  const isLoading = isValidating && !data\n\n  return (\n    <VStack padding='10' as='main' alignItems='flex-start' width={1000}>\n      {!isLoading && (\n        <>\n          <HStack as='header' width='full' justifyContent='space-between'>\n            <Text\n              id='learning-journal-date'\n              as='h1'\n              bgClip='text'\n              fontSize={32}\n              fontWeight='bold'\n              bgGradient={gradients.greenToBlue}\n            >\n              {formattedDate}\n            </Text>\n\n            <HStack>\n              <Text\n                id='learning-journal-date'\n                as='h2'\n                display='inline'\n                fontSize={24}\n                fontWeight='bold'\n              >\n                Learning Journal\n              </Text>\n              <Text\n                id='learning-journal-date'\n                as='h2'\n                bgClip='text'\n                display='inline'\n                fontSize={24}\n                fontWeight='bold'\n                bgGradient={gradients.greenToBlue}\n              >\n                @lauradotjs\n              </Text>\n            </HStack>\n          </HStack>\n          <VStack as='section' alignItems='flex-start'>\n            <LearningJournalList\n              title='🏗 Work'\n              list={work}\n              listSize='xl'\n              headingSize='md'\n            />\n          </VStack>\n          <VStack as='section' alignItems='flex-start'>\n            <LearningJournalList\n              title='💫 Programming'\n              list={programming}\n              listSize='xl'\n              headingSize='md'\n            />\n          </VStack>\n          <VStack as='section' alignItems='flex-start'>\n            <LearningJournalList\n              title='😮 Curiosity'\n              list={curiosity}\n              listSize='xl'\n              headingSize='md'\n            />\n          </VStack>\n        </>\n      )}\n    </VStack>\n  )\n}\n"
  },
  {
    "path": "src/pages/learning-journal/index.tsx",
    "content": "import { useState } from 'react'\nimport {\n  Box,\n  Button,\n  Flex,\n  HStack,\n  Link,\n  List,\n  ListIcon,\n  ListItem,\n  SkeletonCircle,\n  SkeletonText,\n  Stack,\n  Text,\n  VStack\n} from '@chakra-ui/react'\nimport { ChevronLeftIcon, ChevronRightIcon, LinkIcon } from '@chakra-ui/icons'\nimport { DateTime } from 'luxon'\nimport { SWRConfig } from 'swr'\nimport { NextAdapter } from 'next-query-params'\nimport { QueryParamProvider } from 'use-query-params'\n\nimport { Heading } from 'components/Base/Heading'\nimport { Paragraph } from 'components/Base/Paragraph'\nimport { LearningJournalList } from 'components/LearningJournalList'\nimport { SingleDateSelector } from 'components/SingleDateSelector'\nimport { HydrationSkeleton } from 'components/Base/HydrationSkeleton'\nimport { gradients } from 'styles/theme/gradients'\nimport { getLearningJournalPage } from 'graphql/queries/getLearningJournalPage'\nimport { SWRCacheKeyGetters } from 'hooks/SWRCacheKeyGetters'\nimport { useLearningJournalQuery } from 'hooks/useLearningJournalQuery'\n\nconst initialDate = null\nconst initialPage = 1\n\nexport async function getStaticProps () {\n  try {\n    return {\n      props: {\n        fallback: {\n          [SWRCacheKeyGetters.learningJournalPage(initialPage, initialDate)]: (\n            await getLearningJournalPage(initialPage, initialDate)\n          )\n        }\n      }\n    }\n  } catch (error) {\n    // eslint-disable-next-line no-console\n    console.log(error)\n\n    return {\n      props: {}\n    }\n  }\n}\n\nfunction LearningJournalSkeleton () {\n  return (\n    <VStack width='full'>\n      <Box padding='6' boxShadow='lg' bg='white' w='full'>\n        <SkeletonCircle size='10' />\n        <SkeletonText mt='4' noOfLines={4} spacing='4' />\n      </Box>\n      <Box padding='6' boxShadow='lg' bg='white' w='full'>\n        <SkeletonCircle size='10' />\n        <SkeletonText mt='4' noOfLines={4} spacing='4' />\n      </Box>\n      <Box padding='6' boxShadow='lg' bg='white' w='full'>\n        <SkeletonCircle size='10' />\n        <SkeletonText mt='4' noOfLines={4} spacing='4' />\n      </Box>\n    </VStack>\n  )\n}\n\ntype LearningJournalEntriesProps = {\n  isLoading: boolean;\n  // TODO - Fix type definition from learning journal entries using types from GraphQL Codegen\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  entries: any;\n}\n\nfunction LearningJournalEntries ({\n  entries,\n  isLoading\n}: LearningJournalEntriesProps) {\n  if (isLoading) {\n    return <LearningJournalSkeleton />\n  }\n\n  if (!entries?.length) {\n    return (\n      <Flex\n        width='full'\n        paddingTop='4'\n        justifyContent='center'\n      >\n        <Paragraph\n          size='sm'\n          variant='medium'\n          textAlign='center'\n        >\n          No entries found\n        </Paragraph>\n      </Flex>\n    )\n  }\n\n  return (\n    <VStack>\n      <List width='full' spacing={6} paddingTop={2} marginBottom={5}>\n        {entries.map(\n          ({\n            id,\n            work,\n            resources,\n            dateTitle,\n            curiosity,\n            programming\n          }) => {\n            const shouldShowResources = (resources ?? []).length > 0\n\n            return (\n              <VStack\n                as='li'\n                key={id}\n                width='full'\n                spacing={5}\n                alignItems='flex-start'\n                paddingTop={5}\n                borderTopWidth={1}\n              >\n                <Text\n                  as='h3'\n                  bgClip='text'\n                  fontSize={22}\n                  fontWeight='bold'\n                  bgGradient={gradients.greenToBlue}\n                >\n                  {dateTitle}\n                </Text>\n\n                <LearningJournalList title='Work' list={work} />\n                <LearningJournalList\n                  title='Programming'\n                  list={programming}\n                />\n                <LearningJournalList title='Curiosity' list={curiosity} />\n\n                {shouldShowResources\n                  ? (\n                    <>\n                      <Heading size='xs'>Resources</Heading>\n                      <List spacing={2}>\n                        {resources.map(({ url, label }) => (\n                          <ListItem key={label}>\n                            <ListIcon as={LinkIcon} />\n\n                            <Link\n                              href={url}\n                              bgClip='text'\n                              isExternal\n                              fontWeight='bold'\n                              bgGradient={gradients.greenToBlue}\n                              borderBottomWidth={1}\n                              borderBottomColor='gray.100'\n                            >\n                              {label}\n                            </Link>\n                          </ListItem>\n                        ))}\n                      </List>\n                    </>\n                    )\n                  : null}\n              </VStack>\n            )\n          }\n        )}\n      </List>\n    </VStack>\n  )\n}\n\nfunction transformLearningJournalEdges (edges) {\n  return edges?.map(({ node }) => ({\n    ...node,\n    dateTitle: DateTime.fromISO(node.date).toFormat('DD')\n  }))\n}\n\nfunction LearningJournalContent () {\n  const [date, setDate] = useState(initialDate)\n  const {\n    data: { edges, pageInfo } = {},\n    isLoading,\n    handleNextPage,\n    handlePrevPage\n  } = useLearningJournalQuery({ date, initialPage })\n\n  const { hasPreviousPage, hasNextPage } = pageInfo ?? {}\n  const entries = transformLearningJournalEdges(edges)\n\n  const handleDateInputValueChange = (inputValue: string) => {\n    setDate(inputValue)\n  }\n\n  return (\n    <VStack\n      as='section'\n      width='full'\n      paddingTop={5}\n      paddingBottom={10}\n      alignItems='flex-start'\n    >\n      <VStack as='header' width='full' alignItems='flex-start'>\n        <Heading as='h2'>Learning Journal</Heading>\n\n        <Paragraph variant='regular'>\n          Documenting my learning journey throughout the years.\n        </Paragraph>\n\n        <Stack direction={['column', 'row']} paddingTop='2'>\n          <SingleDateSelector onInputValueChange={handleDateInputValueChange} />\n\n          <HStack justifyContent={['center', 'flex-start']}>\n            <Button\n              onClick={handlePrevPage}\n              leftIcon={<ChevronLeftIcon />}\n              disabled={!hasPreviousPage}\n              aria-label='Previous page'\n            >\n              Prev\n            </Button>\n            <Button\n              onClick={handleNextPage}\n              disabled={!hasNextPage}\n              rightIcon={<ChevronRightIcon />}\n              aria-label='Next page'\n            >\n              Next\n            </Button>\n          </HStack>\n        </Stack>\n      </VStack>\n\n      <HydrationSkeleton\n        width='full'\n        endColor='transparent'\n        startColor='transparent'\n      >\n        <LearningJournalEntries isLoading={isLoading} entries={entries} />\n      </HydrationSkeleton>\n    </VStack>\n  )\n}\n\nexport default function LearningJournalContainer ({ fallback }) {\n  return (\n    <SWRConfig value={{ fallback }}>\n      <QueryParamProvider adapter={NextAdapter}>\n        <LearningJournalContent />\n      </QueryParamProvider>\n    </SWRConfig>\n  )\n}\n"
  },
  {
    "path": "src/pages/talks.tsx",
    "content": "import { InferGetStaticPropsType } from 'next'\nimport { VStack } from '@chakra-ui/react'\n\nimport { Heading } from 'components/Base/Heading'\nimport { ContentList } from 'components/ContentList'\nimport { getTalksPage } from 'graphql/queries/getTalksPage'\n\nfunction ContentSection ({ title, contentList }) {\n  return (\n    <VStack\n      width='full'\n      spacing={5}\n      alignItems='flex-start'\n    >\n      <Heading as='h2'>{title}</Heading>\n\n      <ContentList contentList={contentList} />\n    </VStack>\n  )\n}\n\nexport async function getStaticProps () {\n  try {\n    const { talks, podcasts } = await getTalksPage()\n\n    return {\n      props: {\n        talks,\n        podcasts\n      }\n    }\n  } catch (error) {\n    // eslint-disable-next-line no-console\n    console.log(error)\n\n    return {\n      props: {}\n    }\n  }\n}\n\nexport default function Talks ({\n  talks,\n  podcasts\n}: InferGetStaticPropsType<typeof getStaticProps>) {\n  return (\n    <VStack\n      width='full'\n      spacing={10}\n      paddingTop={5}\n      paddingBottom={10}\n      alignItems='flex-start'\n    >\n      <ContentSection\n        title='Talks'\n        contentList={talks}\n      />\n\n      <ContentSection\n        title='Podcasts'\n        contentList={podcasts}\n      />\n    </VStack>\n  )\n}\n"
  },
  {
    "path": "src/scripts/generate-sitemap.js",
    "content": "const fs = require('fs')\n\nconst globby = require('globby')\nconst prettier = require('prettier')\n\n;(async () => {\n  const prettierConfig = await prettier.resolveConfig('./.prettierrc.js')\n  const pages = await globby([\n    'src/pages/**/*{.tsx,.jsx,.js}',\n    '!src/pages/_*{.tsx,.jsx,.js}',\n    '!src/pages/api'\n  ], {\n  })\n\n  const sitemap = `\n    <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n    <urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n        ${pages\n          .map((page) => {\n            const path = page\n              .replace('./src/', '')\n              .replace('pages', '')\n              .replace('.tsx', '')\n\n            const route = path === '/index' ? '' : path\n\n            return `\n                    <url>\n                        <loc>${`https://laurabeatris.com${route}`}</loc>\n                    </url>\n                `\n          })\n          .join('')}\n    </urlset>\n  `\n\n  fs.writeFileSync('public/sitemap.xml', prettier.format(sitemap, {\n    ...prettierConfig,\n    parser: 'html'\n  }))\n})()\n"
  },
  {
    "path": "src/styles/global.ts",
    "content": "import { css } from '@emotion/react'\n\nimport { colors } from './theme/colors'\n\nexport const global = css`\n  @font-face {\n    font-family: 'Inter';\n    font-style: normal;\n    font-weight: 100 900;\n    font-display: optional;\n    src: url(/fonts/inter-var-latin.woff2) format('woff2');\n    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,\n      U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,\n      U+FEFF, U+FFFD;\n  }\n\n  ::selection {\n    background-color: ${colors.green[400]};\n    color: ${colors.white[100]};\n  }\n\n  .next-image {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: 4px;\n\n    &---contained {\n      object-fit: contain;\n    }\n  }\n`\n"
  },
  {
    "path": "src/styles/theme/colorModeVariables.ts",
    "content": "import hexToRgba from 'hex-to-rgba'\nimport { Types } from '@laurabeatris/chakra-ui-flashless'\n\nimport { colors } from './colors'\n\nexport const colorModeVariables: Types.Variables = {\n  // '--variable-name': [lightVariant, [darkVariant, 0.5]]\n  '--app-background-color': [colors.white['100'], colors.dark],\n  '--header-background-color': [\n    hexToRgba(colors.white[100], 0.5),\n    hexToRgba(colors.dark, 0.5)\n  ],\n  '--text-color': [colors.dark, colors.white['100']],\n  '--popover-color': [colors.white['100'], colors.dark],\n  '--popover-background-color': [colors.dark, colors.white['100']],\n  '--gray-paragraph-variant-color': [colors.gray['300'], colors.white['100']],\n  '--header-active-link-color': [colors.dark, colors.green['400']],\n  '--header-mobile-menu-color': [colors.white['100'], colors.dark],\n  '--project-filters-background-color': [colors.dark, colors.white['100']],\n  '--project-filters-color': [colors.white['100'], colors.dark],\n  '--date-selector-background-color': [colors.white['100'], colors.dark]\n}\n"
  },
  {
    "path": "src/styles/theme/colors.ts",
    "content": "export const colors = {\n  white: {\n    100: '#F2F2F2'\n  },\n  gray: {\n    100: '#BFBFBF',\n    200: '#C5CFDC',\n    300: '#6B6B6B'\n  },\n  dark: '#262626',\n  green: {\n    400: '#43CEA2',\n    500: '#38B19F'\n  },\n  blue: {\n    100: '#3196b3'\n  },\n  yellow: {\n    100: '#F7CC42',\n    200: '#F9B52A'\n  }\n}\n"
  },
  {
    "path": "src/styles/theme/components.ts",
    "content": "import { highlightLinkStyles, HIGHLIGHT_LINK_THEME_KEY } from 'components/Base/HighlightLink/styles'\nimport { headingStyles, HEADING_THEME_KEY } from 'components/Base/Heading/styles'\nimport { paragraphStyles, PARAGRAPH_THEME_KEY } from 'components/Base/Paragraph/styles'\nimport { singleDateSelectorStyles, SINGLE_DATE_SELECTOR_THEME_KEY } from 'components/SingleDateSelector/styles'\n\nexport const components = {\n  [HEADING_THEME_KEY]: headingStyles,\n  [PARAGRAPH_THEME_KEY]: paragraphStyles,\n  [HIGHLIGHT_LINK_THEME_KEY]: highlightLinkStyles,\n  [SINGLE_DATE_SELECTOR_THEME_KEY]: singleDateSelectorStyles\n}\n"
  },
  {
    "path": "src/styles/theme/config.ts",
    "content": "export const config = {\n  useSystemColorMode: true\n}\n"
  },
  {
    "path": "src/styles/theme/fonts.ts",
    "content": "export const fonts = {\n  body: \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'\"\n}\n"
  },
  {
    "path": "src/styles/theme/gradients.ts",
    "content": "export const gradients = {\n  greenToBlue: 'linear(to-r, green.400, green.500, blue.100)'\n}\n"
  },
  {
    "path": "src/styles/theme/index.ts",
    "content": "import { extendTheme } from '@chakra-ui/react'\nimport { flashless } from '@laurabeatris/chakra-ui-flashless'\n\nimport { colors } from './colors'\nimport { fonts } from './fonts'\nimport { components } from './components'\nimport { config } from './config'\n\nexport const theme = extendTheme(flashless({\n  config,\n  colors,\n  fonts,\n  components\n}))\n"
  },
  {
    "path": "src/utils/getDayOfWeek.ts",
    "content": "export function getDayOfWeek (day: number, month: number, year: number) {\n  return new Date(year, month, day).toLocaleString('en-US', {\n    weekday: 'long'\n  })\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"lib\": [\n      \"dom\",\n      \"dom.iterable\",\n      \"esnext\"\n    ],\n    \"allowJs\": true,\n    \"skipLibCheck\": true,\n    \"strict\": false,\n    \"forceConsistentCasingInFileNames\": true,\n    \"noEmit\": true,\n    \"esModuleInterop\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"resolveJsonModule\": true,\n    \"isolatedModules\": true,\n    \"jsx\": \"preserve\",\n    \"baseUrl\": \"./src\",\n    \"incremental\": true\n  },\n  \"include\": [\n    \"next-env.d.ts\",\n    \"src/**/*\",\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n"
  },
  {
    "path": "vercel.json",
    "content": "{\n  \"cleanUrls\": true,\n  \"trailingSlash\": false,\n  \"headers\": [\n    {\n      \"source\": \"/fonts/inter-var-latin.woff2\",\n      \"headers\": [\n        {\n          \"key\": \"Cache-Control\",\n          \"value\": \"public, max-age=31536000, immutable\"\n        }\n      ]\n    }\n  ],\n  \"redirects\": [\n    {\n      \"source\": \"/youtube\",\n      \"destination\": \"https://www.youtube.com/c/LauraBeatris\"\n    },\n    {\n      \"source\": \"/github\",\n      \"destination\": \"https://github.com/LauraBeatris\"\n    },\n    {\n      \"source\": \"/linkedin\",\n      \"destination\": \"https://www.linkedin.com/in/laurabeatris/\"\n    },\n    {\n      \"source\": \"/twitter\",\n      \"destination\": \"https://twitter.com/lauradotjs\"\n    },\n    {\n      \"source\": \"/blog\",\n      \"destination\": \"https://dev.to/laurabeatris\"\n    }\n  ]\n}\n"
  }
]