From bf2de78ea33ff8b30e5b4f4cb7cebe53f0d348f3 Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Mon, 17 Aug 2020 14:51:11 +0530 Subject: [PATCH 01/21] server: don't throw validation error when joining singleton type to array type --- .../RQL/DDL/RemoteRelationship/Validate.hs | 22 +++++++++------- ...tionship_joining_singleton_with_array.yaml | 26 +++++++++++++++++++ ...mote_rel_joining_singleton_with_array.yaml | 25 ++++++++++++++++++ .../tests-py/remote_schemas/nodejs/index.js | 8 ++++++ server/tests-py/test_remote_relationships.py | 8 ++++++ 5 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 server/tests-py/queries/remote_schemas/remote_relationships/basic_relationship_joining_singleton_with_array.yaml create mode 100644 server/tests-py/queries/remote_schemas/remote_relationships/setup_remote_rel_joining_singleton_with_array.yaml diff --git a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs index ae137ce5db5..ab83e46d746 100644 --- a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs +++ b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs @@ -407,16 +407,18 @@ validateType permittedVariables value expectedGType types = assertType :: G.GType -> G.GType -> Validation (NonEmpty ValidationError) () assertType actualType expectedType = do - -- check if both are list types or both are named types - (when - (isListType' actualType /= isListType' expectedType) - (Failure (pure $ ExpectedTypeButGot expectedType actualType))) - -- if list type then check over unwrapped type, else check base types - if isListType' actualType - then assertType (unwrapTy actualType) (unwrapTy expectedType) - else (when - (getBaseTy actualType /= getBaseTy expectedType) - (Failure (pure $ ExpectedTypeButGot expectedType actualType))) + -- The GraphQL spec says that, we can coerce a singleton value into an array + -- value. Which means that if the 'actualType' is a singleton value, like + -- 'Int' we should be able to join this with a remote node, which expects an + -- input argument of type '[Int]' + -- http://spec.graphql.org/June2018/#sec-Type-System.List + case (isListType' actualType,isListType' expectedType) of + (True, True) -> assertType (unwrapTy actualType) (unwrapTy expectedType) + (True, False) -> Failure (pure $ ExpectedTypeButGot expectedType actualType) + _ -> + (when + (getBaseTy actualType /= getBaseTy expectedType) + (Failure (pure $ ExpectedTypeButGot expectedType actualType))) pure () assertListType :: G.GType -> Validation (NonEmpty ValidationError) () diff --git a/server/tests-py/queries/remote_schemas/remote_relationships/basic_relationship_joining_singleton_with_array.yaml b/server/tests-py/queries/remote_schemas/remote_relationships/basic_relationship_joining_singleton_with_array.yaml new file mode 100644 index 00000000000..49c066fd7ce --- /dev/null +++ b/server/tests-py/queries/remote_schemas/remote_relationships/basic_relationship_joining_singleton_with_array.yaml @@ -0,0 +1,26 @@ +description: Simple Remote relationship with singleton input value type joining to an expected array input type +url: /v1/graphql +status: 200 +response: + data: + profiles: + - id: 1 + remoteUsers: + - user_id: 1 + userMessages: + - id: 1 + msg: "You win!" +query: + query: | + query { + profiles(where:{ id: { _eq: 1}}) { + id + remoteUsers { + user_id + userMessages { + id + msg + } + } + } + } diff --git a/server/tests-py/queries/remote_schemas/remote_relationships/setup_remote_rel_joining_singleton_with_array.yaml b/server/tests-py/queries/remote_schemas/remote_relationships/setup_remote_rel_joining_singleton_with_array.yaml new file mode 100644 index 00000000000..6871d9f1c71 --- /dev/null +++ b/server/tests-py/queries/remote_schemas/remote_relationships/setup_remote_rel_joining_singleton_with_array.yaml @@ -0,0 +1,25 @@ +type: bulk +args: +- type: create_remote_relationship + args: + name: remoteUsers + table: profiles + hasura_fields: + - id + remote_schema: my-remote-schema + remote_field: + users: + arguments: + user_ids: "$id" + +- type: create_remote_relationship + args: + name: remoteUsersMultipleIds + table: profiles + hasura_fields: + - id + remote_schema: my-remote-schema + remote_field: + users: + arguments: + user_ids: ["$id"] diff --git a/server/tests-py/remote_schemas/nodejs/index.js b/server/tests-py/remote_schemas/nodejs/index.js index 15b61cbc3bd..7ea925e9c05 100644 --- a/server/tests-py/remote_schemas/nodejs/index.js +++ b/server/tests-py/remote_schemas/nodejs/index.js @@ -53,6 +53,7 @@ const typeDefs = gql` hello: String messages(where: MessageWhereInpObj, includes: IncludeInpObj): [Message] user(user_id: Int!): User + users(user_ids: [Int]!): [User] message(id: Int!) : Message communications(id: Int): [Communication] } @@ -175,6 +176,13 @@ const resolvers = { user: (_, { user_id }) => { return { "user_id": user_id }; }, + users: (parent, args, context, info) => { + var results = [] + for (userId of args.user_ids) { + results.push({"user_id":userId}) + } + return results; + }, communications: (_, { id }) => { var result = allMessages; if(id) { diff --git a/server/tests-py/test_remote_relationships.py b/server/tests-py/test_remote_relationships.py index 42b761f0780..d2274f35997 100644 --- a/server/tests-py/test_remote_relationships.py +++ b/server/tests-py/test_remote_relationships.py @@ -54,6 +54,9 @@ class TestCreateRemoteRelationship: st_code, resp = hge_ctx.v1q_f(self.dir() + 'setup_remote_rel_multiple_fields.yaml') assert st_code == 200, resp + st_code, resp = hge_ctx.v1q_f(self.dir() + 'setup_remote_rel_joining_singleton_with_array.yaml') + assert st_code == 200, resp + # st_code, resp = hge_ctx.v1q_f(self.dir() + 'setup_remote_rel_with_interface.yaml') # assert st_code == 200, resp @@ -157,6 +160,11 @@ class TestExecution: assert st_code == 200, resp check_query_f(hge_ctx, self.dir() + 'query_with_arr_rel.yaml') + def test_basic_relationship_joining_singleton_to_array(self, hge_ctx): + st_code, resp = hge_ctx.v1q_f(self.dir() + 'setup_remote_rel_joining_singleton_with_array.yaml') + assert st_code == 200, resp + check_query_f(hge_ctx, self.dir() + 'basic_relationship_joining_singleton_with_array.yaml') + def test_basic_array(self, hge_ctx): st_code, resp = hge_ctx.v1q_f(self.dir() + 'setup_remote_rel_array.yaml') assert st_code == 200, resp From 87b1b5718d0273dca874eb8c9733d46a65fa760e Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Mon, 17 Aug 2020 14:55:54 +0530 Subject: [PATCH 02/21] reword a comment --- server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs index ab83e46d746..7a4c08a19a4 100644 --- a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs +++ b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs @@ -408,7 +408,7 @@ validateType permittedVariables value expectedGType types = assertType :: G.GType -> G.GType -> Validation (NonEmpty ValidationError) () assertType actualType expectedType = do -- The GraphQL spec says that, we can coerce a singleton value into an array - -- value. Which means that if the 'actualType' is a singleton value, like + -- value. Which means that if the 'actualType' is a singleton type, like -- 'Int' we should be able to join this with a remote node, which expects an -- input argument of type '[Int]' -- http://spec.graphql.org/June2018/#sec-Type-System.List From 22b4b285aa7f627260875f8503455998b33ef4c3 Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Mon, 17 Aug 2020 16:01:54 +0530 Subject: [PATCH 03/21] add changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 821301c3e19..827eeb38f1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ If you do have such headers configured, then you must update the header configur - server: add logs for action handlers - server: add request/response sizes in event triggers (and scheduled trigger) logs (#5463) - server: change startup log kind `db_migrate` to `catalog_migrate` (#5531) +- server: don't throw validation error when creating remote relationships joining singleton type with array type with same base type (fixes #5133) - console: handle nested fragments in allowed queries (close #5137) (#5252) - console: update sidebar icons for different action and trigger types (#5445) - console: make add column UX consistent with others (#5486) From 82b1718e2a14d11d18fb3256fd86dd327d257a24 Mon Sep 17 00:00:00 2001 From: Meera Sundar Date: Tue, 18 Aug 2020 10:02:23 +0530 Subject: [PATCH 04/21] change README for Hasura Cloud --- community/sample-apps/svelte-apollo/README.md | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/community/sample-apps/svelte-apollo/README.md b/community/sample-apps/svelte-apollo/README.md index fbca0671667..86d09dd0a72 100644 --- a/community/sample-apps/svelte-apollo/README.md +++ b/community/sample-apps/svelte-apollo/README.md @@ -1,22 +1,19 @@ # svelte-graphql-app -A sample [Svelte 3](https://svelte.dev) app to demonstrate usage of GraphQL Queries, Mutations and Subscriptions with [svelte-apollo](https://github.com/timhall/svelte-apollo), Hasura GraphQL engine and Postgres as database. Forked from the standard svelte [template](https://github.com/sveltejs/template) +A sample [Svelte 3](https://svelte.dev) app to demonstrate usage of GraphQL Queries, Mutations and Subscriptions with [svelte-apollo](https://github.com/timhall/svelte-apollo), Hasura Cloud and Postgres as database. Forked from the standard svelte [template](https://github.com/sveltejs/template) [![Edit svelte-graphql](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/github/hasura/graphql-engine/tree/master/community/sample-apps/svelte-apollo?fontsize=14) -## Deploy Hasura +## Create new Hasura Cloud project -- Deploy Postgres and GraphQL Engine on Heroku: - - [![Deploy to - heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/hasura/graphql-engine-heroku) +- Create new Hasura Cloud project with the `Try a free database with Heroku` option. - Please checkout our [docs](https://hasura.io/docs/1.0/graphql/manual/deployment/index.html) for other deployment methods + Please check out our [docs](https://hasura.io/docs/cloud/1.0/manual/getting-started/index.html) for the detailed steps. -- Get the Heroku app URL (say `my-app.herokuapp.com`) +- Get the app URL (something like `https://.hasura.app`) - Create `author` table: - - Open Hasura console: visit https://my-app.herokuapp.com on a browser + + Open your Hasura Cloud project's console: visit `https://.hasura.app` on a browser Navigate to `Data` section in the top nav bar and create a table as follows: ![Create author table](../gatsby-postgres-graphql/assets/add_table.jpg) @@ -51,7 +48,7 @@ Install the dependencies... npm install ``` -- Open `src/apollo.js` and configure Hasura's GraphQL Endpoint as follows: +- Open `src/apollo.js` and configure Hasura's GraphQL Endpoint as follows: ```javascript @@ -72,7 +69,7 @@ npm install }); ``` -Replace the `uri` argument with your Hasura GraphQL Endpoint for both `wsLink` and `httpLink` +Replace the `uri` argument with your Hasura GraphQL Endpoint (something like `https://.hasura.app/v1/graphql`) for both `wsLink` and `httpLink` Start [Rollup](https://rollupjs.org): @@ -99,4 +96,3 @@ now ``` This will deploy the app on Now 2.0 Platform and you have the Svetle app running live :) - From 8f2a780d96af320f77652d0ccdcf1769537ca7fb Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Wed, 19 Aug 2020 13:41:19 +0530 Subject: [PATCH 05/21] improve the assertType check while validating remote relationship --- server/src-lib/Hasura/GraphQL/Utils.hs | 10 +++++++ .../RQL/DDL/RemoteRelationship/Validate.hs | 26 +++++++++++-------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/server/src-lib/Hasura/GraphQL/Utils.hs b/server/src-lib/Hasura/GraphQL/Utils.hs index 10367786700..ac192274e85 100644 --- a/server/src-lib/Hasura/GraphQL/Utils.hs +++ b/server/src-lib/Hasura/GraphQL/Utils.hs @@ -10,6 +10,7 @@ module Hasura.GraphQL.Utils , unwrapTy , simpleGraphQLQuery , jsonValueToGValue + , getBaseTyWithNestedLevelsCount ) where import Hasura.Prelude @@ -40,6 +41,15 @@ getBaseTy = \case where getBaseTyL = getBaseTy . G.unListType +getBaseTyWithNestedLevelsCount :: G.GType -> (G.NamedType, Int) +getBaseTyWithNestedLevelsCount ty = go ty 0 + where + go :: G.GType -> Int -> (G.NamedType, Int) + go gType ctr = + case gType of + G.TypeNamed _ n -> (n, ctr) + G.TypeList _ lt -> flip go (ctr + 1) (G.unListType lt) + unwrapTy :: G.GType -> G.GType unwrapTy = \case diff --git a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs index 7a4c08a19a4..3c01e238e51 100644 --- a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs +++ b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs @@ -406,20 +406,24 @@ validateType permittedVariables value expectedGType types = "not an input object type")) assertType :: G.GType -> G.GType -> Validation (NonEmpty ValidationError) () -assertType actualType expectedType = do - -- The GraphQL spec says that, we can coerce a singleton value into an array - -- value. Which means that if the 'actualType' is a singleton type, like +assertType actualType expectedType = + -- The GraphQL spec says that, a singleton type can be coerced into an array + -- type. Which means that if the 'actualType' is a singleton type, like -- 'Int' we should be able to join this with a remote node, which expects an -- input argument of type '[Int]' -- http://spec.graphql.org/June2018/#sec-Type-System.List - case (isListType' actualType,isListType' expectedType) of - (True, True) -> assertType (unwrapTy actualType) (unwrapTy expectedType) - (True, False) -> Failure (pure $ ExpectedTypeButGot expectedType actualType) - _ -> - (when - (getBaseTy actualType /= getBaseTy expectedType) - (Failure (pure $ ExpectedTypeButGot expectedType actualType))) - pure () + let (actualBaseType, actualNestingLevel) = getBaseTyWithNestedLevelsCount actualType + (expectedBaseType, expectedNestingLevel) = getBaseTyWithNestedLevelsCount expectedType + in + if actualBaseType == expectedBaseType + then if (actualNestingLevel == expectedNestingLevel || actualNestingLevel == 0) + -- The check of 'actualNestedCount == 0' is the case of coercing a singleton type + -- into an array type + then pure () + else Failure (pure $ ExpectedTypeButGot expectedType actualType) + -- we cannot coerce two types with different nesting levels, + -- for example, we cannot coerce [Int] to [[Int]] + else Failure (pure $ ExpectedTypeButGot expectedType actualType) assertListType :: G.GType -> Validation (NonEmpty ValidationError) () assertListType actualType = From 32766d2e9cf5122073d4e232ff3c931b03d285ca Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Wed, 19 Aug 2020 13:41:57 +0530 Subject: [PATCH 06/21] show the GraphQL type instead of just the base type while throwing error --- server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs index 3c01e238e51..0d6049a2751 100644 --- a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs +++ b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs @@ -65,7 +65,7 @@ validateErrorToText (toList -> errs) = TableFieldNonexistent table fieldName -> "field with name " <> fieldName <<> " not found in table " <>> table ExpectedTypeButGot expTy actualTy -> - "expected type " <> getBaseTy expTy <<> " but got " <>> getBaseTy actualTy + "expected type " <> G.showGT expTy <<> " but got " <>> G.showGT actualTy InvalidType ty err -> "type " <> getBaseTy ty <<> err InvalidVariable var _ -> From 0a34d58d6e554a01de7cea69c4d15521aed96dca Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Thu, 20 Aug 2020 11:34:23 +0530 Subject: [PATCH 07/21] refactor assertType to isTypeCoercible --- .../Hasura/RQL/DDL/RemoteRelationship/Validate.hs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs index 0d6049a2751..2e30e354168 100644 --- a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs +++ b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs @@ -363,12 +363,12 @@ validateType permittedVariables value expectedGType types = Just fieldInfo -> bindValidation (columnInfoToNamedType fieldInfo) - (\actualNamedType -> assertType (G.toGT actualNamedType) expectedGType) - G.VInt {} -> assertType (G.toGT $ mkScalarTy PGInteger) expectedGType - G.VFloat {} -> assertType (G.toGT $ mkScalarTy PGFloat) expectedGType - G.VBoolean {} -> assertType (G.toGT $ mkScalarTy PGBoolean) expectedGType + (\actualNamedType -> isTypeCoercible (G.toGT actualNamedType) expectedGType) + G.VInt {} -> isTypeCoercible (G.toGT $ mkScalarTy PGInteger) expectedGType + G.VFloat {} -> isTypeCoercible (G.toGT $ mkScalarTy PGFloat) expectedGType + G.VBoolean {} -> isTypeCoercible (G.toGT $ mkScalarTy PGBoolean) expectedGType G.VNull -> Failure (pure NullNotAllowedHere) - G.VString {} -> assertType (G.toGT $ mkScalarTy PGText) expectedGType + G.VString {} -> isTypeCoercible (G.toGT $ mkScalarTy PGText) expectedGType G.VEnum _ -> Failure (pure UnsupportedEnum) G.VList (G.unListValue -> values) -> do case values of @@ -405,8 +405,8 @@ validateType permittedVariables value expectedGType types = (G.toGT $ G.NamedType name) "not an input object type")) -assertType :: G.GType -> G.GType -> Validation (NonEmpty ValidationError) () -assertType actualType expectedType = +isTypeCoercible :: G.GType -> G.GType -> Validation (NonEmpty ValidationError) () +isTypeCoercible actualType expectedType = -- The GraphQL spec says that, a singleton type can be coerced into an array -- type. Which means that if the 'actualType' is a singleton type, like -- 'Int' we should be able to join this with a remote node, which expects an From a3704b4cff62431bb77e915bf3c238c38f95bb30 Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Fri, 21 Aug 2020 12:51:35 +0530 Subject: [PATCH 08/21] Update CHANGELOG.md Co-authored-by: Tirumarai Selvan --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 827eeb38f1a..36ab8ff53db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ If you do have such headers configured, then you must update the header configur - server: add logs for action handlers - server: add request/response sizes in event triggers (and scheduled trigger) logs (#5463) - server: change startup log kind `db_migrate` to `catalog_migrate` (#5531) -- server: don't throw validation error when creating remote relationships joining singleton type with array type with same base type (fixes #5133) +- server: allow remote relationships joining `type` column with `[type]` input argument as spec allows this coercion (fixes #5133) - console: handle nested fragments in allowed queries (close #5137) (#5252) - console: update sidebar icons for different action and trigger types (#5445) - console: make add column UX consistent with others (#5486) From a34913f24db6cea17c8155ccf83d070dd5099424 Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Fri, 21 Aug 2020 13:39:16 +0530 Subject: [PATCH 09/21] update changelog --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36ab8ff53db..ceb65031142 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,11 @@ ## Next release +- server: allow remote relationships joining `type` column with `[type]` input argument as spec allows this coercion (fixes #5133) + ### Breaking change -Headers from environment variables starting with `HASURA_GRAPHQL_` are not allowed +Headers from environment variables starting with `HASURA_GRAPHQL_` are not allowed in event triggers, actions & remote schemas. If you do have such headers configured, then you must update the header configuration before upgrading. @@ -21,7 +23,6 @@ If you do have such headers configured, then you must update the header configur - server: add logs for action handlers - server: add request/response sizes in event triggers (and scheduled trigger) logs (#5463) - server: change startup log kind `db_migrate` to `catalog_migrate` (#5531) -- server: allow remote relationships joining `type` column with `[type]` input argument as spec allows this coercion (fixes #5133) - console: handle nested fragments in allowed queries (close #5137) (#5252) - console: update sidebar icons for different action and trigger types (#5445) - console: make add column UX consistent with others (#5486) From 22d563c3b65c75fbaeb829b688497bc72e142b1c Mon Sep 17 00:00:00 2001 From: Karthikeyan Chinnakonda Date: Fri, 21 Aug 2020 16:21:55 +0530 Subject: [PATCH 10/21] use multiwayif instead of nested if-else --- .../Hasura/RQL/DDL/RemoteRelationship/Validate.hs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs index 2e30e354168..2ee67e0191f 100644 --- a/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs +++ b/server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs @@ -415,15 +415,13 @@ isTypeCoercible actualType expectedType = let (actualBaseType, actualNestingLevel) = getBaseTyWithNestedLevelsCount actualType (expectedBaseType, expectedNestingLevel) = getBaseTyWithNestedLevelsCount expectedType in - if actualBaseType == expectedBaseType - then if (actualNestingLevel == expectedNestingLevel || actualNestingLevel == 0) - -- The check of 'actualNestedCount == 0' is the case of coercing a singleton type - -- into an array type - then pure () - else Failure (pure $ ExpectedTypeButGot expectedType actualType) - -- we cannot coerce two types with different nesting levels, + if | actualBaseType /= expectedBaseType -> raiseValidationError + -- we cannot coerce two types with different nesting levels, -- for example, we cannot coerce [Int] to [[Int]] - else Failure (pure $ ExpectedTypeButGot expectedType actualType) + | (actualNestingLevel == expectedNestingLevel || actualNestingLevel == 0) -> pure () + | otherwise -> raiseValidationError + where + raiseValidationError = Failure (pure $ ExpectedTypeButGot expectedType actualType) assertListType :: G.GType -> Validation (NonEmpty ValidationError) () assertListType actualType = From f9267e556e48ee08b0485040b93b05b234954891 Mon Sep 17 00:00:00 2001 From: Phil Freeman Date: Mon, 24 Aug 2020 15:32:56 -0700 Subject: [PATCH 11/21] server: Improved tracing for nested inserts (#5624) --- server/src-lib/Hasura/GraphQL/Execute/Insert.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/server/src-lib/Hasura/GraphQL/Execute/Insert.hs b/server/src-lib/Hasura/GraphQL/Execute/Insert.hs index 9c6afb5a1f4..2646dd3d5c4 100644 --- a/server/src-lib/Hasura/GraphQL/Execute/Insert.hs +++ b/server/src-lib/Hasura/GraphQL/Execute/Insert.hs @@ -99,7 +99,7 @@ insertMultipleObjects -> Bool -> m EncJSON insertMultipleObjects env multiObjIns additionalColumns rjCtx mutationOutput planVars stringifyNum = - bool withoutRelsInsert withRelsInsert anyRelsToInsert + bool withoutRelsInsert withRelsInsert anyRelsToInsert where AnnIns insObjs table conflictClause checkCondition columnInfos defVals = multiObjIns allInsObjRels = concatMap _aioObjRels insObjs @@ -119,7 +119,10 @@ insertMultipleObjects env multiObjIns additionalColumns rjCtx mutationOutput pla checkCondition mutationOutput columnInfos - RQL.execInsertQuery env stringifyNum (Just rjCtx) (insertQuery, planVars) + rowCount = T.pack . show . length $ _aiInsObj multiObjIns + Tracing.trace ("Insert (" <> rowCount <> ") " <> qualObjectToText table) do + Tracing.attachMetadata [("count", rowCount)] + RQL.execInsertQuery env stringifyNum (Just rjCtx) (insertQuery, planVars) withRelsInsert = do insertRequests <- indexedForM insObjs \obj -> do @@ -142,7 +145,7 @@ insertObject -> Seq.Seq Q.PrepArg -> Bool -> m (Int, Maybe (ColumnValues TxtEncodedPGVal)) -insertObject env singleObjIns additionalColumns rjCtx planVars stringifyNum = do +insertObject env singleObjIns additionalColumns rjCtx planVars stringifyNum = Tracing.trace ("Insert " <> qualObjectToText table) do validateInsert (map fst columns) (map _riRelInfo objectRels) (map fst additionalColumns) -- insert all object relations and fetch this insert dependent column values From 37d9a7c841fbf0e9a69ab374433f17ec46a05ae6 Mon Sep 17 00:00:00 2001 From: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com> Date: Tue, 25 Aug 2020 13:03:18 +0530 Subject: [PATCH 12/21] console: collapse non-trackable functions section (#5657) --- console/src/components/Services/Data/Schema/Schema.js | 2 +- .../Data/TableRelationships/RelationshipEditor.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/console/src/components/Services/Data/Schema/Schema.js b/console/src/components/Services/Data/Schema/Schema.js index a309ace261f..4aa992c7e2c 100644 --- a/console/src/components/Services/Data/Schema/Schema.js +++ b/console/src/components/Services/Data/Schema/Schema.js @@ -692,7 +692,7 @@ class Schema extends Component { className={styles.add_mar_top} key={'non-trackable-custom-functions'} > - +
{getNonTrackableFuncList()}
diff --git a/console/src/components/Services/Data/TableRelationships/RelationshipEditor.js b/console/src/components/Services/Data/TableRelationships/RelationshipEditor.js index e01d34bc8f7..c1ae4e82738 100644 --- a/console/src/components/Services/Data/TableRelationships/RelationshipEditor.js +++ b/console/src/components/Services/Data/TableRelationships/RelationshipEditor.js @@ -112,11 +112,11 @@ class RelationshipEditor extends React.Component {
{getEditBtn()} {relName} +
-

{getRelDef(relConfig)}

From 7ff4025e2527d3f160d87a3db65421325b134fab Mon Sep 17 00:00:00 2001 From: sezgi Date: Tue, 25 Aug 2020 04:53:25 -0700 Subject: [PATCH 13/21] docs: move cloud docs (#5411) --- docs/404.rst | 2 + docs/_static/styles/landing.css | 6 +- docs/_static/styles/main.css | 4 + docs/_theme/djangodocs/layout.html | 10 +- docs/_theme/djangodocs/localtoc.html | 21 --- docs/_theme/djangodocs/pages/landing.html | 32 ++-- docs/cloud/allow-lists.rst | 34 +++++ docs/cloud/api-limits.rst | 49 ++++++ docs/cloud/api-reference.rst | 140 ++++++++++++++++++ docs/cloud/getting-started/index.rst | 93 ++++++++++++ docs/cloud/glossary.rst | 66 +++++++++ docs/cloud/hasurapro-cli/index.rst | 70 +++++++++ docs/cloud/index.rst | 74 +++++++++ docs/cloud/metrics/errors.rst | 23 +++ docs/cloud/metrics/index.rst | 35 +++++ docs/cloud/metrics/operations.rst | 119 +++++++++++++++ docs/cloud/metrics/overview.rst | 18 +++ docs/cloud/metrics/subscription-workers.rst | 18 +++ docs/cloud/metrics/usage.rst | 23 +++ docs/cloud/metrics/websockets.rst | 18 +++ docs/cloud/projects/create.rst | 89 +++++++++++ docs/cloud/projects/delete.rst | 19 +++ docs/cloud/projects/index.rst | 52 +++++++ .../projects/manage-projects/domains.rst | 71 +++++++++ .../projects/manage-projects/env-vars.rst | 27 ++++ .../projects/manage-projects/general.rst | 31 ++++ docs/cloud/projects/manage-projects/index.rst | 36 +++++ docs/cloud/projects/manage-projects/team.rst | 46 ++++++ docs/cloud/projects/secure.rst | 59 ++++++++ docs/cloud/read-replicas.rst | 42 ++++++ docs/cloud/regression-tests.rst | 97 ++++++++++++ docs/cloud/response-caching.rst | 66 +++++++++ docs/cloud/tracing.rst | 98 ++++++++++++ docs/graphql/manual/api-reference/config.rst | 3 + docs/graphql/manual/api-reference/explain.rst | 3 + .../api-reference/graphql-api/index.rst | 3 + docs/graphql/manual/api-reference/health.rst | 3 + docs/graphql/manual/api-reference/pgdump.rst | 3 + .../manual/api-reference/postgresql-types.rst | 3 + .../schema-metadata-api/actions.rst | 3 + .../schema-metadata-api/computed-field.rst | 3 + .../schema-metadata-api/custom-functions.rst | 3 + .../schema-metadata-api/custom-types.rst | 8 + .../schema-metadata-api/event-triggers.rst | 3 + .../schema-metadata-api/index.rst | 3 + .../schema-metadata-api/manage-metadata.rst | 3 + .../schema-metadata-api/permission.rst | 3 + .../schema-metadata-api/query-collections.rst | 3 + .../schema-metadata-api/relationship.rst | 3 + .../remote-relationships.rst | 3 + .../schema-metadata-api/remote-schemas.rst | 3 + .../scheduled-triggers.rst | 3 + .../schema-metadata-api/table-view.rst | 3 + docs/graphql/manual/api-reference/version.rst | 2 + .../common-roles-auth-examples.rst | 3 + docs/graphql/manual/deployment/allow-list.rst | 5 +- .../deployment/deployment-guides/index.rst | 6 +- .../graphql-engine-flags/config-examples.rst | 3 + .../deployment/graphql-engine-flags/index.rst | 3 + .../graphql-engine-flags/reference.rst | 7 +- .../deployment/production-checklist.rst | 3 + .../deployment/securing-graphql-endpoint.rst | 2 +- .../manual/event-triggers/clean-up.rst | 2 + .../manual/event-triggers/create-trigger.rst | 3 + .../graphql/manual/event-triggers/payload.rst | 4 + .../manual/event-triggers/serverless.rst | 3 + .../getting-started/first-event-trigger.rst | 5 + .../getting-started/first-graphql-query.rst | 3 + docs/graphql/manual/getting-started/index.rst | 6 +- .../using-existing-database.rst | 2 +- .../integrations/apollo-subscriptions.rst | 1 + .../guides/integrations/auth-guardian-jwt.rst | 23 +-- .../manual/guides/integrations/auth0-jwt.rst | 17 ++- docs/graphql/manual/guides/telemetry.rst | 3 + docs/graphql/manual/hasura-cli/index.rst | 5 +- docs/graphql/manual/how-it-works/index.rst | 3 + docs/graphql/manual/index.rst | 4 +- .../manual/queries/aggregation-queries.rst | 5 +- .../manual/queries/nested-object-queries.rst | 3 + docs/graphql/manual/queries/performance.rst | 6 +- .../manual/queries/simple-object-queries.rst | 3 + docs/graphql/manual/schema/basics.rst | 3 + .../manual/schema/custom-field-names.rst | 3 + .../schema/default-values/column-presets.rst | 3 + .../default-values/postgres-defaults.rst | 3 + .../schema/default-values/sql-functions.rst | 3 + .../manual/schema/export-graphql-schema.rst | 3 + .../manual/schema/using-existing-database.rst | 3 + .../manual/subscriptions/use-cases.rst | 3 + docs/img/cloud/getting-started/connect-db.png | Bin 0 -> 24388 bytes .../getting-started/connect-existing-db.png | Bin 0 -> 23804 bytes .../create-project-existing-db.png | Bin 0 -> 28792 bytes .../getting-started/create-project-new-db.png | Bin 0 -> 32158 bytes .../cloud/getting-started/project-actions.png | Bin 0 -> 19318 bytes .../project-functionalities.png | Bin 0 -> 19323 bytes docs/img/cloud/metrics/inspect-error.png | Bin 0 -> 80918 bytes docs/img/cloud/metrics/pro-tab-errors.png | Bin 0 -> 83818 bytes .../metrics/pro-tab-operations-inspect.png | Bin 0 -> 134182 bytes docs/img/cloud/metrics/pro-tab-operations.png | Bin 0 -> 115244 bytes docs/img/cloud/metrics/pro-tab-overview.png | Bin 0 -> 59753 bytes .../metrics/pro-tab-subscription-workers.png | Bin 0 -> 61289 bytes docs/img/cloud/metrics/pro-tab-usage.png | Bin 0 -> 132839 bytes docs/img/cloud/metrics/pro-tab-websockets.png | Bin 0 -> 79937 bytes docs/img/cloud/projects/add-collaborator.png | Bin 0 -> 37351 bytes docs/img/cloud/projects/add-custom-domain.png | Bin 0 -> 21388 bytes docs/img/cloud/projects/add-env-var.png | Bin 0 -> 55187 bytes .../cloud/projects/choose-custom-domain.png | Bin 0 -> 39575 bytes .../cloud/projects/cloud-create-project.png | Bin 0 -> 91849 bytes .../projects/cloud-project-invitation.png | Bin 0 -> 45442 bytes .../projects/cloud-projects-dashboard.png | Bin 0 -> 55466 bytes .../img/cloud/projects/create-new-project.png | Bin 0 -> 6993 bytes .../cloud/projects/create-project-heroku.png | Bin 0 -> 25387 bytes docs/img/cloud/projects/dns-settings.png | Bin 0 -> 22249 bytes docs/img/cloud/projects/dns-validated.png | Bin 0 -> 26899 bytes .../cloud/projects/dns-validation-pending.png | Bin 0 -> 26194 bytes docs/img/cloud/projects/existing-db-setup.png | Bin 0 -> 24965 bytes .../gcp-postgres-authorized-network.png | Bin 0 -> 50203 bytes docs/img/cloud/projects/hasura-cloud-ip.png | Bin 0 -> 54603 bytes docs/img/cloud/projects/manage-project.png | Bin 0 -> 18188 bytes .../img/cloud/projects/new-project-hosted.png | Bin 0 -> 24807 bytes .../projects/new-project-self-hosted.png | Bin 0 -> 18551 bytes docs/img/cloud/projects/project-details.png | Bin 0 -> 48582 bytes docs/img/cloud/projects/projects-delete.png | Bin 0 -> 62535 bytes docs/img/cloud/projects/projects-list.png | Bin 0 -> 57312 bytes docs/img/cloud/projects/secure-add-envvar.png | Bin 0 -> 41501 bytes docs/img/cloud/projects/secure-envvars.png | Bin 0 -> 28710 bytes docs/img/cloud/projects/secure-settings.png | Bin 0 -> 18643 bytes docs/img/cloud/projects/team-view.png | Bin 0 -> 31409 bytes .../regression-testing-diagram.png | Bin 0 -> 40690 bytes .../regression-tests-add-operations.png | Bin 0 -> 75326 bytes .../regression-tests-past-runs.png | Bin 0 -> 68812 bytes .../reliability/regression-tests-results.png | Bin 0 -> 20258 bytes .../reliability/regression-tests-run-cli.png | Bin 0 -> 32043 bytes .../regression-tests-run-tests.png | Bin 0 -> 54710 bytes .../reliability/regression-tests-suites.png | Bin 0 -> 58466 bytes .../regressions-run-prod-tests-on-dev.png | Bin 0 -> 23656 bytes .../cloud/security/allowlist-add-new-op.png | Bin 0 -> 61350 bytes .../security/pro-tab-apilimit-config.png | Bin 0 -> 62022 bytes docs/img/cloud/security/pro-tab-apilimits.png | Bin 0 -> 51987 bytes .../img/cloud/security/pro-tabs-allowlist.png | Bin 0 -> 48751 bytes .../tracing/tracing-operations-timing.png | Bin 0 -> 18920 bytes docs/index.rst | 6 + 142 files changed, 1740 insertions(+), 78 deletions(-) create mode 100644 docs/cloud/allow-lists.rst create mode 100644 docs/cloud/api-limits.rst create mode 100644 docs/cloud/api-reference.rst create mode 100644 docs/cloud/getting-started/index.rst create mode 100644 docs/cloud/glossary.rst create mode 100644 docs/cloud/hasurapro-cli/index.rst create mode 100644 docs/cloud/index.rst create mode 100644 docs/cloud/metrics/errors.rst create mode 100644 docs/cloud/metrics/index.rst create mode 100644 docs/cloud/metrics/operations.rst create mode 100644 docs/cloud/metrics/overview.rst create mode 100644 docs/cloud/metrics/subscription-workers.rst create mode 100644 docs/cloud/metrics/usage.rst create mode 100644 docs/cloud/metrics/websockets.rst create mode 100644 docs/cloud/projects/create.rst create mode 100644 docs/cloud/projects/delete.rst create mode 100644 docs/cloud/projects/index.rst create mode 100644 docs/cloud/projects/manage-projects/domains.rst create mode 100644 docs/cloud/projects/manage-projects/env-vars.rst create mode 100644 docs/cloud/projects/manage-projects/general.rst create mode 100644 docs/cloud/projects/manage-projects/index.rst create mode 100644 docs/cloud/projects/manage-projects/team.rst create mode 100644 docs/cloud/projects/secure.rst create mode 100644 docs/cloud/read-replicas.rst create mode 100644 docs/cloud/regression-tests.rst create mode 100644 docs/cloud/response-caching.rst create mode 100644 docs/cloud/tracing.rst create mode 100644 docs/img/cloud/getting-started/connect-db.png create mode 100644 docs/img/cloud/getting-started/connect-existing-db.png create mode 100644 docs/img/cloud/getting-started/create-project-existing-db.png create mode 100644 docs/img/cloud/getting-started/create-project-new-db.png create mode 100644 docs/img/cloud/getting-started/project-actions.png create mode 100644 docs/img/cloud/getting-started/project-functionalities.png create mode 100644 docs/img/cloud/metrics/inspect-error.png create mode 100644 docs/img/cloud/metrics/pro-tab-errors.png create mode 100644 docs/img/cloud/metrics/pro-tab-operations-inspect.png create mode 100644 docs/img/cloud/metrics/pro-tab-operations.png create mode 100644 docs/img/cloud/metrics/pro-tab-overview.png create mode 100644 docs/img/cloud/metrics/pro-tab-subscription-workers.png create mode 100644 docs/img/cloud/metrics/pro-tab-usage.png create mode 100644 docs/img/cloud/metrics/pro-tab-websockets.png create mode 100644 docs/img/cloud/projects/add-collaborator.png create mode 100644 docs/img/cloud/projects/add-custom-domain.png create mode 100644 docs/img/cloud/projects/add-env-var.png create mode 100644 docs/img/cloud/projects/choose-custom-domain.png create mode 100644 docs/img/cloud/projects/cloud-create-project.png create mode 100644 docs/img/cloud/projects/cloud-project-invitation.png create mode 100644 docs/img/cloud/projects/cloud-projects-dashboard.png create mode 100644 docs/img/cloud/projects/create-new-project.png create mode 100644 docs/img/cloud/projects/create-project-heroku.png create mode 100644 docs/img/cloud/projects/dns-settings.png create mode 100644 docs/img/cloud/projects/dns-validated.png create mode 100644 docs/img/cloud/projects/dns-validation-pending.png create mode 100644 docs/img/cloud/projects/existing-db-setup.png create mode 100644 docs/img/cloud/projects/gcp-postgres-authorized-network.png create mode 100644 docs/img/cloud/projects/hasura-cloud-ip.png create mode 100644 docs/img/cloud/projects/manage-project.png create mode 100644 docs/img/cloud/projects/new-project-hosted.png create mode 100644 docs/img/cloud/projects/new-project-self-hosted.png create mode 100644 docs/img/cloud/projects/project-details.png create mode 100644 docs/img/cloud/projects/projects-delete.png create mode 100644 docs/img/cloud/projects/projects-list.png create mode 100644 docs/img/cloud/projects/secure-add-envvar.png create mode 100644 docs/img/cloud/projects/secure-envvars.png create mode 100644 docs/img/cloud/projects/secure-settings.png create mode 100644 docs/img/cloud/projects/team-view.png create mode 100644 docs/img/cloud/reliability/regression-testing-diagram.png create mode 100644 docs/img/cloud/reliability/regression-tests-add-operations.png create mode 100644 docs/img/cloud/reliability/regression-tests-past-runs.png create mode 100644 docs/img/cloud/reliability/regression-tests-results.png create mode 100644 docs/img/cloud/reliability/regression-tests-run-cli.png create mode 100644 docs/img/cloud/reliability/regression-tests-run-tests.png create mode 100644 docs/img/cloud/reliability/regression-tests-suites.png create mode 100644 docs/img/cloud/reliability/regressions-run-prod-tests-on-dev.png create mode 100644 docs/img/cloud/security/allowlist-add-new-op.png create mode 100644 docs/img/cloud/security/pro-tab-apilimit-config.png create mode 100644 docs/img/cloud/security/pro-tab-apilimits.png create mode 100644 docs/img/cloud/security/pro-tabs-allowlist.png create mode 100644 docs/img/cloud/tracing/tracing-operations-timing.png diff --git a/docs/404.rst b/docs/404.rst index 809d02210dc..90afa47b1bc 100644 --- a/docs/404.rst +++ b/docs/404.rst @@ -1,5 +1,7 @@ .. title:: 404 - Page Not Found +:orphan: + 404 - Page Not Found --------------------- diff --git a/docs/_static/styles/landing.css b/docs/_static/styles/landing.css index 258dec72de6..80f2ad096ef 100644 --- a/docs/_static/styles/landing.css +++ b/docs/_static/styles/landing.css @@ -15,13 +15,11 @@ } .body_content { - font-family: 'Gudea'; font-size: 15px; color: #333; } .small_content { - font-family: 'Gudea'; font-size: 14px; color: #333; } @@ -101,6 +99,10 @@ padding-bottom: 0; } +.description { + margin-bottom: 20px; +} + .text_left { text-align: left; } diff --git a/docs/_static/styles/main.css b/docs/_static/styles/main.css index 83fff027cdd..5a8e745fdac 100644 --- a/docs/_static/styles/main.css +++ b/docs/_static/styles/main.css @@ -640,6 +640,10 @@ article ol ol { margin: 15px; } +.sphinxsidebarwrapper > ul:not(.current) { + display: none; +} + #sidebar { background-color: #001934; width: 24% !important; diff --git a/docs/_theme/djangodocs/layout.html b/docs/_theme/djangodocs/layout.html index bd69ec9b91b..9735cec0492 100644 --- a/docs/_theme/djangodocs/layout.html +++ b/docs/_theme/djangodocs/layout.html @@ -4,6 +4,12 @@ {% set is_landing_page = true %} {%- endif %} +{%- if 'graphql/manual' in pagename %} + {% set is_core = true %} +{%- elif 'cloud' in pagename %} + {% set is_cloud = true %} +{%- endif %} + {% set css_files = css_files + ['_static/graphiql/graphiql.css', '_static/styles/main.css'] %} {%- if is_landing_page %} @@ -187,12 +193,12 @@ Close diff --git a/docs/cloud/allow-lists.rst b/docs/cloud/allow-lists.rst new file mode 100644 index 00000000000..02b05da11a1 --- /dev/null +++ b/docs/cloud/allow-lists.rst @@ -0,0 +1,34 @@ +.. meta:: + :description: Hasura Cloud allow lists + :keywords: hasura, docs, cloud, security, allow + +.. _allow_lists: + +Allow lists +=========== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + +You can specify a list of safe operations (GraphQL queries, mutations or subscriptions) for your project. This list restricts your project's GraphQL Engine to execute only queries that are present in the list. + +Manage the allow list +--------------------- + +The manager view offers inspection, export, or removal of operations in the allow list: + +.. thumbnail:: /img/cloud/security/pro-tabs-allowlist.png + :alt: Hasura Cloud Console allow list tab + +Quick-create allowed operations +------------------------------- + +This Pro feature lets you add to the allow list with one click from the record of past operations. (With Core, allow lists must be :ref:`managed manually `.) + +.. thumbnail:: /img/cloud/security/allowlist-add-new-op.png + :alt: Hasura Cloud Console create new allowed operation \ No newline at end of file diff --git a/docs/cloud/api-limits.rst b/docs/cloud/api-limits.rst new file mode 100644 index 00000000000..e3688aef568 --- /dev/null +++ b/docs/cloud/api-limits.rst @@ -0,0 +1,49 @@ +.. meta:: + :description: Hasura Cloud API limits + :keywords: hasura, docs, cloud, security, limits + +.. _api_limits: + +API limits +========== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + +Limiting the depth and/or rate of API requests can help prevent API performance issues caused by malicious or poorly implemented queries. + +Configuring an API limit +------------------------ + +**Rate limits** + Restricts number of GraphQL operations per minute. This uses a sliding window approach. This means whenever Hasura Pro receives a request, it will count the rate of that client starting from the current time to last one minute. + +**Depth limits** + Restricts a GraphQL operation based on its depth, preventing deeply nested queries. + +API limits are defined by **role** (anonymous, user) and can restrict request rate, depth, or both. Unique request parameters can include IP address or session variables (*x-hasura-user-id*, *x-hasura-org-id*, etc.) + +Manage API limits +----------------- + +API limits can have a *global* or *per role* configuration. If an incoming request does not contain a valid role then the global limit is applied. + +.. thumbnail:: /img/cloud/security/pro-tab-apilimits.png + :alt: Hasura Cloud Console api limit tab + +.. admonition:: Admin & IntrospectionQuery exemptions + + All API limits are **not** applied for the admin role, and depth limits are **NOT** applied to introspection queries + +Quick-create limits +------------------- + +Hasura Cloud lets you add limits with one click from the list of past operations. + +.. thumbnail:: /img/cloud/security/pro-tab-apilimit-config.png + :alt: Hasura Cloud Console create new api limit \ No newline at end of file diff --git a/docs/cloud/api-reference.rst b/docs/cloud/api-reference.rst new file mode 100644 index 00000000000..7607a50d297 --- /dev/null +++ b/docs/cloud/api-reference.rst @@ -0,0 +1,140 @@ +.. meta:: + :description: Hasura Cloud API reference + :keywords: hasura, cloud, docs, API, API reference + +.. _cloud_api_reference: + +API Reference +============= + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + +Hasura Cloud provides a GraphQL API to interact with the services to create +and manage your projects. + +You can use any GraphQL client and use the API with the right authentication header. + +.. note:: + + Please note that the API is still in beta and might change before the + stable release. + +Endpoint +-------- + +API endpoint is ``https://data.pro.hasura.io/v1/graphql``. + +Authentication +-------------- + +Authentication is done using a Personal Access Token that you can create from +the Hasura Cloud Dashboard. You can find this option under the "Settings" tab. + +Once you have the token it can be used with the header: +``Authorization: pat ``. + +.. note:: + + This token can be used to authenticate against Hasura Cloud APIs and your Hasura Cloud projects. + Make sure you keep it secure. The token will be valid until you delete it from the dashboard. + +APIs +---- + +Each Hasura Cloud project is backed by an API entity called "Tenant", with a +distinct "Tenant ID" which is different from "Project ID". Each Project is +associated with a Tenant. In some cases, like Metrics API, the Project ID is +used instead of Tenant ID. + +List of APIs: + +.. contents:: + :backlinks: none + :depth: 1 + :local: + +Create a Tenant +^^^^^^^^^^^^^^^ + +.. code-block:: graphql + + mutation createProject { + createTenant( + cloud: "aws" + region: "us-east-2" + databaseUrl: "postgres://username:password@database-host.com:5432/dbname" + ) { + id + name + } + } + +Get Tenant details +^^^^^^^^^^^^^^^^^^ + +.. code-block:: graphql + + query getTenantDetails { + tenant_by_pk( + id: "7a79cf94-0e53-4520-a560-1b02bf522f08" + ) { + id + slug + project { + id + endpoint + } + } + } + +Delete a Tenant +^^^^^^^^^^^^^^^ + +.. code-block:: graphql + + mutation deleteTenant { + deleteTenant( + tenantId: "7a79cf94-0e53-4520-a560-1b02bf522f08" + ) { + status + } + } + +Get ENV Vars +^^^^^^^^^^^^ + +.. code-block:: graphql + + query getTenantENV { + getTenantEnv( + tenantId: "7a79cf94-0e53-4520-a560-1b02bf522f08" + ) { + hash + envVars + } + } + +Update ENV Vars +^^^^^^^^^^^^^^^ + +.. code-block:: graphql + + mutation updateTenantEnv { + updateTenantEnv( + tenantId: "7a79cf94-0e53-4520-a560-1b02bf522f08" + currentHash: "6902a395d70072fbf8d36288f0eacc36c9d82e68" + envs: [ + {key: "HASURA_GRAPHQL_ENABLE_CONSOLE", value: "true"}, + {key: "ACTIONS_ENDPOINT", value: "https://my-actions-endpoint.com/actions"} + ] + ) { + hash + envVars + } + } diff --git a/docs/cloud/getting-started/index.rst b/docs/cloud/getting-started/index.rst new file mode 100644 index 00000000000..b847e5a9c3b --- /dev/null +++ b/docs/cloud/getting-started/index.rst @@ -0,0 +1,93 @@ +.. meta:: + :description: Hasura Cloud getting started + :keywords: hasura, docs, cloud, signup + +.. _cloud_getting_started: + +Getting Started with Hasura Cloud +================================= + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Step 1: Create an account +------------------------- + +Navigate to `cloud.hasura.io +`__, and create a new Hasura Cloud account. + +.. _cloud_connect_db: + +Step 2: Connect new/existing database +------------------------------------- + +- To use an existing database, choose ``I have an existing Postgres database``. +- To create a new database, choose ``Try a free database with Heroku``. + +.. thumbnail:: /img/cloud/getting-started/connect-db.png + :alt: Connect new or existing database + :width: 591px + +Step 2a: Enter database URL (for existing database) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you chose ``I have an existing Postgres database`` in :ref:`Step 2 `, enter a database URL. + +.. thumbnail:: /img/cloud/getting-started/connect-existing-db.png + :alt: Enter URL for existing database + :width: 556px + +Step 3: Create project +---------------------- + +Click ``Create Project``. + +.. thumbnail:: /img/cloud/getting-started/create-project-new-db.png + :alt: Create project for new database + :width: 539px + :group: create + :class: inline-block + +.. thumbnail:: /img/cloud/getting-started/create-project-existing-db.png + :alt: Create project for existing database + :width: 552px + :group: create + :class: inline-block + +Next steps +---------- + +Once you've created your project, you can get started with building with Hasura or manage your project. + +.. contents:: + :backlinks: none + :depth: 1 + :local: + +.. thumbnail:: /img/cloud/getting-started/project-functionalities.png + :alt: Project actions + :width: 860px + + +Explore the Hasura console +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Click ``Launch Console`` to open the Hasura console in your browser and :ref:`make your first GraphQL query ` or :ref:`set up your first event trigger `. + +You can navigate to the ``Pro`` tab to check out the Pro features that Hasura Cloud has set up for you. + +.. thumbnail:: /img/cloud/metrics/pro-tab-overview.png + :alt: Hasura Console: Pro tab + :width: 1118px + +Manage your project +^^^^^^^^^^^^^^^^^^^ + +Click the gear icon to :ref:`manage your project ` (e.g. add collaborators, env vars or custom domains). + +Add an admin secret +^^^^^^^^^^^^^^^^^^^ + +:ref:`Add an admin secret ` to make sure that your GraphQL endpoint and the Hasura console are not publicly accessible. \ No newline at end of file diff --git a/docs/cloud/glossary.rst b/docs/cloud/glossary.rst new file mode 100644 index 00000000000..80b502a3471 --- /dev/null +++ b/docs/cloud/glossary.rst @@ -0,0 +1,66 @@ +.. meta:: + :description: Hasura Cloud glossary + :keywords: hasura, docs, cloud, glossary + +.. _glossary: + +Glossary +======== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Hasura Cloud Project +-------------------- + +A Project is an individual GraphQL API hosted by Hasura Cloud. You +can create a Project by going to the cloud dashboard and providing +a PostgreSQL database URL. You can also provision a database on +cloud platforms like Heroku from the Hasura Cloud Dashboard itself. + +Each project is allocated a unique auto-generated name and an ID. +You can use this name or ID while communicating to Hasura team +regarding this project. Each project is also assigned a GraphQL API +endpoint of the format ``https://.hasura.app/v1/graphql``. + +Editing the Project name and adding custom domains will be available soon. + +For example, a project might be called ``usable-cobra-29`` with ID +``bf0ea856-76a2-42c2-8a91-66ca9b9206e8``. + +Hasura Cloud IP +--------------- + +A Hasura Cloud IP will be listed on the Hasura Cloud Dashboard for +each project. Hasura will be connecting to your database from this IP address. +If your database is not exposed to the internet, you must allow connections +from this IP address on your firewall settings +for Hasura Cloud Project to function properly. Otherwise, Hasura will not +be able to connect to your database and the GraphQL API will not be available. + +Hasura Collaborator Token +------------------------- + +When you open the Hasura Console on a Cloud Project, you will not be asked to +enter the admin secret like Hasura Core version. Instead, you will be +automatically logged into the Console via an OAuth2.0 based authorization flow. +You will be given the right access based on your permissions for the particular +Hasura Cloud Project. + +After the login process is complete, you'll see a new header called +``Hasura-Collaborator-Token`` in the "Request Headers" section of GraphiQL. +This token is used instead of admin secret to authenticate and authorize +all the requests made from the Console. The token is only valid for 5mins +and is refreshed silently by the Console. It is to be used only from Console. + +For accessing the API from other clients, use the admin secret or create +a Personal Access Token. + +Hasura Client Name +------------------ + +``Hasura-Client-Name`` will be set to ``hasura-console`` by default. It is +used to identify the client who is making the request in Hasura Pro metrics +and monitoring tools. diff --git a/docs/cloud/hasurapro-cli/index.rst b/docs/cloud/hasurapro-cli/index.rst new file mode 100644 index 00000000000..831a8245777 --- /dev/null +++ b/docs/cloud/hasurapro-cli/index.rst @@ -0,0 +1,70 @@ +.. meta:: + :description: Hasura Pro CLI + :keywords: hasura, docs, command line interface, cli + +.. _hasurapro_cli: + +Hasura Pro CLI +============== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + + +Installing the Hasura Pro CLI +----------------------------- + +Hasura Pro CLI is distributed as a plugin to the :ref:`Hasura Core CLI ` + +- Follow the instructions :ref:`here ` to install Hasura Core CLI + +- Then execute the following command to install the Hasura Pro CLI plugin: + + .. code-block:: bash + + hasura plugins install pro + +- You can verify the installation by executing the ``help`` command: + + .. code-block:: bash + + hasura pro --help + +Authentication with the Hasura Pro CLI +-------------------------------------- + +All interactions from the CLI to Hasura’s APIs are authenticated using a personal access token generated for your user account. + +To set up a token, execute the following command on the CLI: + +.. code-block:: bash + + hasura pro login + +This command will show a prompt for entering the personal access token. + +Head to your `Hasura Cloud account settings `_ to create a new token. You can name it something like "cli". Note that the token will be shown only once and as soon as you copy the token, paste it in your terminal prompt. + +.. admonition:: Keep this token secure! + + This token can be used to authenticate against Hasura Pro APIs and your Hasura Cloud projects. Make sure you keep it secure. This is a one-time operation. The token will be valid until you delete it. + +Upgrading the CLI +----------------- + +To upgrade to a newer version, you can use the ``upgrade`` command: + +.. code-block:: bash + + hasura plugins upgrade pro + +Uninstalling the CLI +-------------------- + +To uninstall the CLI, use the ``uninstall`` command: + +.. code-block:: bash + + hasura plugins uninstall pro \ No newline at end of file diff --git a/docs/cloud/index.rst b/docs/cloud/index.rst new file mode 100644 index 00000000000..cf7712d33ef --- /dev/null +++ b/docs/cloud/index.rst @@ -0,0 +1,74 @@ +.. meta:: + :description: Hasura Cloud documentation + :keywords: hasura, docs, manual, graphql engine, cloud, hosted + +.. title:: Hasura Cloud Documentation + +.. _cloud_docs: + +Hasura Cloud Documentation +========================== + +`Hasura Cloud `__ offers hosted `GraphQL Engine `__ +projects with extra features for reliability and security. It includes all the :ref:`core features ` +of GraphQL Engine, while taking care of infrastructure concerns, such as the number of instances, cores, memory, concurrent users, high-availability, +realtime monitoring, caching, tracing, and rate-limiting. It supports both new and existing PostgreSQL databases. + +.. container:: toc-list + + .. container:: toc-list-section + + .. container:: toc-list-head + + Basics + + .. container:: toc-list-content + + - :ref:`cloud_getting_started` + - :ref:`projects` + + .. container:: toc-list-section + + .. container:: toc-list-head + + Features + + .. container:: toc-list-content + + - :ref:`metrics` + - :ref:`api_limits` + - :ref:`allow_lists` + - :ref:`regression_tests` + - :ref:`read_replicas` + - :ref:`response_caching` + - :ref:`tracing` + + .. container:: toc-list-section + + .. container:: toc-list-head + + Reference + + .. container:: toc-list-content + + - :ref:`cloud_api_reference` + - :ref:`glossary` + - :ref:`hasurapro_cli` + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :hidden: + + Getting Started + projects/index + metrics/index + api-limits + allow-lists + regression-tests + read-replicas + response-caching + tracing + hasurapro-cli/index + api-reference + glossary diff --git a/docs/cloud/metrics/errors.rst b/docs/cloud/metrics/errors.rst new file mode 100644 index 00000000000..1ceb3cc0cb5 --- /dev/null +++ b/docs/cloud/metrics/errors.rst @@ -0,0 +1,23 @@ +.. meta:: + :description: Hasura Cloud error analysis + :keywords: hasura, docs, cloud, reliability, errors + +.. _errors: + +Errors +====== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Troubleshoot errors quickly with powerful analytical tools and filters: + +.. thumbnail:: /img/cloud/metrics/pro-tab-errors.png + :alt: Hasura Cloud Console errors tab + +Drill into a specific operation via the magnifying-glass icon next to the operation summary in the 'Frequent errors' table. You'll be taken to a list of the failed operations, and can choose one to inspect the specific operation content, metadata, and error generated: + +.. thumbnail:: /img/cloud/metrics/inspect-error.png + :alt: Hasura Cloud Console inspect a failed operation diff --git a/docs/cloud/metrics/index.rst b/docs/cloud/metrics/index.rst new file mode 100644 index 00000000000..579a63e5da0 --- /dev/null +++ b/docs/cloud/metrics/index.rst @@ -0,0 +1,35 @@ +.. meta:: + :description: Hasura Cloud metrics + :keywords: hasura, docs, cloud, metrics + +.. _metrics: + +Metrics +======= + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + +Hasura Cloud projects include Pro features for enhanced reliability and performance + +.. thumbnail:: /img/cloud/metrics/pro-tab-overview.png + :alt: Hasura Cloud Console overview tab + +Learn more +---------- + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + overview + errors + usage + operations + websockets + subscription-workers \ No newline at end of file diff --git a/docs/cloud/metrics/operations.rst b/docs/cloud/metrics/operations.rst new file mode 100644 index 00000000000..527acadaecb --- /dev/null +++ b/docs/cloud/metrics/operations.rst @@ -0,0 +1,119 @@ +.. meta:: + :description: Hasura Cloud operation analysis + :keywords: hasura, docs, cloud, reliability, operations + +.. _operations: + +Operations +========== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Terminology +----------- + +**Operation** + Any GraphQL (query, mutation, subscription) request made to v1/graphql endpoint of a GraphQL engine instance + +**Operation name** + (Optional) Any GraphQL request can be labelled with a name by the client making the query. In this example, *getPollOptions* is the operation name: + + .. code-block:: graphql + + query getPollOptions ( + poll { + options { + id + name + description + } + } + } + +**Operation ID** + A unique, auto-generated hash for each Operation name; can distinguish between different operations executed with the same name + +**Operation type** + Whether the operation is a query, mutation, or subscription + +**Request ID** + A unique, auto-generated ID for each request, comes from x-request-id HTTP header + +**Websocket ID** + A unique ID generated by the server when a websocket connection is established by the client + +**Websocket Operation ID** + A unique ID generated by the websocket client for each operation it is sending to the server + +Operations +---------- + +Processed realtime logs of all requests to the GraphQL Engine. View all and inspect individual operations: + +.. thumbnail:: /img/cloud/metrics/pro-tab-operations.png + :alt: Hasura Cloud Console list operations + +.. thumbnail:: /img/cloud/metrics/pro-tab-operations-inspect.png + :alt: Hasura Cloud Console inspect operation + +Filtering operations +-------------------- + +Click on the **Filter** header to open the menu of filter options + +.. list-table:: + :header-rows: 1 + + * - Filter option + - Filter type + - Example or options + * - Time range + - timestamps + - last hour, last 6 hours, last 12 hours, last 24 hours, or custom range + * - Operation ID + - string (text field) + - 5284946f4e15aa81bc868316d56aa68f + * - Operation Name + - string (text field) + - getPollOptions + * - Request ID + - string (text field) + - e15f7bj9-3b9f-4152-92a4-e745471514af + * - Show only errors + - boolean (checkbox field) + - true or false (default false) + * - Websocket ID + - string (text field) + - def703fc-851f-48e8-8e5c-cbdead37b2fe + * - Websocket Operation ID + - string (text field) + - 110 + * - Hide introspection query + - boolean (checkbox field) + - true or false (default false) + * - Operation Type + - enum (select field) + - query, mutation, subscription, all + * - Role + - enum (select field) + - from *x-hasura-user-role*: no role, admin, user, ... + * - Error Code + - enum (select field) + - no error code, access-denied, depth-limit-exceeded, ... + * - Client Name + - enum (select field) + - no client name, hasura-console, hasura-test-runner, ... + * - Transport + - enum (select field) + - http or ws + * - Status + - enum (select field) + - started or closed + +Sorting operations +------------------ + +Each column in the **Operations List** can be sorted (ascending or descending) just by clicking on it. Very useful for identifying operations with unusually high execution time or response size! diff --git a/docs/cloud/metrics/overview.rst b/docs/cloud/metrics/overview.rst new file mode 100644 index 00000000000..ef343cbdb36 --- /dev/null +++ b/docs/cloud/metrics/overview.rst @@ -0,0 +1,18 @@ +.. meta:: + :description: Hasura Cloud overview + :keywords: hasura, docs, cloud, overview + +.. _overview: + +Overview +======== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +The Overview displays aggregate stats over the last hour: + +.. thumbnail:: /img/cloud/metrics/pro-tab-overview.png + :alt: Hasura Cloud Console overview tab \ No newline at end of file diff --git a/docs/cloud/metrics/subscription-workers.rst b/docs/cloud/metrics/subscription-workers.rst new file mode 100644 index 00000000000..be67eb82285 --- /dev/null +++ b/docs/cloud/metrics/subscription-workers.rst @@ -0,0 +1,18 @@ +.. meta:: + :description: Hasura Cloud subscription workers + :keywords: hasura, docs, cloud, reliability, subscriptions + +.. _subscription_workers: + +Subscription workers +==================== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Subscription workers offers a subscription-worker-specific version of usage statistics: + +.. thumbnail:: /img/cloud/metrics/pro-tab-subscription-workers.png + :alt: Hasura Cloud Console subscription workers tab \ No newline at end of file diff --git a/docs/cloud/metrics/usage.rst b/docs/cloud/metrics/usage.rst new file mode 100644 index 00000000000..53945f650bc --- /dev/null +++ b/docs/cloud/metrics/usage.rst @@ -0,0 +1,23 @@ +.. meta:: + :description: Hasura Cloud usage analysis + :keywords: hasura, docs, cloud, reliability, usage + +.. _usage: + +Usage +===== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Learn about usage with aggregate summaries and filtering tools: + +.. thumbnail:: /img/cloud/metrics/pro-tab-usage.png + :alt: Hasura Cloud Console usage tab + +Drill into an operation via its magnifying-glass icon in the 'Query List' table. You'll be taken to a list of similar operations, and can choose one to inspect for content, metadata, and error generated: + +.. thumbnail:: /img/cloud/metrics/pro-tab-operations-inspect.png + :alt: Hasura Cloud Console inspect an operation \ No newline at end of file diff --git a/docs/cloud/metrics/websockets.rst b/docs/cloud/metrics/websockets.rst new file mode 100644 index 00000000000..0312bdbd4ad --- /dev/null +++ b/docs/cloud/metrics/websockets.rst @@ -0,0 +1,18 @@ +.. meta:: + :description: Hasura Cloud websockets analysis + :keywords: hasura, docs, cloud, reliability, websockets + +.. _websockets: + +Websockets +========== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Websockets is a ws-specific version of usage statistics: + +.. thumbnail:: /img/cloud/metrics/pro-tab-websockets.png + :alt: Hasura Cloud Console websockets tab \ No newline at end of file diff --git a/docs/cloud/projects/create.rst b/docs/cloud/projects/create.rst new file mode 100644 index 00000000000..0922108b6d6 --- /dev/null +++ b/docs/cloud/projects/create.rst @@ -0,0 +1,89 @@ +.. meta:: + :description: Creating projects on Hasura Cloud + :keywords: hasura, cloud, docs, start + +.. _create_project: + +Creating projects +================= + +.. contents:: Table of contents + :backlinks: none + :depth: 2 + :local: + +Introduction +------------ + +You can create a new Hasura Cloud project with either a new Postgres database, or an existing Postgres database with a publicly available IP address. + +To begin, navigate to the ``Projects`` page, and click the ``New Project`` link. + +.. thumbnail:: /img/cloud/projects/create-new-project.png + :alt: create new project button + :width: 400 + +Creating a project with a new database +-------------------------------------- + +Hasura Cloud does not host databases, but does provide integrations with which you can create databases on managed cloud providers like Heroku. Integrations for AWS, GCP, and Azure are coming soon. + +To get started, click ``Try with Heroku``, and follow the prompts to authenticate with Heroku. Hasura Cloud will integrate with your Heroku account and manage the initial setup of a dev-tier Postgres instance. You can always upgrade the instance and manage options later through your Heroku account. + +.. thumbnail:: /img/cloud/projects/create-project-heroku.png + :alt: create new hosted project + +Creating a project with an existing database +-------------------------------------------- + +To create a new Hasura Cloud project connected to an existing Postgres database, click ``Enter Database URL``, and enter your database connection string (looks like ``postgres://username:password@hostname:port/dbname``). + +.. thumbnail:: /img/cloud/projects/new-project-hosted.png + :alt: create new hosted project + +Allowing connections from Hasura Cloud IP +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For some cloud services, like GCP, you'll need to adjust your Postgres connection settings to allow connections from the Hasura Cloud IP address. You can copy the IP address from either the copy icon in the ``Database Setup`` window, or the ``Hasura Cloud IP`` field on the project's details view. You may also need to disable SSL. Adding custom cert information to a Hasura Cloud instance is not yet available. + +.. thumbnail:: /img/cloud/projects/existing-db-setup.png + :alt: Existing database setup + :width: 568px + +.. thumbnail:: /img/cloud/projects/hasura-cloud-ip.png + :alt: Hasura Cloud IP field + :width: 1200px + +.. thumbnail:: /img/cloud/projects/gcp-postgres-authorized-network.png + :alt: whitelist Hasura instance IP in Postgres settings + :width: 727px + +Connecting to a database not exposed over the internet +------------------------------------------------------ + +`Contact us `__ for VPC peering and on-premise solutions. + +.. _cloud_postgres_permissions: + +Postgres permissions +-------------------- + +Hasura Cloud works with **Postgres versions 9.5 and above**. + +If you’re running in a controlled environment, you might need to configure +Hasura Cloud to use a specific Postgres user that your DBA gives you. + +Apart from the :ref:`Hasura Core Postgres permissions `, +Hasura Cloud needs the following extra permissions: + +- (required) Read and write access to ``hdb_pro_catalog`` schema. + +.. code-block:: sql + + -- execute these statements after executing the ones mentioned in Hasura Core docs + -- create the schemas required by the hasura cloud system + CREATE SCHEMA IF NOT EXISTS hdb_pro_catalog; + + -- make the user an owner of system schemas + ALTER SCHEMA hdb_pro_catalog OWNER TO hasurauser; + diff --git a/docs/cloud/projects/delete.rst b/docs/cloud/projects/delete.rst new file mode 100644 index 00000000000..04de15afa03 --- /dev/null +++ b/docs/cloud/projects/delete.rst @@ -0,0 +1,19 @@ +.. meta:: + :description: Deleting projects on Hasura Cloud + :keywords: hasura, docs, delete + +.. _delete_project: + +Deleting projects +================= + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +You can delete a project with the ``Delete Project`` button at the bottom of the project's details view. + +.. thumbnail:: /img/cloud/projects/projects-delete.png + :alt: delete a project + :width: 1199px \ No newline at end of file diff --git a/docs/cloud/projects/index.rst b/docs/cloud/projects/index.rst new file mode 100644 index 00000000000..d783047913c --- /dev/null +++ b/docs/cloud/projects/index.rst @@ -0,0 +1,52 @@ +.. meta:: + :description: Managing teams in Hasura Cloud + :keywords: hasura, docs, cloud, teams + +.. _projects: + +Projects & teams +================ + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + +The ``Projects`` page show a list of your projects. + +.. thumbnail:: /img/cloud/projects/projects-list.png + :alt: Projects list + :width: 1200px + +For each project, you can: + +- Click the gear icon to :ref:`manage your project `, or +- Click ``Launch Console`` to open the Hasura console in your browser, and navigate to the ``Pro`` tab to check out the Pro features that Hasura Cloud has set up for you. + +.. thumbnail:: /img/cloud/getting-started/project-actions.png + :alt: Project actions + :width: 860px + +.. thumbnail:: /img/cloud/metrics/pro-tab-overview.png + :alt: Hasura Console: Pro tab + :width: 1118px + +.. note:: + + Please see the :ref:`API reference ` to create and manage Hasura Cloud projects programmatically. + +Dig deeper +---------- + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + Creating projects + Managing projects + Securing projects + Deleting projects + diff --git a/docs/cloud/projects/manage-projects/domains.rst b/docs/cloud/projects/manage-projects/domains.rst new file mode 100644 index 00000000000..4bdc5b6dab3 --- /dev/null +++ b/docs/cloud/projects/manage-projects/domains.rst @@ -0,0 +1,71 @@ +.. meta:: + :description: Managing domains on Hasura Cloud + :keywords: hasura, docs, project, domains + +.. _manage_project_domains: + +Domains tab +=========== + +.. contents:: Table of contents + :backlinks: none + :depth: 2 + :local: + +Introduction +------------ + +In the ``Domains`` tab, you can see the default Hasura domain, and you have the possibility to add custom domains. + +Adding a custom domain +---------------------- + +You can add a custom domain to your Hasura Cloud project by following the steps below. + +Step 1: Navigate to add a custom domain +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +On the ``Domains`` tab, click on the ``New Custom Domain`` button. + +.. thumbnail:: /img/cloud/projects/add-custom-domain.png + :alt: Add custom domain + :width: 727px + +Step 2: Add your custom domain +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Enter your custom domain and click the ``Add`` button. + +.. thumbnail:: /img/cloud/projects/choose-custom-domain.png + :alt: Choose custom domain + :width: 727px + +Step 3: Add the record to your DNS +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +After adding a custom domain, the following window will show up: + +.. thumbnail:: /img/cloud/projects/dns-settings.png + :alt: DNS settings + :width: 727px + +If you haven't already done so, add the default Hasura domain as a ``CNAME`` record to your DNS. + +Until this is done, the dashboard will show a notice that the DNS validation is pending. + +.. thumbnail:: /img/cloud/projects/dns-validation-pending.png + :alt: DNS validation pending + :width: 727px + +.. note:: + + Depending on your DNS provider, it might take up to 24 hours for the DNS record to be added. + +DNS validated +------------- + +Once the DNS is validated, the dashboard will update the status with the following notice: + +.. thumbnail:: /img/cloud/projects/dns-validated.png + :alt: DNS validated + :width: 727px diff --git a/docs/cloud/projects/manage-projects/env-vars.rst b/docs/cloud/projects/manage-projects/env-vars.rst new file mode 100644 index 00000000000..3470346b140 --- /dev/null +++ b/docs/cloud/projects/manage-projects/env-vars.rst @@ -0,0 +1,27 @@ +.. meta:: + :description: Managing env vars on Hasura Cloud + :keywords: hasura, docs, project, env vars + +.. _manage_project_env_vars: + +Env vars tab +============ + +.. contents:: Table of contents + :backlinks: none + :depth: 2 + :local: + +Introduction +------------ + +The ``Env vars`` tab allows setting :ref:`Hasura GraphQL Engine env variables ` and adding other custom env variables as well. + +Adding an env var +----------------- + +Click on the ``New Env Var`` button and either choose an env var from the dropdown or add a custom env var. + +.. thumbnail:: /img/cloud/projects/add-env-var.png + :alt: add env var options + :width: 1200px diff --git a/docs/cloud/projects/manage-projects/general.rst b/docs/cloud/projects/manage-projects/general.rst new file mode 100644 index 00000000000..fde3c915285 --- /dev/null +++ b/docs/cloud/projects/manage-projects/general.rst @@ -0,0 +1,31 @@ +.. meta:: + :description: Managing projects on Hasura Cloud + :keywords: hasura, docs, project, general + +.. _manage_project_general: + +General tab +=========== + +.. contents:: Table of contents + :backlinks: none + :depth: 2 + :local: + +Introduction +------------ + +The ``General`` tab shows the project's general settings. + +General settings +---------------- + +- **Name**: Unique auto-generated name for the project +- **ID**: Unique auto-generated ID for the project +- **GraphQL API**: GraphQL endpoint for the project +- **Admin Secret**: Secret for securing the GraphQL endpoint +- **Owner**: Email of the project owner + +.. thumbnail:: /img/cloud/projects/project-details.png + :alt: General tab + :width: 1163px diff --git a/docs/cloud/projects/manage-projects/index.rst b/docs/cloud/projects/manage-projects/index.rst new file mode 100644 index 00000000000..b5d0fe28dd7 --- /dev/null +++ b/docs/cloud/projects/manage-projects/index.rst @@ -0,0 +1,36 @@ +.. meta:: + :description: Managing projects on Hasura Cloud + :keywords: hasura, docs, project + +.. _manage_project: + +Managing projects +================= + +.. contents:: Table of contents + :backlinks: none + :depth: 2 + :local: + +Introduction +------------ + +To view a project's details, and manage its teams and environment variables, navigate to the ``Projects`` page and click the gear icon on the project. + +.. thumbnail:: /img/cloud/projects/manage-project.png + :alt: Manage project + :width: 865px + +Managing projects +----------------- + +See the below pages for detailed guides on managing projects: + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + General tab + Team tab + Env vars tab + Domains tab diff --git a/docs/cloud/projects/manage-projects/team.rst b/docs/cloud/projects/manage-projects/team.rst new file mode 100644 index 00000000000..a2072ecba99 --- /dev/null +++ b/docs/cloud/projects/manage-projects/team.rst @@ -0,0 +1,46 @@ +.. meta:: + :description: Managing teams on Hasura Cloud + :keywords: hasura, docs, project, team + +.. _manage_project_team: + +Team tab +======== + +.. contents:: Table of contents + :backlinks: none + :depth: 2 + :local: + +Introduction +------------ + +The ``Team`` tab shows the current people with access to the project. + +Add a collaborator +------------------ + +Click ``New Collaborator`` to invite a new team member. + +.. thumbnail:: /img/cloud/projects/team-view.png + :alt: Team tab + :width: 1146px + +Team roles +^^^^^^^^^^ + +Team members can have different levels of access in the Hasura console. + +- **Admin** has complete access to all project tools and configurations. +- **User** has limited privileges: + + - The ``Execute GraphQL`` permission allows running queries, mutations, and subscriptions. + - The ``View Metrics`` permission allows inspecting operation data and the performance dashboard. + +.. thumbnail:: /img/cloud/projects/add-collaborator.png + :alt: Add collaborator + :width: 437px + +.. note:: + + Invitations can be accepted or declined via the ``Invitations`` tab of your Hasura Cloud settings. diff --git a/docs/cloud/projects/secure.rst b/docs/cloud/projects/secure.rst new file mode 100644 index 00000000000..3f637a139d3 --- /dev/null +++ b/docs/cloud/projects/secure.rst @@ -0,0 +1,59 @@ +.. meta:: + :description: Securing projects on Hasura Cloud + :keywords: hasura, docs, project + +.. _secure_project: + +Securing projects +================= + +.. contents:: Table of contents + :backlinks: none + :depth: 2 + :local: + +Introduction +------------ + +To make sure that your GraphQL endpoint and the Hasura console are not publicly accessible, you need to configure an admin secret key. + +Adding an admin secret +---------------------- + +Step 1: Go to settings +^^^^^^^^^^^^^^^^^^^^^^ + +On the project overview, click on the settings icon on the top right of the relevant project. + +.. thumbnail:: /img/cloud/projects/secure-settings.png + :alt: Go to settings + :width: 865px + +Step 2: Navigate to env vars +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +On the ``Env vars`` tab, click the button to add a new env var. + +.. thumbnail:: /img/cloud/projects/secure-envvars.png + :alt: Navigate to env vars + :width: 865px + +Step 3: Add an admin secret +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In the ``Key`` dropdown, choose ``ADMIN_SECRET`` and add the secret in the ``Value`` field. Then click the ``Add`` button. + +.. thumbnail:: /img/cloud/projects/secure-add-envvar.png + :alt: Navigate to env vars + :width: 865px + +Accessing Hasura +---------------- + +After setting an admin secret, when you launch the console from the Hasura Cloud dashboard, you'll be authenticated as an admin. +If you want to make API calls from outside the console, you need to pass the admin secret as the `x-hasura-admin-secret` request header. + +.. note:: + + The admin secret should be treated like a password i.e. it should be kept secret and shouldn't be passed from frontend clients. + Refer :ref:`this ` to set up user authentication. diff --git a/docs/cloud/read-replicas.rst b/docs/cloud/read-replicas.rst new file mode 100644 index 00000000000..432cdddaece --- /dev/null +++ b/docs/cloud/read-replicas.rst @@ -0,0 +1,42 @@ +.. meta:: + :description: Hasura Cloud read replicas + :keywords: hasura, docs, cloud, read replicas, connections, pool + +.. _read_replicas: + +Read replicas +============= + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + +Hasura Cloud can load balance queries and subscriptions across read replicas while sending all mutations and metadata API calls to the master. + +Adding read replica urls +------------------------ + +If you have configured your Postgres instances with replicas, the replica URLs can be added to Hasura using the following environment variable in your project ENV Vars tab: + +.. code-block:: bash + + HASURA_GRAPHQL_READ_REPLICA_URLS=postgres://user:password@replica-host:5432/db + +If you have multiple replicas, their urls can be added as comma separated values. + +Connection pool parameters +-------------------------- + +Additional environment variables for connection pools, and for read replicas specifically: + +``HASURA_GRAPHQL_PG_STRIPES`` + +``HASURA_GRAPHQL_PG_CONNECTIONS`` + +``HASURA_GRAPHQL_CONNECTIONS_PER_READ_REPLICA`` + +``HASURA_GRAPHQL_STRIPES_PER_READ_REPLICA`` \ No newline at end of file diff --git a/docs/cloud/regression-tests.rst b/docs/cloud/regression-tests.rst new file mode 100644 index 00000000000..2e9a97a9f88 --- /dev/null +++ b/docs/cloud/regression-tests.rst @@ -0,0 +1,97 @@ +.. meta:: + :description: Hasura Cloud regression tests + :keywords: hasura, docs, cloud, reliability, regression, migration + +.. _regression_tests: + +Regression tests +================ + +.. contents:: Table of contents + :backlinks: none + :depth: 2 + :local: + +Introduction +------------ + +Hasura Cloud includes a comprehensive test bench that lets you seamlessly compile a test suite on each project, executable on any GraphQL Engine instance (ex: staging, prod). + +Here's a reference development workflow that is enabled by Hasura Cloud: + +#. Build your database schema and configure Hasura as required by your frontend apps or public GraphQL API. +#. Deploy changes to production after testing them. +#. Create a regression suite on production. +#. Iterate on your GraphQL schema to support new features or edits. + + - Test changes in your dev instance against the production instance’s regression test suite. Fix any issues highlighted by the tests or plan to communicate regressions to affected stakeholders. + +#. Run all changes through a CI/CD pipeline + + - Run Regression tests programmatically for all changes in the team + +#. Promote changes to prod + +.. thumbnail:: /img/cloud/reliability/regression-testing-diagram.png + :alt: Regression testing process diagram + +Manage test suites +------------------ + +Each Hasura Cloud project can be configured with a separate test suite. Ideally, you want to create a regression test suite on an project which has received requests with operations you’d like to continue supporting or ensure are not “broken” - production or a shared QA project which receives operations in your app or, if you have a public GraphQL API, those from your consumers. + +.. thumbnail:: /img/cloud/reliability/regression-tests-suites.png + :alt: Manage regression test suites + +Quick-create tests +------------------ + +Add important operations to your test suite with one click by adding them from your project's operation history: + +.. thumbnail:: /img/cloud/reliability/regression-tests-add-operations.png + :alt: Add tests to regression test suites + +Run test suites +--------------- + +A good development workflow would require that tests be run 1) early in the dev process, and 2) automatically with changes, to ensure changes to the schema don't break functionality. + +A test suite configured on a Hasura Cloud project can be run on the same instance or any other Hasura Cloud project registered to your team, including local ones. This is how we recommend that you incorporate regression tests into your GraphQL engine workflows: + +Run regression tests manually +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Let’s say you’re a developer iterating on a feature and, as part of your work, need to modify your Postgres schema or the Hasura configuration. It is likely that you are doing so by running the console via the Hasura CLI to generate migrations that you can version control. Before committing your changes in git, you should run tests to get an early warning for potential regressions. Your team may want to designate the test suite from your production instance (or a suitable alternative) as the default suite to be used for this, and you can choose to run this test suite on your local or development instance. + +.. thumbnail:: /img/cloud/reliability/regressions-run-prod-tests-on-dev.png + :alt: Run regression tests + +For example, if the column ‘title’ (in a typical authors and articles schema) has been modified as part of a feature iteration. Assuming the operation from the previous example is part of the test suite on production, here’s how the feedback on this change looks like: + +.. thumbnail:: /img/cloud/reliability/regression-tests-results.png + :alt: Regression test results + +As you can see, one of the tests fails because it expects a field, title, to be part of the type articles - which is something our proposed change just modified and removed support for. + +Run regression tests in CI/CD flow +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. thumbnail:: /img/cloud/reliability/regression-tests-run-cli.png + :alt: Run regression tests via CLI + +This command will fetch the entire test suite from Hasura Pro and run the tests against given endpoint using the admin secret and report the result on the terminal. The test run and the results will also be available on the Hasura Console. + +You can use the Hasura Pro CLI to programmatically trigger execution of a test suite in your automated testing setup, typically in CI scripts. + +In order to communicate with Hasura’s APIs, the CLI needs to be configured with an API access token (which you can create via your Hasura Cloud settings). If you want to set the token up on a non-interactive environment, like a CI pipeline, you can obtain a token and then add to ``~/.hasura/pro_config.yaml`` with the following format: + +.. code-block:: bash + + pat: + + +View test suite results +----------------------- + +.. thumbnail:: /img/cloud/reliability/regression-tests-past-runs.png + :alt: Regression tests past results \ No newline at end of file diff --git a/docs/cloud/response-caching.rst b/docs/cloud/response-caching.rst new file mode 100644 index 00000000000..22a21662717 --- /dev/null +++ b/docs/cloud/response-caching.rst @@ -0,0 +1,66 @@ +.. meta:: + :description: Query response caching in Hasura Cloud + :keywords: hasura, docs, cloud, response, caching + +.. _response_caching: + +Query response caching +====================== + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + +Hasura Cloud provides support for caching query responses, in order to +improve performance for queries which are executed frequently. + +Cached responses are stored in for a period of time in a LRU (least-recently +used) cache, and removed from the cache as needed based on usage. + +A query's response can be cached only if the following conditions hold: + +- The query does not make use of remote schemas or remote joins +- The query and any related user permissions do not make use of session variables +- The response JSON is under 100KB in size + +Enable caching +-------------- + +In order to enable caching for a query response, or to return an existing +response from the cache (if one exists), simply add the ``@cached`` directive +to your query: + +.. code-block:: graphql + + query MyCachedQuery @cached { + users { + id + name + } + } + +If the response was cached successfully, the HTTP response will include a +``X-Hasura-TTL`` header, whose value indicates the maximum number of seconds +for the returned response to remain in the cache. + +Controlling cache lifetime +-------------------------- + +The maximum lifetime of an entry in the cache can be controlled using the ``ttl`` +argument to the ``@cached`` query directive. The value is an integer number of seconds: + +.. code-block:: graphql + + query MyCachedQuery @cached(ttl: 120) { + users { + id + name + } + } + +By default, a response will be cached with a maximum lifetime of 60 seconds. +The maximum allowed value is 300 seconds (5 minutes). diff --git a/docs/cloud/tracing.rst b/docs/cloud/tracing.rst new file mode 100644 index 00000000000..eac714a9e35 --- /dev/null +++ b/docs/cloud/tracing.rst @@ -0,0 +1,98 @@ +.. meta:: + :description: Distributed tracing with Hasura Cloud + :keywords: hasura, docs, cloud, tracing + +.. _tracing: + +Distributed tracing +======================= + +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + +Hasura Cloud has support for *distributed tracing*, a technique for +debugging Hasura in production in the context of the services it works +with. These services might include your own Postgres database, any +remote schemas, event trigger webhook providers, action providers or +authentication hooks. Distributed tracing attempts to give a unified +view into the performance characteristics of all of these components of +your architecture. + +Visualizing traces +------------------ + +The Hasura Pro console makes it possible to view Hasura's own tracing +data, by opening the details view for an operation in the Operations +tab: + +.. thumbnail:: /img/cloud/tracing/tracing-operations-timing.png + :alt: View timing data in the Operations tab + +Given that other system components will report their own tracing data to +your APM system, and not to Hasura, it is not possible to give a +complete picture of a trace, but since Hasura sits in a central position +in the architecture of many systems, it can often give a reasonably +comprehensive view of the provenance of data in your system. + +For example, Hasura can report interactions with Postgres, remote +schemas, event trigger webhooks and action handlers. + +APM system integration +---------------------- + +Hasura will report trace information to your APM or *application +performance monitoring* system, where it can be correlated with similar +sources of data from other components of your service architecture. + +If you are considering integrating Hasura with your APM system, please +get in touch so that we can help to coordinate that effort. + +Trace propagation +----------------- + +At the boundaries between different services, tracing information needs +to be shared in order for trace fragments from different systems to be +correlated with each other in the APM system. This is called *trace +propagation*. + +There are several subtly-incompatible proposals for trace propagation, +which can make it difficult to arrange for any two services to work +together. + +Propagation to web services +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For propagation during a call to a web service over HTTP, Hasura +currently implements the `B3 propagation +specification `__. This +means that we send trace information in various HTTP headers, which +should be read and handled by any compatible web services. + +If you are unsure how to implement B3 propagation in your own web +service, the simplest thing to do is to read these headers and pass them +along to any HTTP services you call which also support B3 propagation, +including Hasura itself. + +In particular, if an event trigger webhook or action handler propagates +these B3 headers back to Hasura, we will be able to trace the entire +interaction. + +Propagation via Postgres +~~~~~~~~~~~~~~~~~~~~~~~~ + +There is no standard method for trace propagation via Postgres +transactions. For example, event triggers can be invoked by mutations, +and so their traces should be correlated. + +For this reason, we have adopted our own method of propagating a trace +context in Postgres transactions. + +The trace context will be serialized during mutations as a +transaction-local variable, ``hasura.tracecontext``. This value has the +Postgres type ``json``, and it can be read in trigger functions and +propagated to any downstream services. \ No newline at end of file diff --git a/docs/graphql/manual/api-reference/config.rst b/docs/graphql/manual/api-reference/config.rst index 0348f412c65..8dceda3ca08 100644 --- a/docs/graphql/manual/api-reference/config.rst +++ b/docs/graphql/manual/api-reference/config.rst @@ -12,6 +12,9 @@ Config API Reference :depth: 1 :local: +Introduction +------------ + The Config API is an admin only endpoint which gives info on the server configuration. diff --git a/docs/graphql/manual/api-reference/explain.rst b/docs/graphql/manual/api-reference/explain.rst index 7f212987b24..c7178937d87 100644 --- a/docs/graphql/manual/api-reference/explain.rst +++ b/docs/graphql/manual/api-reference/explain.rst @@ -12,6 +12,9 @@ Explain API Reference :depth: 1 :local: +Introduction +------------ + The Explain API is used to analyse queries and subscriptions. It returns a list of Postgres plans for a query and a single Postgres plan for a subscription, based on the defined permissions. diff --git a/docs/graphql/manual/api-reference/graphql-api/index.rst b/docs/graphql/manual/api-reference/graphql-api/index.rst index 687d8fa088f..717e62f0f7e 100644 --- a/docs/graphql/manual/api-reference/graphql-api/index.rst +++ b/docs/graphql/manual/api-reference/graphql-api/index.rst @@ -12,6 +12,9 @@ GraphQL API Reference :depth: 1 :local: +Introduction +------------ + All GraphQL requests for queries, subscriptions and mutations are made to the GraphQL API. Endpoint diff --git a/docs/graphql/manual/api-reference/health.rst b/docs/graphql/manual/api-reference/health.rst index c3eb62fe362..d36e1211dee 100644 --- a/docs/graphql/manual/api-reference/health.rst +++ b/docs/graphql/manual/api-reference/health.rst @@ -12,6 +12,9 @@ Health check API Reference :depth: 1 :local: +Introduction +------------ + The Health API is a public endpoint which gives info on the server health. Endpoint diff --git a/docs/graphql/manual/api-reference/pgdump.rst b/docs/graphql/manual/api-reference/pgdump.rst index abe85f53bf5..1c49760d9d6 100644 --- a/docs/graphql/manual/api-reference/pgdump.rst +++ b/docs/graphql/manual/api-reference/pgdump.rst @@ -12,6 +12,9 @@ PG Dump API Reference :depth: 1 :local: +Introduction +------------ + The PG Dump API is an admin-only endpoint that can be used to execute ``pg_dump`` on the Postgres instance that Hasura is configured with. diff --git a/docs/graphql/manual/api-reference/postgresql-types.rst b/docs/graphql/manual/api-reference/postgresql-types.rst index 08bb45cefb0..6420dc599c3 100644 --- a/docs/graphql/manual/api-reference/postgresql-types.rst +++ b/docs/graphql/manual/api-reference/postgresql-types.rst @@ -14,6 +14,9 @@ API Reference - Supported PostgreSQL Types .. _types_table: +Introduction +------------ + List of PostgreSQL types supported by the Hasura GraphQL engine with their equivalent Hasura types: .. csv-table:: diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/actions.rst b/docs/graphql/manual/api-reference/schema-metadata-api/actions.rst index 1b42eadcf5c..fded740e32b 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/actions.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/actions.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Actions :depth: 1 :local: +Introduction +------------ + **actions** are user defined mutations with custom business logic. .. _create_action: diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/computed-field.rst b/docs/graphql/manual/api-reference/schema-metadata-api/computed-field.rst index c4701d9b927..a0cb1ee5868 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/computed-field.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/computed-field.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Computed Fields :depth: 1 :local: +Introduction +------------ + **computed field** is an extra field added to a table, its value is computed via an SQL function which has the table row type as an input argument. Currenty, the Hasura GraphQL engine supports functions returning diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/custom-functions.rst b/docs/graphql/manual/api-reference/schema-metadata-api/custom-functions.rst index 2751a8ee003..a71bb557a52 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/custom-functions.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/custom-functions.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Custom Functions :depth: 1 :local: +Introduction +------------ + Track/untrack a custom SQL function in the Hasura GraphQL engine. Only tracked custom functions are available for querying/mutating/subscribing data over the GraphQL API. diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/custom-types.rst b/docs/graphql/manual/api-reference/schema-metadata-api/custom-types.rst index 1ef0790c4c5..517131436a2 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/custom-types.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/custom-types.rst @@ -7,6 +7,14 @@ Schema/Metadata API Reference: Custom Types =========================================== +.. contents:: Table of contents + :backlinks: none + :depth: 1 + :local: + +Introduction +------------ + **Custom Types** are user-defined GraphQL types which help to define :ref:`Actions `. .. _set_custom_types: diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/event-triggers.rst b/docs/graphql/manual/api-reference/schema-metadata-api/event-triggers.rst index 44464348bc6..c7dd161e56e 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/event-triggers.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/event-triggers.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Event Triggers :depth: 1 :local: +Introduction +------------ + Event triggers are used to capture database changes and send them to a configured webhook. .. _create_event_trigger: diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/index.rst b/docs/graphql/manual/api-reference/schema-metadata-api/index.rst index f7c54613e84..c7ecdcc193d 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/index.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/index.rst @@ -12,6 +12,9 @@ Schema / Metadata API Reference :depth: 1 :local: +Introduction +------------ + The schema / metadata API provides the following features: 1. Execute SQL on the underlying Postgres database, supports schema modifying actions. diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/manage-metadata.rst b/docs/graphql/manual/api-reference/schema-metadata-api/manage-metadata.rst index e95d1c793ad..c8479601d38 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/manage-metadata.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/manage-metadata.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Manage metadata :depth: 1 :local: +Introduction +------------ + APIs to manage Hasura metadata which is stored in ``hdb_catalog`` schema. .. _export_metadata: diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/permission.rst b/docs/graphql/manual/api-reference/schema-metadata-api/permission.rst index f77edcaa47b..d3f620c42fd 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/permission.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/permission.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Permissions :depth: 1 :local: +Introduction +------------ + The permission layer is designed to restrict the operations that can be performed by various users. Permissions can be defined on various operations (insert/select/update/delete) at a role level granularity. By default, the ``admin`` diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/query-collections.rst b/docs/graphql/manual/api-reference/schema-metadata-api/query-collections.rst index 6ec5f8e0e36..947f40239aa 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/query-collections.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/query-collections.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Query collections :depth: 1 :local: +Introduction +------------ + Group queries using query collections. Create/drop query collections and add/drop a query to a collection using the following query types. diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/relationship.rst b/docs/graphql/manual/api-reference/schema-metadata-api/relationship.rst index aa7aa9f61aa..f20a6f669f3 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/relationship.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/relationship.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Relationships :depth: 1 :local: +Introduction +------------ + When retrieving data from tables, it is very helpful if we can also fetch the related data alongside the columns. This is where relationships come in. They can be considered as pseudo columns for a table to access the related diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/remote-relationships.rst b/docs/graphql/manual/api-reference/schema-metadata-api/remote-relationships.rst index b1a3a672590..6812e58f908 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/remote-relationships.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/remote-relationships.rst @@ -10,6 +10,9 @@ Schema/Metadata API Reference: Remote Relationships :depth: 1 :local: +Introduction +------------ + Remote Relationships allow you to join tables with remote schemas. .. _create_remote_relationship: diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/remote-schemas.rst b/docs/graphql/manual/api-reference/schema-metadata-api/remote-schemas.rst index f42a7b600e2..f320b973447 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/remote-schemas.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/remote-schemas.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Remote schemas :depth: 1 :local: +Introduction +------------ + Add/Remove a remote GraphQL server as remote schema in Hasura GraphQL engine. .. _add_remote_schema: diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/scheduled-triggers.rst b/docs/graphql/manual/api-reference/schema-metadata-api/scheduled-triggers.rst index c7669bcb55f..a15f35216bd 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/scheduled-triggers.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/scheduled-triggers.rst @@ -10,6 +10,9 @@ Schema/Metadata API Reference: Scheduled Triggers :depth: 1 :local: +Introduction +------------ + Scheduled triggers are used to invoke webhooks based on a timestamp or cron. .. _create_cron_trigger: diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/table-view.rst b/docs/graphql/manual/api-reference/schema-metadata-api/table-view.rst index dbf23f1b9d4..18eb15696ce 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/table-view.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/table-view.rst @@ -12,6 +12,9 @@ Schema/Metadata API Reference: Tables/Views :depth: 1 :local: +Introduction +------------ + Track/untrack a table/view in Hasura GraphQL engine. Only tracked tables/views are available for querying/mutating/subscribing data over the GraphQL API. diff --git a/docs/graphql/manual/api-reference/version.rst b/docs/graphql/manual/api-reference/version.rst index 5fd4d168dd1..0dad6c8ccf9 100644 --- a/docs/graphql/manual/api-reference/version.rst +++ b/docs/graphql/manual/api-reference/version.rst @@ -12,6 +12,8 @@ Version API Reference :depth: 1 :local: +Introduction +------------ The ``/v1/version`` is a public endpoint that responds with the current server version in JSON format. diff --git a/docs/graphql/manual/auth/authorization/common-roles-auth-examples.rst b/docs/graphql/manual/auth/authorization/common-roles-auth-examples.rst index 8787c702ee0..c925052a446 100644 --- a/docs/graphql/manual/auth/authorization/common-roles-auth-examples.rst +++ b/docs/graphql/manual/auth/authorization/common-roles-auth-examples.rst @@ -12,6 +12,9 @@ Access control examples :depth: 1 :local: +Introduction +------------ + This is a guide to help you set up a basic authorization architecture for your GraphQL fields. It is recommended that you first check out :ref:`roles_variables` and :ref:`permission_rules` that will be referred to throughout this guide. diff --git a/docs/graphql/manual/deployment/allow-list.rst b/docs/graphql/manual/deployment/allow-list.rst index be404a721b9..8a39220cc75 100644 --- a/docs/graphql/manual/deployment/allow-list.rst +++ b/docs/graphql/manual/deployment/allow-list.rst @@ -12,6 +12,9 @@ Allow-list of operations :depth: 1 :local: +Introduction +------------ + The **Allow-list** is a list of safe operations (*GraphQL queries, mutations or subscriptions*) that is stored by the GraphQL engine in its metadata. When enabled, it can be used to restrict the GraphQL engine so that it executes **only** those operations that are present in the list *(available after version v1.0.0-beta.1)*. @@ -42,7 +45,7 @@ You can add or remove a operation in the allow-list in two ways: to add multiple operations to the allow-list (each operation needs to have a name). * **Using metadata APIs:** Queries can be stored in collections and a collection can be added to or removed - from the allow-list. See :ref:`Collections & Allow-list APIs` + from the allow-list. See :ref:`Collections & Allow-list APIs ` for API reference. .. note:: diff --git a/docs/graphql/manual/deployment/deployment-guides/index.rst b/docs/graphql/manual/deployment/deployment-guides/index.rst index a6e1a8a1ea3..5cc0eb6e99d 100644 --- a/docs/graphql/manual/deployment/deployment-guides/index.rst +++ b/docs/graphql/manual/deployment/deployment-guides/index.rst @@ -26,7 +26,7 @@ One-click deployment options If you want to take Hasura for a spin and check out the features, the following one-click deployments will be useful for you: -- `Deploy using Hasura Cloud `__ (**recommended**) +- :ref:`Deploy using Hasura Cloud ` (**recommended**) - :ref:`Deploy using Heroku ` - :ref:`Deploy using Render One-click Deploy with Managed PostgreSQL ` - :ref:`Deploy using Nhost One-click Deploy with Managed PostgreSQL, Storage, and Auth ` @@ -38,7 +38,7 @@ Deployment guides Choose from the full list of deployment guides: -- `Deploy using Hasura Cloud `__ (**recommended**) +- :ref:`Deploy using Hasura Cloud ` (**recommended**) - :ref:`Deploy using Docker ` - :ref:`Deploy using Kubernetes ` - :ref:`Deploy using Heroku ` @@ -58,7 +58,7 @@ Choose from the full list of deployment guides: :titlesonly: :hidden: - Using Hasura Cloud + Using Hasura Cloud Using Docker Using Kubernetes Using Heroku (one-click) diff --git a/docs/graphql/manual/deployment/graphql-engine-flags/config-examples.rst b/docs/graphql/manual/deployment/graphql-engine-flags/config-examples.rst index 2d0048fc690..ecc48777ed6 100644 --- a/docs/graphql/manual/deployment/graphql-engine-flags/config-examples.rst +++ b/docs/graphql/manual/deployment/graphql-engine-flags/config-examples.rst @@ -12,6 +12,9 @@ GraphQL engine server config examples :depth: 1 :local: +Introduction +------------ + The following are a few configuration use cases: .. _add-admin-secret: diff --git a/docs/graphql/manual/deployment/graphql-engine-flags/index.rst b/docs/graphql/manual/deployment/graphql-engine-flags/index.rst index 611b8c3c9d5..250e31138b3 100644 --- a/docs/graphql/manual/deployment/graphql-engine-flags/index.rst +++ b/docs/graphql/manual/deployment/graphql-engine-flags/index.rst @@ -12,6 +12,9 @@ GraphQL engine server configuration :depth: 1 :local: +Introduction +------------ + Hasura supports various flags and options for customising how you are running the GraphQL engine in your environment. Server flags diff --git a/docs/graphql/manual/deployment/graphql-engine-flags/reference.rst b/docs/graphql/manual/deployment/graphql-engine-flags/reference.rst index e803dcc52b9..69c0e821275 100644 --- a/docs/graphql/manual/deployment/graphql-engine-flags/reference.rst +++ b/docs/graphql/manual/deployment/graphql-engine-flags/reference.rst @@ -12,6 +12,9 @@ GraphQL engine server flags reference :depth: 1 :local: +Introduction +------------ + Every GraphQL engine command is structured as: .. code-block:: bash @@ -21,7 +24,7 @@ Every GraphQL engine command is structured as: The flags can be passed as ENV variables as well. Server flags -^^^^^^^^^^^^ +------------ For the ``graphql-engine`` command these are the available flags and ENV variables: @@ -67,7 +70,7 @@ Or you can specify the following options *(only via flags)*: .. _command-flags: Command flags -^^^^^^^^^^^^^ +------------- For the ``serve`` sub-command these are the available flags and ENV variables: diff --git a/docs/graphql/manual/deployment/production-checklist.rst b/docs/graphql/manual/deployment/production-checklist.rst index 6f696976c0a..41cb5771cd8 100644 --- a/docs/graphql/manual/deployment/production-checklist.rst +++ b/docs/graphql/manual/deployment/production-checklist.rst @@ -12,6 +12,9 @@ Production checklist :depth: 1 :local: +Introduction +------------ + This guide is a checklist for configuring and securing GraphQL engine for a production deployment. diff --git a/docs/graphql/manual/deployment/securing-graphql-endpoint.rst b/docs/graphql/manual/deployment/securing-graphql-endpoint.rst index afc9444bc7b..07df5016bf1 100644 --- a/docs/graphql/manual/deployment/securing-graphql-endpoint.rst +++ b/docs/graphql/manual/deployment/securing-graphql-endpoint.rst @@ -18,7 +18,7 @@ configure an admin secret key. Depending on your deployment method, follow one of these guides to configure an admin secret key, and prevent public access to your GraphQL endpoint and the Hasura console: -- `For Hasura Cloud `__ +- :ref:`For Hasura Cloud ` - :ref:`For Heroku ` - :ref:`For Docker ` - :ref:`For Kubernetes ` diff --git a/docs/graphql/manual/event-triggers/clean-up.rst b/docs/graphql/manual/event-triggers/clean-up.rst index 85378a2e980..0ad4541d67a 100644 --- a/docs/graphql/manual/event-triggers/clean-up.rst +++ b/docs/graphql/manual/event-triggers/clean-up.rst @@ -11,6 +11,8 @@ Clean up event data :depth: 1 :local: +Introduction +------------ Hasura stores event data associated with Event Triggers in the metadata schema. If there are lots of events, the metadata tables can get huge and you may want to prune them. You can use any of the following options to prune your event data depending on your need. diff --git a/docs/graphql/manual/event-triggers/create-trigger.rst b/docs/graphql/manual/event-triggers/create-trigger.rst index 29aa4d79617..6271c834369 100644 --- a/docs/graphql/manual/event-triggers/create-trigger.rst +++ b/docs/graphql/manual/event-triggers/create-trigger.rst @@ -12,6 +12,9 @@ Creating an event trigger :depth: 1 :local: +Introduction +------------ + Event triggers can be created using the Hasura console or metadata APIs. Open the Hasura console, head to the ``Events`` tab and click on the ``Create`` button to open the diff --git a/docs/graphql/manual/event-triggers/payload.rst b/docs/graphql/manual/event-triggers/payload.rst index b8f3ac8a4ac..a9b6e524965 100644 --- a/docs/graphql/manual/event-triggers/payload.rst +++ b/docs/graphql/manual/event-triggers/payload.rst @@ -12,10 +12,14 @@ Event trigger payload :depth: 1 :local: +Introduction +------------ + The following is the payload and delivery mechanism of an event to the webhook when an event trigger is invoked. HTTP request method ------------------- + Delivered over ``HTTP POST`` with the following headers: .. code-block:: none diff --git a/docs/graphql/manual/event-triggers/serverless.rst b/docs/graphql/manual/event-triggers/serverless.rst index a7fba6a82f6..0628d2d9f5b 100644 --- a/docs/graphql/manual/event-triggers/serverless.rst +++ b/docs/graphql/manual/event-triggers/serverless.rst @@ -12,6 +12,9 @@ Using serverless functions :depth: 1 :local: +Introduction +------------ + You can use serverless functions along with event triggers to design an async business workflow without having to manage any dedicated infrastructure. diff --git a/docs/graphql/manual/getting-started/first-event-trigger.rst b/docs/graphql/manual/getting-started/first-event-trigger.rst index 9c2c198d5ba..40873f60a6e 100644 --- a/docs/graphql/manual/getting-started/first-event-trigger.rst +++ b/docs/graphql/manual/getting-started/first-event-trigger.rst @@ -12,12 +12,16 @@ Setting up your first event trigger :depth: 1 :local: +Introduction +------------ + You can use Hasura to setup event triggers that call configured webhooks whenever specific database events occur. Let's create a sample event trigger with https://httpbin.org as our simple webhook. Create a table -------------- + Head to the Hasura console, navigate to ``Data -> Create table`` and create a sample table called ``profile`` with the following columns: @@ -33,6 +37,7 @@ the following columns: Setup an event trigger ---------------------- + In the Hasura console, navigate to ``Events -> Create trigger`` and: 1. Enter trigger name as ``echo``. diff --git a/docs/graphql/manual/getting-started/first-graphql-query.rst b/docs/graphql/manual/getting-started/first-graphql-query.rst index e58e1506b01..e133188b276 100644 --- a/docs/graphql/manual/getting-started/first-graphql-query.rst +++ b/docs/graphql/manual/getting-started/first-graphql-query.rst @@ -12,6 +12,9 @@ Making your first GraphQL query :depth: 1 :local: +Introduction +------------ + Let's create a sample table and query data from it using the Hasura console, a UI tool meant for doing exactly this: Create a table diff --git a/docs/graphql/manual/getting-started/index.rst b/docs/graphql/manual/getting-started/index.rst index 88283305ac2..2248a165c76 100644 --- a/docs/graphql/manual/getting-started/index.rst +++ b/docs/graphql/manual/getting-started/index.rst @@ -24,7 +24,7 @@ To use the Hasura GraphQL engine, you need to: Get started from scratch ------------------------ -- `Using Hasura Cloud `__ **(recommended)**: Create +- :ref:`Using Hasura Cloud ` **(recommended)**: Create a new Hasura Cloud project with just a few clicks. - :ref:`Using Docker `: Run a **local development** setup that sets up both the Hasura GraphQL engine and Postgres using Docker Compose. @@ -32,7 +32,7 @@ Get started from scratch Get started using an existing database -------------------------------------- -- `Using Hasura Cloud `__ **(recommended)**: Create a new Hasura Cloud project connected to an existing Postgres database. +- :ref:`Using Hasura Cloud ` **(recommended)**: Create a new Hasura Cloud project connected to an existing Postgres database. - :ref:`Using Docker `: Run as a docker container and connect to an existing Postgres database. - :ref:`Using Kubernetes `: Run on Kubernetes and connect to an existing Postgres @@ -47,7 +47,7 @@ Get started using an existing database :titlesonly: :hidden: - Hasura Cloud quickstart + Hasura Cloud quickstart Docker quickstart Using an existing database first-graphql-query diff --git a/docs/graphql/manual/getting-started/using-existing-database.rst b/docs/graphql/manual/getting-started/using-existing-database.rst index 6bfb2fb6b6c..1bef9138ea6 100644 --- a/docs/graphql/manual/getting-started/using-existing-database.rst +++ b/docs/graphql/manual/getting-started/using-existing-database.rst @@ -14,7 +14,7 @@ Getting started with an existing database Follow one of these guides to set up Hasura GraphQL engine using an existing database: -- `Using Hasura Cloud `__ **(recommended)**: Create a new Hasura Cloud project connected to an existing Postgres database +- :ref:`Using Hasura Cloud ` **(recommended)**: Create a new Hasura Cloud project connected to an existing Postgres database - :ref:`Using Docker `: Run as a docker container and connect to an existing Postgres database. - :ref:`Using Heroku `: Run on Heroku and connect to an existing diff --git a/docs/graphql/manual/guides/integrations/apollo-subscriptions.rst b/docs/graphql/manual/guides/integrations/apollo-subscriptions.rst index 6f2e6616d02..47d40bd1b7f 100644 --- a/docs/graphql/manual/guides/integrations/apollo-subscriptions.rst +++ b/docs/graphql/manual/guides/integrations/apollo-subscriptions.rst @@ -14,6 +14,7 @@ Setting up GraphQL subscriptions using apollo-client Setup ----- + This guide assumes you have the basic apollo-client working as per https://www.apollographql.com/docs/react/get-started/ and now you want to enable subscriptions. diff --git a/docs/graphql/manual/guides/integrations/auth-guardian-jwt.rst b/docs/graphql/manual/guides/integrations/auth-guardian-jwt.rst index c350ec7d6ce..6920b9f73cc 100644 --- a/docs/graphql/manual/guides/integrations/auth-guardian-jwt.rst +++ b/docs/graphql/manual/guides/integrations/auth-guardian-jwt.rst @@ -12,10 +12,13 @@ OneGraph's AuthGuardian JWT Integration with Hasura GraphQL engine :depth: 1 :local: +Introduction +------------ + In this guide, we will walk through how to set up AuthGuardian JWT to work with the Hasura GraphQL engine. About AuthGuardian -^^^^^^^^^^^^^^^^^^ +------------------ `AuthGuardian `__ is a free service by `OneGraph `__ that allows you to both add sign-on with dozens of services like GitHub, Twitch, Stripe, Salesforce, and more, and also to easily visually describe authentication and authorization rules for your app, API, or service. @@ -23,14 +26,14 @@ is a free service by `OneGraph `__ that allows you to It will generate JWTs compatible with any service that supports JWTs - like Hasura! And on top of that, AuthGuardian has built-in support for generating Hasura roles to make working with Hasura's permission system as easy as possible. Step 1: Create an account -^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------- Sign into `OneGraph `__ with either GitHub or an email/password. On the left sidebar, chose "Auth Services" and then "AuthGuardian", and we're ready to start! Step 2: Add an auth rule -^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------ AuthGuardian works with two basic concepts: ``rules`` and ``effects``. @@ -53,7 +56,7 @@ The second concept, ``rules`` determines whether the ``effects`` are allowed to Let's see how to use these ``rules`` and ``effects`` in action! Option 1: Set Hasura ``user_id`` --------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Let's say you're using GitHub as the primary login for your Hasura app, and that you want to use their GitHub ``user_id`` as a primary key: - For the section "When the user on", select ``GitHub`` -> ``login status`` -> ``is true`` ("When this user is logged into GitHub") @@ -65,7 +68,7 @@ Let's say you're using GitHub as the primary login for your Hasura app, and that :alt: Set an AuthGuardian JWT with a user id Option 2: Set the default Hasura role -------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Next, you want to assign a *default* role for all users, even those who haven't logged in with GitHub yet. Add a new rule (the ``+`` button in the top-left), and fill it out: @@ -83,7 +86,7 @@ Add a new rule (the ``+`` button in the top-left), and fill it out: Note that AuthGuardian knows that Hasura requires that the ``default role`` *also* appear in the list of ``x-hasura-allowed-roles``, and added it in both places automatically. Option 3: Allow additional Hasura roles ---------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Now, you want to restrict access to some data in Hasura so that only you and your teammates can read it. We'll use Hasura's permissions to restrict data to those who have an ``admin`` role, and use AuthGuardian's rules to set that role in the JWT to people who belong to your GitHub organization: - For the section "When the user is on", select ``GitHub`` -> ``is member of organization named`` -> ```` ("When this user is a member of AcmeCo on GitHub") @@ -95,7 +98,7 @@ Now, you want to restrict access to some data in Hasura so that only you and you :alt: Set an AuthGuardian JWT with additional roles Option 4: Set a session variable --------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Hasura can use **session variables** for all sorts of :ref:`powerful cases `. AuthGuardian also supports setting these in your JWT! Let's say we want to restrict access to some super-interesting data in our Hasura backend to users who have starred a particular GitHub repository: @@ -122,7 +125,7 @@ Nice! Step 3: Generate Hasura's JWT config to securely verify your new tokens -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +----------------------------------------------------------------------- Next we'll configure Hasura to verify our new JWTs - don't worry, AuthGuardian also has built-in support for that! - On the left sidebar, click on "JWT Settings" and scroll down to "Configuration generator". @@ -144,7 +147,7 @@ The generated config has the following structure: :alt: AuthGuardian lets you copy/paste the required JWT configuration for either Hasura or Hasura-on-Heroku Step 4: Test the config and tokens -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +---------------------------------- When configuring your permissions in Hasura, it's useful to be able to quickly generate test tokens to make sure everything works as you expect. - Copy the JWT that you created in step 2. @@ -161,5 +164,5 @@ When configuring your permissions in Hasura, it's useful to be able to quickly g :alt: Test AuthGuardian JWT Next Steps -^^^^^^^^^^ +---------- AuthGuardian supports much more, including the ability to eject your rules as a pair of GraphQL request and JavaScript function so you can customize the auth as necessary. To read more about it, please visit the `AuthGuardian docs `__. diff --git a/docs/graphql/manual/guides/integrations/auth0-jwt.rst b/docs/graphql/manual/guides/integrations/auth0-jwt.rst index 60d6b5754dc..f6e4e4f4559 100644 --- a/docs/graphql/manual/guides/integrations/auth0-jwt.rst +++ b/docs/graphql/manual/guides/integrations/auth0-jwt.rst @@ -12,10 +12,13 @@ Auth0 JWT Integration with Hasura GraphQL engine :depth: 1 :local: +Introduction +------------ + In this guide, we will walk through how to set up Auth0 to work with the Hasura GraphQL engine. Create an Auth0 Application -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +--------------------------- - Navigate to the `Auth0 dashboard `__. - Click on the ``Applications`` menu option on the left and then click the ``+ Create Application`` button. @@ -26,7 +29,7 @@ Create an Auth0 Application :alt: Create an Auth0 application Configure Auth0 Rules & Callback URLs -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------------- In the settings of the application, add appropriate (e.g: http://localhost:3000/callback) URLs as ``Allowed Callback URLs`` and ``Allowed Web Origins``. Add domain specific URLs as well for production apps (e.g: https://myapp.com/callback). @@ -75,7 +78,7 @@ For auth0-spa-js: .. _test-auth0: Create an Auth0 API -^^^^^^^^^^^^^^^^^^^ +------------------- In case you are using auth0-spa-js, you also need to create an API so that the access token issued by Auth0 is following the JWT standard. Read more about this `here `__. @@ -96,7 +99,7 @@ In case you are using auth0-spa-js, you also need to create an API so that the a Test auth0 login and generate sample JWTs for testing -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +----------------------------------------------------- You don't need to integrate your UI with auth0 for testing. You can follow the steps below: @@ -139,7 +142,7 @@ You don't need to integrate your UI with auth0 for testing. You can follow the s Configure Hasura to use Auth0 Keys -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +---------------------------------- Auth0 publishes their JWK under: @@ -194,7 +197,7 @@ escaping new lines. :alt: Generated JWT config Add Access Control Rules via Hasura Console -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------------------- Auth0 is configured and ready to be used in the application. You can now set up access control rules that will automatically get applied whenever a client makes a GraphQL request with the Auth0 token. @@ -219,7 +222,7 @@ This can be useful for data that you would like anyone to be able to access and just like any other role. Sync Users from Auth0 -^^^^^^^^^^^^^^^^^^^^^ +--------------------- Now that you have created an Auth0 application and can signup/login, you will need a way to sync your users in Postgres as well. All you really need is the Auth0 ``user_id`` in something like a ``users`` table. diff --git a/docs/graphql/manual/guides/telemetry.rst b/docs/graphql/manual/guides/telemetry.rst index 1b2f7844db6..e118e407569 100644 --- a/docs/graphql/manual/guides/telemetry.rst +++ b/docs/graphql/manual/guides/telemetry.rst @@ -12,6 +12,9 @@ Telemetry Guide/FAQ :depth: 1 :local: +Introduction +------------ + The Hasura GraphQL engine collects anonymous telemetry data that helps the Hasura team in understanding how the product is being used and in deciding what to focus on next. diff --git a/docs/graphql/manual/hasura-cli/index.rst b/docs/graphql/manual/hasura-cli/index.rst index df25c62545d..55564fa819c 100644 --- a/docs/graphql/manual/hasura-cli/index.rst +++ b/docs/graphql/manual/hasura-cli/index.rst @@ -14,9 +14,10 @@ Hasura CLI :depth: 1 :local: -The ``Hasura CLI`` is a command line tool which is the primary mode of managing Hasura projects and migrations. +Introduction +------------ -.. _hasuractl_installation: +The ``Hasura CLI`` is a command line tool which is the primary mode of managing Hasura projects and migrations. Installation ------------ diff --git a/docs/graphql/manual/how-it-works/index.rst b/docs/graphql/manual/how-it-works/index.rst index cc3be6b2933..5aef7a14bcb 100644 --- a/docs/graphql/manual/how-it-works/index.rst +++ b/docs/graphql/manual/how-it-works/index.rst @@ -12,6 +12,9 @@ How Hasura GraphQL engine works :depth: 1 :local: +Introduction +------------ + Given a Postgres database, the Hasura GraphQL engine can automatically generate a GraphQL schema and process GraphQL queries, subscriptions and mutations. Here’s what the Hasura GraphQL engine does under the hood. diff --git a/docs/graphql/manual/index.rst b/docs/graphql/manual/index.rst index 49e6b95dfd6..f60f08fd475 100644 --- a/docs/graphql/manual/index.rst +++ b/docs/graphql/manual/index.rst @@ -4,6 +4,8 @@ .. title:: Hasura GraphQL Engine Documentation +.. _core_docs: + Hasura GraphQL Engine Documentation =================================== @@ -68,7 +70,7 @@ The Hasura GraphQL engine makes your data instantly accessible over a real-time - :ref:`Basics ` - :ref:`Setting Up Migrations ` - :ref:`Managing Metadata ` - - `Deploy Using Hasura Cloud `__ + - :ref:`Deploy Using Hasura Cloud ` - :ref:`Deploy Using Docker ` - :ref:`Deploy Using Kubernetes ` diff --git a/docs/graphql/manual/queries/aggregation-queries.rst b/docs/graphql/manual/queries/aggregation-queries.rst index a29841079f4..634a32b1616 100644 --- a/docs/graphql/manual/queries/aggregation-queries.rst +++ b/docs/graphql/manual/queries/aggregation-queries.rst @@ -12,8 +12,9 @@ Aggregation queries :depth: 2 :local: -Aggregate fields ----------------- +**Aggregate** fields +-------------------- + You can fetch aggregations on columns along with nodes using an aggregation query. The **name of the aggregate field** is of the form `` + _aggregate``. diff --git a/docs/graphql/manual/queries/nested-object-queries.rst b/docs/graphql/manual/queries/nested-object-queries.rst index bb3bd8f7bee..51159b744da 100644 --- a/docs/graphql/manual/queries/nested-object-queries.rst +++ b/docs/graphql/manual/queries/nested-object-queries.rst @@ -12,6 +12,9 @@ Nested object queries :depth: 2 :local: +Introduction +------------ + You can use the object (one-to-one) or array (one-to-many) :ref:`relationships ` defined in your schema to make a nested query i.e. fetch data for a type along with data from a nested or related type. diff --git a/docs/graphql/manual/queries/performance.rst b/docs/graphql/manual/queries/performance.rst index ac077b59643..dbcc924f739 100644 --- a/docs/graphql/manual/queries/performance.rst +++ b/docs/graphql/manual/queries/performance.rst @@ -36,14 +36,14 @@ Let's say we want to analyse the following query: In order to analyse the performance of a query, you can click on the ``Analyze`` button on the Hasura console: -.. thumbnail:: ../../../img/graphql/manual/queries/analyze-query.png +.. thumbnail:: /img/graphql/manual/queries/analyze-query.png :class: no-shadow :width: 75% :alt: Query analyze button on Hasura console The following query execution plan is generated: -.. thumbnail:: ../../../img/graphql/manual/queries/query-analysis-before-index.png +.. thumbnail:: /img/graphql/manual/queries/query-analysis-before-index.png :class: no-shadow :width: 75% :alt: Execution plan for Hasura GraphQL query @@ -227,7 +227,7 @@ Let's compare the performance analysis to :ref:`the one before adding the index What was a ``sequential scan`` in the example earlier is now an ``index scan``. ``Index scans`` are usually more performant than ``sequential scans``. We can also see that the ``cost`` of the query is now lower than the one before we added the index. -.. thumbnail:: ../../../img/graphql/manual/queries/query-analysis-after-index.png +.. thumbnail:: /img/graphql/manual/queries/query-analysis-after-index.png :class: no-shadow :width: 75% :alt: Execution plan for Hasura GraphQL query diff --git a/docs/graphql/manual/queries/simple-object-queries.rst b/docs/graphql/manual/queries/simple-object-queries.rst index 5c2d6186881..b130eb103fc 100644 --- a/docs/graphql/manual/queries/simple-object-queries.rst +++ b/docs/graphql/manual/queries/simple-object-queries.rst @@ -12,6 +12,9 @@ Simple object queries :depth: 2 :local: +Introduction +------------ + You can fetch a single node or multiple nodes of the same type using a simple object query. Fetch list of objects diff --git a/docs/graphql/manual/schema/basics.rst b/docs/graphql/manual/schema/basics.rst index 43890f6a0ae..88e0381d7b1 100644 --- a/docs/graphql/manual/schema/basics.rst +++ b/docs/graphql/manual/schema/basics.rst @@ -12,6 +12,9 @@ Schema design basics :depth: 1 :local: +Introduction +------------ + The Hasura GraphQL engine creates GraphQL schema object types and corresponding query/mutation fields with resolvers automatically as we create tables/views in the Postgres database. diff --git a/docs/graphql/manual/schema/custom-field-names.rst b/docs/graphql/manual/schema/custom-field-names.rst index bd6473453a2..06991e330bc 100644 --- a/docs/graphql/manual/schema/custom-field-names.rst +++ b/docs/graphql/manual/schema/custom-field-names.rst @@ -12,6 +12,9 @@ Customise auto-generated field names :depth: 2 :local: +Introduction +------------ + It is possible to override the auto-generated table and column field names exposed over the GraphQL API. .. note:: diff --git a/docs/graphql/manual/schema/default-values/column-presets.rst b/docs/graphql/manual/schema/default-values/column-presets.rst index 38873034238..44184ed8ab6 100644 --- a/docs/graphql/manual/schema/default-values/column-presets.rst +++ b/docs/graphql/manual/schema/default-values/column-presets.rst @@ -12,6 +12,9 @@ Setting default values for fields using role-based column presets :depth: 1 :local: +Introduction +------------ + Let's say you want certain fields to have their values set automatically when not explicitly passed using session variables or fixed values when a new row is created with a particular :ref:`user role `. diff --git a/docs/graphql/manual/schema/default-values/postgres-defaults.rst b/docs/graphql/manual/schema/default-values/postgres-defaults.rst index 14bcf940136..e1a8c138849 100644 --- a/docs/graphql/manual/schema/default-values/postgres-defaults.rst +++ b/docs/graphql/manual/schema/default-values/postgres-defaults.rst @@ -12,6 +12,9 @@ Setting default values for fields using Postgres defaults :depth: 1 :local: +Introduction +------------ + You can set values of certain fields automatically when not explicitly passed to a fixed value, e.g. true for a boolean field, or output of a simple SQL function, e.g. now() for a timestamp field, by setting column default values in the table definition. diff --git a/docs/graphql/manual/schema/default-values/sql-functions.rst b/docs/graphql/manual/schema/default-values/sql-functions.rst index 87af713a7c1..ca7e60d0764 100644 --- a/docs/graphql/manual/schema/default-values/sql-functions.rst +++ b/docs/graphql/manual/schema/default-values/sql-functions.rst @@ -12,6 +12,9 @@ Setting values of fields using SQL functions/stored procedures :depth: 1 :local: +Introduction +------------ + Let's say you want to set the value of some fields as the output of some custom SQL functions or stored procedures. This is useful to set values of fields which depend on other fields passed in the input. E.g. set ``submission_time`` of an online quiz as 1 hour from the ``start_time``. diff --git a/docs/graphql/manual/schema/export-graphql-schema.rst b/docs/graphql/manual/schema/export-graphql-schema.rst index 551ee675865..7f312b0a007 100644 --- a/docs/graphql/manual/schema/export-graphql-schema.rst +++ b/docs/graphql/manual/schema/export-graphql-schema.rst @@ -12,6 +12,9 @@ Exporting the Hasura GraphQL schema :depth: 1 :local: +Introduction +------------ + If you need to share, introspect or export the GraphQL schema, you can use community tooling such as `graphqurl `__, `Apollo CLI `__, `get-graphql-schema `__, etc. diff --git a/docs/graphql/manual/schema/using-existing-database.rst b/docs/graphql/manual/schema/using-existing-database.rst index edffb38915f..dd2bf89281c 100644 --- a/docs/graphql/manual/schema/using-existing-database.rst +++ b/docs/graphql/manual/schema/using-existing-database.rst @@ -12,6 +12,9 @@ Setting up a GraphQL schema using an existing database :depth: 1 :local: +Introduction +------------ + When you have an existing database with a schema already present, you don't need to create tables or views or run DDL queries through the Hasura console. diff --git a/docs/graphql/manual/subscriptions/use-cases.rst b/docs/graphql/manual/subscriptions/use-cases.rst index 6c788eaa632..787df5c4588 100644 --- a/docs/graphql/manual/subscriptions/use-cases.rst +++ b/docs/graphql/manual/subscriptions/use-cases.rst @@ -12,6 +12,9 @@ Subscriptions sample use cases :depth: 1 :local: +Introduction +------------ + The following are a few use cases for using subscriptions: .. _subscribe_field: diff --git a/docs/img/cloud/getting-started/connect-db.png b/docs/img/cloud/getting-started/connect-db.png new file mode 100644 index 0000000000000000000000000000000000000000..90cf2a52ac424284417fe3a9c046611d35227a82 GIT binary patch literal 24388 zcmdSARa9HS+c&y#FGY(MDPD>cmte&$KyZg5h2lknQ?$h$3V~w5p=j|?++9ks;%-eS z-oyX>zKe75uJf(+o^x|%B`aAovuFRFdFIiXiP6$jBEqM^2LOObMOj`405D;X-#c84 z#~RdmYYYIOHEF5qD*XHRkFH^sk&*HE_*g|cQy$1ROfBy9J^einc-P+oko}NBGKNl4hef8>PfiSlICJa7#-I6Duc6)10HDqw~=3jEs!0Ukha07kzwuc)u?k9w3{V znzFOAFYoSqdwUx;&ieZLkVvG*`#P=eUzeyGEiJ9(i!1wqwfg${Pcu7{$EezG->j|Q z{<*mB?*0K=I} z6bk+I>(?godU5Vx7jVFA%j&P=)9c&! zHdPr5`_tn)v$L~euj`cF^(7KM)KkmpC5bhdx}^^U(P+jFo!eV%vWFF631si?@y>iRAn zb%#E36$r_{FMC#o{-3}9vtoI&#;bZE@>$58C~ z&_wzDu0~PTt;)9o3fzYOExvUIli=CJKR->-)MrxkUtHR}3NeyuNrLBK@eN4~nZJl< zd2FeBvg@GYL5^T);r=)?9Du&#(1N5n8wR5V{A_!>s%XU*yIHf=he1$>gZ)@ANeMXK zN0yo-)#<`Dt6YYo_9jtMmp{>POqV}yk>cr1fb}RainAVm^r}36VfC``u+PcL0S%Ch zwyr2X)EguNB;!A;2OciRQ#@9NZ`Egp;a3SoZ2zYrb?a<9MYB9Rw_!zSYvlU^DS&w6 z#v$O|C*bvKvNZZTJ07skv>4+sxy2f#z%NGf0t}oP1|%iwZQT)j9aZNF=fG#C#C_ks zr}M>G1Oc_OlBz-!8s0U%XQy$%*THkIp;S@ zu}{;N$ky36QY?HnLAN?EkK(1|IPo(i>gZs&Ep1GPfg z_RJcx3L_sHgu$OW{4z6`8@a&U)P)c~Kj>j=2i}AS%)IYGhMh?Y4`?dEUDLoHDKHw= z-&I+ne?@x}z)0|jlp zBz?qHV=A2ex8x&AjZuiU``quGsxinEv4>r?o!`>8q_sqL+mB0mCc$Gf@TUxFeg~s( z-t#^@eeAutu-}?9*T4mK*@ABD4z)0W>(<5rFqH`7+i#PP!DDlXjn`k!c$x(<9Dh7Y5-2 z|Lro%H>le}URN|Jzqg-rHqW!hVPlHTcxnVdlhU{PHfV9n6IkVFf7_l#i4~NlF*#0` z+ITIM9kf-}=hF||DIc_D8P8}LLM|B1O}AA({${Xo+DfqzL%DE*NvMPVBr}zNii-u- zqlS7QZQQoi`1q>6`SUwv?n-Twh6nx4m`baVh0E*p+gY@rf~8`%+7`1b+7@AOn*&Vr z${la&KyrJPyPj$KYW71&UMa4Hq=VE9LCq?~%RfcSLyo7FG2GYIUNAwUl==O*AQ$#K z+tc{0EzEAd_^v;~hN-BW$TDTxW;FJgECO;YveR*d(JKvItZO-=brfV|EO9;+8?QN#?Uo0Hus_ky< z&nSDBUmMXz?F;zfb4dmn4wtmQo)y^XN24LXl08|0)$6|H4Pwo-|9Z+g(VHvD`C3e= zuQ>bYc2Mme$YVO3V%bZ&;Ga%xWcD>*iso!U-=BRnL9LgofT_|t?{;s!lcB2%|oo`8s_uullIDY7n)rUcTDSJCXrTD#EYiz)d{kGAzl z_ zeELt%=Ay)_wpJv3wnw#4ZJvFY85!+K!&as|X54GR0{&RQv6e)JlDUWMagKdye$Qd! z+W@oIG0qaBB@%2nT&+nkai(ioLg*hW*_sdL=coq<3FSCLBVdwr>~onpoUaAig>7eA z3n199Z_v?(KD)Tu>RR@D5(5FcmB)q)+v3h_Uq}CXVSP8k1{n0{+wp?jei^yx1+S6; zh$!`T;nyPw?FF^cvT=zga(wLNR_AwRdn*Cfmd|VD$n!zzc|~0w z-}=l@9bx93{vu|>DTIFx1Fe1d!PohCXwS5OW0hw&Ha)+`Irx3ET+IyvnnETT|HaV_=5UZ5;3Hi2oEVk^&7J=Zfl0N1q4+3N*LgR*y_t zw0#iSk@iHo;EDy^`d!FAb}8GG+tY*FE22zEVVCMh&vEEqwkERk7Mt~F);)mL83kb=CTQE3E+VzwkpXwo4Z;VX=Y1z>|6A_`xU(jHg884OkUI-n z+5fTgq^Gy|5d-Z%<1qePP}KT=9LEaoVoZu(AR5c?@I#~FrEJ08+%P6don0j*32x*b zv)k`hvupaBo1_g|W=}QV>txEI6z23dZ&(hK}t z$ec!KGJ7G=<1tdZE7idEuR?M~8QxUMp^%<4ss<7G`QUOf8#t#vGlrp;m|9PSZ!A%btEQI=2-1&@%NK1%+#%q?p$6k zC{^r~DC+E$e8S0u>+0*=Tz}B|emN(jV}Iy3EUAJozU!1`s zi08YgpHm*`DMveJrbk%ue>w#MZ$;^ss=c1Q_J7GALZouWZhzmkE6$YCr3Ll}xSqQ& z@q`RGAC>|6Qq1vxvDZ1%U=J3o_s{l*ilUu>+I~%NFj{akj0P}&r!bB-y6lY-Yzi3# zRr%ske4m+Ft7N~RW2~Q?_p>;|rB^s~qRptv%&sT%hx6F0N z7o2Y1I$sM)WfIg=9XHX;jcfK_w!*|4RV5&0 zil)yM<$X^Fx0DkjW{{-zpM_cR3Y_9!RVYXCgzVZja{IsCCRojm%AbnBLbTGcqGkiE zfx8h?-4B#}g)Ghh&X+?K`E8?a`hJbSx!dfw!nsECukMQ+jTS1b=xhK)FbRY=65~$~ zW7<>}9x%Tuf#DW;Pz_cB< zWoM4pv&fphy)?`>t@}vm^N>j4s3V0ew7u2sptMGQKD64=aE`Y|k)%2>{>Bmdt}-|m z^Ek%_Mp$f;IXL6#ccYChYG&1u7k*#vG)J(~vFyUUe3_uCyrg;vCcMo*e?Z26)Z;^y z!Ne7%`X4#)Wt%BQgZSrX7E?c(p^Y-);rOnYf|(DPm|^kEKA6#l%Lbv_Vp?eU)>O_( zcGuyeLUfQ|PPEwuhM-o-YQr*FuJ;ezb#`k3ECcaDjiy%}3C*v2cY28uwIc!^YEZM5Zd}*wMF)5ZY_0wb13V$mU$xi*BU=?u0JZq;fnnJA#WN{{Z@3c`H-ui-)ctB!T^L^< z%hD{MJ)Cs|{DYW_g5Z0pE|+sb4uN4>&u^2gzubvm&WRYmr^yOoAd(ZDC@twX7NsWj zqmoLXNa#iASGK6hrOydbvX*Go-(X&A#D!f?%;_!rQ7jR<_UgwT1Fm~9O!bwqcGMh@ zL9~!h8dI-X@^rv~*mOFBrG%!@t9hJTBr*^SOTd3LsU(96d$bXXZXP@5vFmG8zWUtF zMTsduH=`mF8-vojh`k?WyGs&NP(*VESYCF`l2I8rbz$as7hr^Zw)GZbP@hT}9Q3DH zNR1@sz9P9`_4&l$o#8Gq030eky#2FXiVu`$t54&6sY&PkDZXCmIx(vMazX^r(C825 z1?)x`z`Z2VMnI1tcf1|dn%?7D4Fpmwb`$@E5}zm&d^ewf;-CM1YAF-^s!05;V}?Y~ z8*r)5#(hu99;RRm31;Wcu^LZ=XRh-}NxCA`1!7&xm1^K0Y!ltS6XzHUFDq zr+a0xB(~SQ5b=O9_i#h9iFOydTD zDCYOrGN2?wwpRS_tU8s8%gE|;Q*sm=36ihX>@3_`n+xi}S%AnWYvPPW{8~}gzVEfz z%|67IoOHjSMP;$2G;})x6;*;8t@iKj&*W~m3f{3Xr-D9FkXK62_lR#S#m5QuC>wyv zVM~PHr?w`6gPY2UkQ)*ONwmEYra5Xdvy;VSSghX4h4DnqF~r=dlKu6yxD&(K7Y8Ky zOW9)uO?};kUQ_p8aN{RMliT)+-ifFXiU*ySJZ4lv|9DS$QJ6S z;T$AjJD~6L9U$7sxk0k06V}3YM5lJJfo1sawF>PKp^BXV%S9mbw-(@4yQZr;lXjwY8q+)*9{2f-5cn}-&sL~a{Jgi&610$C_?4p>j z51}3>$;f%+7OLJk?{nW7nz#GhwK@1LDM!bkfzb<8R=G0xRUegNli4Sfr*fF_EI6^0 z8Kc(M_S0O!>>Vf$HjdA~u~Dr^;9W;2C7?Q9Wr1b{RH5*fxt| z0yWqiK5B##`9MCAq7lG_UE>KWP&~i4 zU}S>8z>|uA$t#b=Dwv%-|Mly{Y_rA`Og;F$?9|^;_ahI+F3UrDwpa$)ts3ZjzSSJF zMPB>aM26>E&@p>l@@WgDs2sS@Fp%)wK(nnXv>XE~*$=REY8UF1szuNEA-D8$Oc|OS zrM=ld_%^Qdgy1^u6}M5<^Rg_br`#CJ4(&bHmHZPks&KRWC$Y9h zaiWSYN#AlFUU4JdnSl#AMU!EK`$gAZry%*}tU+f~zot@N5Lw-Hz_<(xIZtD|l1HmN zUwISf*GxfLEt%hTz~1RtCtnruf~zXk0yNia}4Xe z?a5(fpdR=jw#uuejrYTC1^i17=IuT*wGl{fx#l3GP3g5YI=QThO*H2Mm3812j4E5B z=cvK6zqj=LlxTZzMvwUowp6AM<_)Phv3S)~0#EjYN8Wb8#zRJ}NIzO%$ee8-l$Du) ziiy+F?8HHMH&OmcUN{k^CqQSNw7DMmZ0mD3{ zAg~lN6R?mcV~57s(A7Tq$=2FxRXUeq4qn?$^!EhR=jiLv@n}B5JfoCOJO+eONOT+F z1xS3~?L4*#FSTp8i4f_zq89$q7jsQU?iYpt?;+e6^lkH)V{Q4|x;b7DTEN2>cY5vk zrwYC?kMztn&DA*TfWgpqk|HtgMSRYmZ9eLI?2*H+7L!6(v}@h9<$IYu=BzfpTrsy2 z+DK#2J}Q+fiVG3HRS8G%<6(b-HT)M6N|Y|9q03tk1sRGjT<3N3-9TZl{(PE_<=Q1F z&?(D*Yl?qS*1sWOA8rUf3A7%tR}}~4qFsG!o!V%B`yCP1RKyO`mKAM-$$?iLG83>R zt``F7FbD2Va+>w@y)5&GSe$Fwngw^ca8JU0vKurN%86Qj(y#l*s1lI3@Jnhdj24I! z7DI*SQ?frMqt$uLzX_p;Ndf60i$*iWOIO;Ankw1FaiHFUx1brP;%SILXBun9Z|iRY z+aB7zasOgP3iJs|u}UtPlWb*Hl%HUuRpmJbIpr>d!}v7r=0EC#VFWpvSN6Z-1Kpb;!{~z131MEgF&Xe5=#b>rTwY2Z` zuGS>WxG27*yxq~S3}Z#->*);>J>Z)?P^n=Le3G&4!Q>9^@5u2Q$7~IdI~g%tNU`fr zeN=uBa5J!a^)mhkR(OUg7)DIT8(e0g#FEan9_vf;8SaO1KI>nN*@&1mpY00fkXCZW z0q&9t;DDR>$PsViEZN0K{O;Ecrz+Sx^biV;Wmxa0NWqafu5CIEW*!5pok~ngx)l@+Z4h_!!H@uVFn2mltz{J%U;Uk8;&tjUEE& z2x@OTN2?W6fs#I)S5&o?;r(Tvp8+@wYW}dEeWrLMZVoM}x=yaWOCPYVM#Kf=lMp&Mj zb1%JEj@PlwHfMQ4Z9S}!jAH4k8=QdkLB+3S!o6f@K<;c(q*t(=mbCede~{0Q;f{N4 zk$I6Wv>-4NS6GxeUfhr`N$U??Sn^kkfnwrIv`{0K_}yyrnAuMPnMpFvin+k_=Ol8M z-edM`tHHVYZ!kfzSkVU19=iXCdo2iSEN zrWu~RHvMxDw;YKC77(7}-Emw7HY-X#1q-Nc=667{?2(7- zgJ0#hDuCRBa?Fk%Lsm|d{1|PMXAdN$;m_|A3Kh%I@fP53f^s2zER5osKs~oPh_2AF zZm+YSJNSiTv&dJfMrwMZXQqT0A9b&6Q4~quR34~Dx5W7gR#X=Z)d#72avnLiKUS$x zw5O8wpQyok^B+;Jabd^#GW6JfJ8j0i>YKjQsWfcB`@me+hj8W8GaK4dSS!J- zgGjcR>YH0DZ@&eqDT)yLCFTPHis|(ZX)ximTWT(YXX-+P$P)JcqNHJUS$faZySZ|K ztcs~wJDUdDl%$izAoPbMJ1R$%Q@j+8#IJWts`J?f@Am#{Sw8{Q!5%0m5Q2Ns8|0-^ z@zGpvD#3h0>#5#HxYuuxTWO|$)0&j}1sOOBuyRgdL!?ymc|HkRUGKAp{BhBjzP;EY zo|{QPG$`k!RrE=Ck zEiS>1cIS)@(1nBz`0Z3E$>svl-~{&uLk@vccF7jcPU!+W|T4K(4J7&p1fL z*3aJ$yQJ^h`Lwyh?KLMPb2Zi0-UAdZfAqop z&>UFVZdUL9VlCm#%(B7LA5W*RB#;f(`)>&2gYw}Pz`D*<3Zv-K;XZiJ0oeNY1Y0nFSE*h2>NChqZP40@wBi1rS53?&I91UJHh-K@-j5*jJbf5Sy61D`GbCj&3>;JBqgZTa0k?1oOu*}i}lUZt` z*?oeE`eElBqmUHaBSxz~=@-X6=iQZS*b5i_P=Kyaas2XF@N=`i`L`DyMB9|;*``c~ z^_C8ZIQoCxwV8i;ME4asyKta_)OFqhKW@cg-dcF3+iPufe&A!JE);3wo_UgiX zT0X?1?umTHTSbBG!B+CpsJW=qU3+%vX~^$)^I+>?W6oU(zb>q^OjePhudDZFpzG_8 z?J1hf)tm}sGVF!01H=$kZ7Pc8e&I1@;L0Gv4%z0J!D!1M5RnqR@@sIS4Y{YKHGeS% z02K-T4j_%SqdlhZe78L`gymJHlcN+LaG6HsRv=`^fQ^TIMfb})?TI>oYaU?6%VOL_ zUo8RkmeIxk^@m3}kzs*4q+5J;Y`KXV;q=R;6m;L3^u_m?2z9V)(|x)pbM5gH6)G|U zK)_zU#F=)Z<$KJlG<$wVCw~q0KYUhyrd)K6nl-sNB}?ta92`T2en$M#xcDnc2gtnN zPK?b#4}}_v1%!TZehtVvZxo?CZ3eJ}m|r_d2xM8D z!=GE1$YWb7k(Fmd(ClR+_v`|ZfyIJpcqBVZ+1-E0Gvj07-k`7_AMW@j^BH ziw2lzolSCHu@J5XTtCv8$q(3lsB5s4Mo0NhI}))oyrl$by%VMp=5rCG>DYt)s_x*X zp+pGFfr|n700Xa;U)2>~9Wd`$S+jg4cB;?4JNEfY3s$Y;U1fS!UkL$XJVjT5f~(FH zZTt|CO5L;~6|_(9C-&XGN#d;ESOLcgxHh&*)_@!Rw=B(IVyfIAfO zV;}XqB5grJ?&ANbegTJb2*?Er&4m{3M#Z{HEO&D&cK z<7qf$7ho95asuSoOrA_0g4zZI(RXH$9rn?1e3SZ?{3 z=ul8-L{qUgk?3($vl#-10V(W8Rs-6HmJ1h{_(N6ZsqqP&A*wcIQwz`~VD#sqO37!@8e6g{gv*y5z1NFJW*`lX`i;*D6zc-hPY(W) zUvNK{8`XfMLLj;O`wn)ISGNV!7x+Y~t-YPXSF zdok_62IDw+up?L~ZV!osEw4CxFK|OQrpG?R4jqO=EDGYsLUF3$MZawY#r20?1}M_| zlBkHyvS~b-)M)p^sFg~v(#)}|U|p_MLsJs3WV?%Tcu4mAkSPl;y*@X!e#*Ix_MI`X zIGXKD6W_=qMUB3EI3!Z^10WAc!5?k;fwLi=vt zf?Lb~k%Kd2jUnE51H!30gzwTgH#nzftW>QP1!s68{%r-I>(4H+cxhi26wNk1vhE0I z0>_j;za9%nA@}5bIvAzblaYz$LJ4Y2!Rd=*F{xS8Q^g69{SSByL*6+8wNcnf%2{TY z9&N&#A6QQW_J%CASJu#~%h`i0O^;A4kf#-aOJojc?Bbwvv!Iw2UeT}%do_eR^6GDu zI_HxR2zz6=BqLs9gy{j&4C9psuORfGgi`3sRM=L8{v#je6dRzeXz>ck&cV&46GeDO z(Zmm4P|o5J31@A22AR-7dl_DD_tbs5$;n41)Z$7et;e}OC@k}Em2xU45?4g>CgF_N zFE67wVXv!_F}FJ_Qn>(&%*juj_JeV{ypXdaO&uC0THjrv2e~koQ59?u{ipph0U(|n zL{Uxw{JD6PH2QsenUvhn^Ali%EjYy_S;xR7XFI$S%2V;LeIT0StnbZWsrCxxHWNH|x zFzmIxr~Rq#O1?c608V^$T9=B3&~`$+WVO&o-|0og)!Y{4moUmoRni2>SuOpvnVDe} zIy2$~EL*E9fHaPC@My+Z~HNJKgN?lt; z7A=#f8E)5D?v2l&pj@q9E1PsRVw3R%gU$l>M!4e(C}@f=8EG0T7)rcumV6z}JEGDa z^Rj(iaCQdG+m~EriuF-A!ecWezuBM6jWUHwVI6p?l1U}41qxt9CUQf?7xwnsR5=-2 z9Cat&U<1R{9w{kO&2P~USDO3H@(0FVvt*Hk%>9KP0HF*P+EsOvknEiLe=27@FZZ33 zeE4fCUa^!yv&XxWke+Jj-wyUfoN+hY=eiQ`-(|XfAyq%yB?A0H(=VOfxBM&q98Z4BadlwR@eN%@^L| z=#jgm`9=BmkB@E-{8sR%EQMY?<}Oa0Ryw3g?^ciYi4c~Hrk)1Pyk+k5M!H9nI08Y! zqdGJnF;xk~K`ReaKgkAK{QVxYV$|PYNYGd{+~eu$igO6_5Z}5?D|$loFfdc}^fd*whP zmu+C6MzkD`LxZCS6Ob52-*S2MB~)i$nc6}gqYX>a^dO`EOIe=tZo_-oG~m+y*1XPv8mhtNgDSjWO>L9G$brr*z}+^5|vPZe}?zhKUdN zfJt(A96Ulktj7w*Ql=wqMOm@LL4ow0Rv05v5nKNnV8}G)=PhDwEduphZ0tHOTHU`+ zr3BOLmVEGeW^NI$pe_eqQjvLuZF%1Td+k1tU%Mzj;(XE>!6Sh%2o}Xj!2nY`mXkdgkK+kskQ&XxRZ- z#HKMf^VvJ~^WXOOz1oocxtWFE&1hhb%^UE6iteX)vgrDB$KR}KE*>E-K`j-INcp$x z%L!eT9vo6+_f@cd#LHrnm&d5oIOBr=YD%qL3LEWSEFI{97Oq;A9Me=vASXy7#q~8T_b;G_0K8c!^h$lWmv<2AuP z(U4%=+UH|v{>UoWiF0+kZowsVxL@PqCmtN#y@tFiS)cDMsO6lHRe6W2h7;6{;@k>3 zuNMVto(uWDGMzo#oW0F-=D~1fIrv$Z&Z1>Jxvz4p;0-dHJB%7i7C$MRyD2Gwi$B_A z93yZ6>8}q`85tag2+Q90&GE`$KkUi~Jkt^A!d@8xAHRnyPWs{JqIW55IKEE^>G98_ z(&tz`Mxh;C_{qxq9`6>*y0*QD^=-D&=&nBS{l1 zsOb_Ig}9~-!Fx=I_MVa`8A^36K-dC^YkQ_Wv!k(_7=QsQv;^a5lprQo{CCWj-}~GN zN%LeLombSZmS^1#4ClsH+OMe8D_cbs5W>-Wz1YUfk?%t~Qe+%t;p~miexhb6C3ODb z@om}?zL|l92*Ky!yfwSZvB@2)4c#V5fv@Fh)Ejr{Km5MdZ~i0XOmerSxnIRkKz z^4Yqtf0Clm9Sz~!j*LE`dMem<*n;JnvsVTRnG?+!&EkN(02a?Re2j3&5>(>RGNXGa+8x*wUtc%wa?GN@7Y^T>XBMkFoSG;4WhY!gZiSo-`Y zL~_K&4SKmkx2aGzM~1>)-1&Aj(pNz7+&PtF;DR(;qQW{^RSoeNJyN&Wt=GE95*{%# zKMx=ijoCFy@?8=Zm3`oznz`L(baB{ilXvo>oeTSiFFQ%OJ@B-f&6bqo)w}IRBG4)a+NAoaOAhU!MnNSi)?-=b>hqLYE$`*keM_f=1f&I!ZPL?3(U+KxkMF zniG+8o{21nhY^`hWn4WQyY`rRp^B833bs#cA&3%$;!{(+kQoz<>k~nv;A&TnIrSsk+lQub1Cf9`QgX6T^2KTy(}FuU39Zm zGzPg3zqDee1cOe>nT?c z0t$p2MV3plw5{_JIj)|<{|r~;Q~w#J`zaqOWx%T%NPgOeB@N$-l%;EEa|Z=3ePP8G zO_eO(9b%~=jh&j2EGQF}jJey|Wfps4&wR!axQiD*;!jQT^ZfzDo&>&IaXZ%<9qnZe z_=TAXtsr&sZp6iZ-f{7VNOo7-ZT}i@UMgxGgrD0&4cITsTz)B_KNxq;CfMWsx4FC! z@c&l_^K->@WvTFc_yRKX#~t{-^UHp=)N+HghZGBSpWLrSeNdq8k067wcm9s*3ixlK z{GTgjj@SlDey+}=F*09&NN4NVFLQZwckz0p?lr@X_x!dk)f~?)7xC^GDE4TMz8d2U zY%-R@;P4H1%AY0I+VF3l_(f3a5Td*_lHcqGygs(tf-0((NArEnGBb^?Ba%LN&o-#R zBPS=w^0a`MjfIpU5V97CJk86(I#wUx8nntA9J)!)C3?TtAaHbjxon*Hl*g&u>e*0@ zlHrSTzk(mWZqO^T{o1mRP`Si^A+0J{+|AGy*dn>|{c~y7lamutrt_~_Ny700y~Roo zVX#H)18th*V?!T00#rETZL$?#zJJT&Vm<-^rnpdhy4i@1_f<)ZKq#3!Neb;r1ssBI zn0q6-W=e2J{Bsy@J0~CZ)CQbGw=L;uV`KFx`rc$GuX8r#{h!qDFEEnGiEZ%Q+(0Th zQo4!MvLL3xwe2jAx=`WSp-+piuIZIQ`>`Bwr2zA5lXONzH>&8hZ+;Ht0iNsw7lS%7 zH7D`8-a*C@uNJaMfI^BUnaE2!)d&5~3`C;T`;O=lZEyLV| z!n`5t0~@=-tq4jUTjP1V{Nqb4dNqc&c`4qQwoUwhH=EE3>95T{Gk&tKHj!8 z`D8QuaamE`KC#n)aYy+zba2SX;j$m30rucIe$3(^Vt5B$Fm={M!A|g-P$TxXwBHZOj#< zp_?WKT+Vf!98^^CkW_(XS#bJLA+HWD*@2ZVF5lN=oEo+Xb>7)_cOlTV!)0tK_uY-P zUSH0<^YCZ;LwTl|i%&s6drVRjUnq{QW^Va2W9#uTqv4^l)Q5#T!Du-z%M+WUC#VaP zb^X{utiAls?>0kUfmMWf=hw8swu(M;WTQP_R_Fer!zFH2!5``LYG0JY&`}ra0n3zn z%C>i*Z}sDv(_VjDZ;oIbPz|`{Ih4=9HBhTFfJPMT9?N+23oA_)v-1Y9G!fI1-;`>2ome)ML4jv--8_JvBY2@0o znG-jw$BiiTA3=#zNvP^dG?{83@6Nz&dz|ARTFWeE!QPK&8AKu|vuZE1M4b|!)o8GL zI!Y>v@y&Yn^O-L*ehXyo*^<=03_=Ue zKjkx^!1ePYb38q*`(_5NOKH{s%gn5Og&FvBKHe~S3R0L=b+-hU!P#YJzsye{%GY=J zOsIzRM08A_%IdcmiyWT*bCj9F!K`I_KgBet{kkZJ_=4!~5B8ewq4K?$)X5KwteQM?WKGXVR-k>~wuNXt8(Ut3FeZ*gF~Uk1CNMccst-@Z+k3 z4`TmyAtVP4eLIx9ti%rTdJ|MqBXwS0eF6sk{p@n1;8VwU8o{WfqS%zgyVnz2@4Y!V z?V47i?nkEM)&-{4(qzx{UzRS)KXxj0o=IshKpekvpG?|H?V30)fRBQaHogm944?Zh zUQ6K+MC_IIOE)u0X%O^FNPKHk zw8xy2Ru^=VU}GEvF&x4)XvpmS%jxh?AkXqF6_ON)r_y3vCFL?lmRN+4JI<)ZP4eV` ze>VeP|tDO=jIeVT^zJj-Uo(;3u=N#*)4Hq6 zK>QENs|)Dm80HWqicMxV;JQ z+mVAAClr@8?2*?#YQHQnPXkco0!v^pPa%`;w)zzsl01EZI>Cmx65jgSYIf*NchiA` z(+uM#uM6Jz$oBMx7?H=ZnantGU!H{d)SJCW4XWBpqa85vedtcIwCohlzUN-#dEp`W z0T&diIUcQ=t)!1LKO>MJOwX(=Sf+%W9uF*o8ys}&oa+eY!=Gzs-OxaF`p02IO zzSZXCZ$#omOr=I@Jl*2(E6Qm;6;b3b*w7hYw;(+EWC4O~A^D(T?W@vb9N-<7f6WVogpD-RHB~%S=Z)`tzAiR#{HqO2Z?NNhEb+ME(NUat6usL zY0oL{eokwfgKOXjxsFY7JHGUh%{l)B{WVI!_c?;`ADRAFVnm!^NAPaOjr=(EsNGQ+ zJm#jW4OZdD2%3``%g9<~{$-k?8o~S8)9}V+^ZaT*=y5s@ zFefh^F0KB3PoP*a0Q1Emc?7N#RTdrxXDf}zCD@A@Z-^_=@cFQYcYC{# zwa|FaN^GT=*rOhQ*p_#wzN#lHM(v#E7ia+zGIaCYHGSRBW&W&pvc&uO{kIuZJTzHK zY~il%0>`|vklaohB&Ija`IvJ*2&dx_DTdLZe&BaY7(fL};oo1>|J`jI?$+EMv}kF2 z;*$2s?}Hxe*fv@JqU*H=0p>M-F8Q`;%j=EHOpjn5Zh4{hhG?QVR|`-mp%L4pVw*<* z^FZK-{Ukw-Eq16eb}&4jO@ciMK{Wp6gEWXjO_!eZ%fU|??Cr&22ocw?V88;ZCdmP+ zLvDJu+qjB;P?7ntYZv; zxs-;)XuyPRKf#=e1t3K^?Eyu$Zf*nX`x@wQMuwSPe5SOVxc54#e$dt^``(Jp{&$#9 zILf-@jpH{k@)BR{#%hO(`BkrU(rDnTS0VmwbI(uM-0-vYHRizvskel)=Ey$#E&G4Z zZCBf@GpNqk6??kVFJoAf;f=Xn2^e7?&2{iy^u_835 zh)Qy5I}3B(SqW0vz%)*e^M>nCW?mZuQb1& z?L%3#t6yiU-ga;&y11mfRauEu1iVzh#;S}XEzCw!7#Of+RvIf%@iMn5|FV!=8Hi$` z%_)M)3E!z`r;QNU`Vn2#*Ta-o2zT@hb{kl0P-dv2Ka6H&+t)!gdkzhFG<-Ucil0ZO zI7pCZYKczb}CsgP#3 z$e#RFgS9HuQv(TyhOM2aQPF3utJ_NM9KqRzIZfodJCdQiLbFNz)7Ni@I* zH6oc_Mv2J`$LTS%WZ&=)nv;EOoO{cPLb_NZ=%jn(W?ZdOl+@IYkvtt1Y@ZT4P+L>V z1DuKFY|)?eRx?8yheKx!#>`MGMh%N>HCT9j0vuX2Bo}W%S;hJf!g8MdhmwWg(2}6& z>B1@Rlan&YDS9K)yg*6K3wy?In%T>5cf_JgmY$rWFm=m0Yo5PEGvOh^ubm^4P5g)9 zvQh25q{*wqgV)_k^?1XQ;4@vMtew%z;P9<^j`;VRqj*#9t6cOKZ%$rr8@G5ccwDw^ zU2KNarFJumsf8PW;mK#M5q@GH`9BAK z|MwneyC**@LfNYVUHZg{B#(7VYeEMCDO4o7fuws+S}I2OU{WxjoVC<3HuhrLKp~)L zmnOg{oO0fIyi#hCuBY1i1SSDlH8ZcAHO{jgk?Sm zL+7;thd%rNO>=y1y@Os3PS07O>ur?WS5J~w4qeX|#T7x^@~v)qt!L4=I9S1#{?jaR zno!RtgzW-z?*+2A9AJ`fs)vTA{QiJL7CySJwqLU&4!cGEG5ofoKWEYi#=YJlx}KjI zHL^Eq+FW}>0SGZ9V<=zOOxqbzo-4^)FyVBb`yD#CurM$%Y>$}$!81lhz~niT383~6 zJ`+`yi#x;j0SHjhq30c_3H*1F7rb;W_(Up-^Tk^ z)_i#8H>%6V9OJ`AjyM0Kk); z0BmFjc+ZnCCsVd)5J}5uhT85cGT)4nx!YWPy%&y^g(kv^4z_}*8Y$^Gnt&~p0QAL~ z4P-Az?TE#mXLARhvm+iLo10uIQD*M563S9R11#y5R%(0XESCDNgvMF(`w7Nr+MnkLkU?9Y^D*N5 zU%h;HP}5J>FTM9BO`1R`qDXI{_ZE~6f|SskbO_Rmfb>X-K!_9rNEZYFDWV`C(t8yU z5}E=DU3{azciwwv?!51v=gu?tpYQB<_nfnz-95Xr=j`rL*~h(&d!9Dk@iNl!n)-($ z8B3=lxxwNX3Qd%L482jG^jSMXM7J2ONn=oFBlau;xKBXEZ^k6EZVS9e*f4d>ZXsfq zXWL``GVxnHxM)7Z7D)Yo;dJ=$DC8l6ycS+cMN%a}?SOi3;|a`VARH*TCSzep@sP-I7pL}14e(mFa%iwy>;sa2bp8`Bv*y-uS$_Ni==ZaD7{6) zrMm;e5#`|G?=Ch7=p|2isn(HnOIfe(4)RS(1 zNq~&S{QfJ_r|!1vi_9s=2N|aHot_L5l`gYm z3lBVRqGEUeV+(1Psb+SnXqoO3np|!CqZS@QmTjmsB@h1<7JTAg`NpauEdmvwsjbDw zu{W*>zzb%QwvnqeX!Py)U|H9cJQ}H(yo=uerURn*2e|!;2x``+QY@V6Vn{{Cf1>}Eh`C-pfiFTrcT z{Y~!bFK~FLjm6fsuVnB+W<%=g=C?MXfug$uhd3BY)02AY&JayfaNiv}*!_$mmh7H2 z%v4V2>}1drl8A&r$U2rvg8|xIhK!P;*!2LWA2)AQ6XQvNP5U0x4B7(Il^r3tvH*Ge z74}eqz>)}x^!rM{^Ol;u#xbEe?p~?*Zw1wSE8~y5*05_u;jfSccrt@--AzFG7$M?@ z@|CmmiKdPSnvC;{pr}fK%8IX`yigB1<*-Y6Rd??lyv|uj@)2lz5_(ddtH_?K~RV{8?LH94fXGSr&w@NQ{#VN4BEwM zdD;8WSc+qv@<%5AQ^8-fOZHiwb)&nFFZw#MQnGMV3db@JLmKdgD#=zl>dT!}8CAM* zI<;t&;t<#FU?zx=hw)_>XDB3RhWv!*G0|8a6D{UB?P6H?MUN!#kZR3J;v&Hwi=Oc| zI5uQz6jw2czmHRQ*=h!K3V@4F_wx=r+}#CC3fo z6qKc!CF_Mma`|>F-W?{Lhqvx!;Exrb>4Ku3fV=!_g0slW09q<-+FU+O9!=DAdtB%g zC+qqh(=XeQ^#gG-Va53YS{-U{Xu;NfShKP5@!OG540bcWZ*);6R79Z}`||VX&^h|U zPRcmsRxH%gpcZh)hCJwfLA4BOeR`0qV2zFsHTP3{pyO5vi0{EI&lDBu-53tAEQKMJ1ak#zTwet@ee~u&qR;tB; z7gE%Q#Q5f8rfX9%o(uG)vDvX)9p#>P=}cyShf**uW+#;&Uj;wxI$flHS4(|6-{aaG z6F=?sfcw_OW%ogp#Sa(ML7*f&^@0^P6YraJdR#eBJZLslhCO}Qt`xHu&NSa@5PYqIOEYz4dC%r{=X9hy3A&HGEpE{ zDNd^SBuq`WrpUQ%DBH(FtR`uLy4e%I*2hdO3Sf- zKlcI#TabUWv)zTa&`?lgK6yVt;#$|IPB0sQ5V#zye8B}h_lI*eH3U6&pdfDEkbzad zs@;52gsj>&v`G+XnE0R4-?suRV7JkViz#e)4GZKD{QzEC3=hetEM-u#4YI z0HjL#kpB$;yK{TK5DGw0lDr3>cu25~nh!FLkq5rf%g`x&x@gOx7e%v4j!N#c7mT9T zhsV^he)R+IEqmlD;oBWawTG>=E8qUl0g74On`=z}Bu+)FM);*jE|9XD@$}Jzw0~@J zF?x+ylO^bAvYudFyUN{RmkI64LT^c=A*K zKYrUCF%iY*sLmDMTJOFJhO!dF@TBI3UwQgzT@q;aiT1a)BKIzgkCp~>PNADz6HOtu zA`%z+QO+MmFUu?T-g+&@RGrk5|+5q|fgj<7Id04kuLw_EUIM%a)ZwB!! zo80fBIkm(R6Qo+~h)1X%PH_4fq~A`5_b|3rXy<8z)>0N9+%hNw{QT%sm0j@&_?kZ~ zp}9j%y+dKuF?6NvYayW1Pe)go&R}=SoaNVBxbox_;Ix8eK*!0WxP7SfHv({4tT;gG z_V=$Cel5`Fs2Jz`A-G!fVgoHa=O+Av_=|>=(VN7}xuFOmr3`Vm8iHr{U)8ML zZTvQ&5S*)}q6wP6+r!zJ#Cumf^TxY=#-#yhryFTz+{wpYzUQXYONiXjLnqSHoS_yC zE6RVM&;joia&A3#(p>=RgY?YJ^P|g<36ifKv#cJF!s?rJKa#2-U!%#n3XsNau3 zq!@jIpF+Syq3-B109k9Xo6I(5Q(>CgRbxcs`tlLhyb(#a7IZ5aQdW zpyWwt|DUErLPYGlqk3b%oga(>1q>M`<&rn%2$L5Xp2%a==nV+YQrcM7Wf^_GNHh|) z$fw1eRnWOy1@<>FVyS;O2Yc^&-0leJtVJSN+ZQgiKw4hyHd@8S7X2@C{bc9N&#Is3 zInZ`m1=xZHO-O%CLI>Sc+yjlKy3vEkPFGvRdSYXsxv68_}!1VhB)!Vfq$cp}}Cb+25- z*$W;NXTKl*y0o*Z9&&U?cnCq9*t#mtzl`6wZ_Y{1la%ZvvS)KmPnyeFgyHa_6tI5v zAmX#UiaRic1dy>}3u!u@r)4kUGJnAZGyo9~_>B1~9N$I6xcq}r78_JJ8xDcok7SxU z3nU`XXbZ)XxiNZBzlim)nSeSNqO0Z_QV7NF6)a}XjC;JuNW%qPf(qd2Fyi;PvwSZe zhhD{QdiK9A*h)JrfE7G(nHjbfZ*DVU_!!&+tOdN$mO)p25srcwfI^fn)d-6U1ofjP zOq=d^ghFh14E_uhU#c}kpDh>{gYIbDQ?;awnNJ`Yl?hod`m(0Q3T8{n9XE+i4!D#g zi_&=i3@vP%;$MP2^YTKcC}qoLxA&D`p06*Hako&*h=_RwJLbPpcApy~kY6v9}%lKe|7xlEL6U%q$7r<1HPcL9!VQ2u;r>E8M5Ej}$*lYS7W@Miu zy|AyKXd40;35Ctf@ZbHZY%dk!E~*U@HYM568Is}rRb^e4nSB#3w=)Vysp{Sl;mI2? z)&{-%>43s+^4AgnQUn4|pGbb6jKF*Z@d%p{(+6I?POdUB8D)WzH$Ko|VWp(gyl@bx zNlF)REi|KKHx)K}h(_}n5f!{|?2@Xp({*0fMwa)977xPCBr4j(%>x)4KbA`OTalSK zhl->QEp$wOK7llPKUNm0K%y)Bn`AU_ea_fhuHsb+`ru|3{TAoTp==yj`wJ&h12kHq zaxd77eCIL(!$ciQVP>UP|o6iok?yUT= zH4zy{QS8}P>G_@K`fa~P>Cl3BuYD&05h$9$?o~RcT~h5YeNcb)xERpr@{M4-B;$Bx zFW|#clLb*dK-OOjg*!hR-hE+2+l?D~P~QWm%-1y&3NJ^>_`h$yf~%XyS`$4k0@tw- z(vHvtD1~<~2nh39Vwh@1=Z|_)W}s{#LK%Z>RUP|BJfrqbx8tO|s*Jk$l`Nw5*KbcObLU3;W*EnK|7>Og1c zD=4BCfG9K!Z|O}?@sp}}FIEIk{MK&Io*s4@h3nwHlrC!^d9m+%IOnGp!~o>t=p9~L zJ-poD#fH02>*Twf(J@n{sHyJW@;CRiGQ)#FVy8k;QZtj*9D$M81=G0YJ(itv0e6vi zvVqUUyw@nqG+P;+m9a*lVMiTU@Tr^N#Y_vbj(3YQ@{(Tt0J}+2M+}@`bjAyvW!!jA z^7e!n9kUC3F-Qee18-W)1g98rf!&_9*HMmnw>ao$kW~7+q;QEt)*Gi$4UqK;UjWC) zMr~kYsZc?e(OV6AFi#t%uWjyr&87)U5kI|*->xvE1ODn44Bx5T!|?#0op*byO&FhJ z{cpv!STL?>X;L4jztd>5C=d|I!^!~Rgw-a(Av4#>`09tH_(Up#;e#_NPhNt}@E-Ej zB8kyxcSH>np7+^f-hvuy;YWM9xlS<>pT69|+Feky^XN{erV3h>vjy_jIIKl2mf#r zJ?~Ow|C;&8oXP((IE(G{x+?-{!(DEb&U;rM z6zr7LD3i@6Dg#Sr3L0TZr+WSy2H(5xXIu^_{k$Fvcc^z+sJz<@n}u@VW`{0l?;0X; z8L!aL=54Be1_O>vFn%m%8g&e2`{mSYilTHUx4-s5>jpd*`z^VPc`(!s(SZaQ>GOpnWO8 zdaI?3+iVbX5a$Z$U%^e#TQ~@3Uzc|kF;XSR*k?Dj=zE^Tt(!g4R=Hs=!oBcRXC#Ta zxVZ%{!NSs}&CGj_laSH^erKk2_!Y(4egf|oSKsIwPfrS22c##y@w&|`W$+j@5;Tfy zQ+3;I0VO!EvT5X4_j2BOI_^wAC~>wz^k-PonITr~chu}zD=vbb2!_y!D>HG_j2n~Y zcF^@4cPZ-|5m#pVpNt}%xb7$IWpJxS87(}nQL>UMWz;H~T-X&oxN+|1FJ{UufqG;P zvIoI4)4gC9S!%!67ofAy?f8wqKxPk?m~pG`IjSwMik1yC9r=fnHuEnf2!k2w*&RGS z{6~uD=u$W^oU^CJF!D3P?b=E0T+ajo3|FS8bJ@`#Nr$|6Hakgsaxh1t&YB!o30)-| zu_L`vBt*!jIcQ0!xl$Z{^UA>@0Bk;9Yqse=3We-ghy*lm>j8sBndKpZtA`(CVH!3T ztq-!xq6g*e<)EusdDA#jl;U7Z=F=0=L14MdAJU70a1XA(gs`&K&Sq*4yM6t{j4n5> z!mhpMw@DT1I?->Rw*N|b6=jpR<6cDwuKGOwK>jmMY(+p;1)q+=cOC<+jJzSWyi`uH z-1ytf@-`x*);K6;G)*{QRh<7C14>0P#Ct=Wjz}%52NHm~N9^+9O5?(kr4?08)sO0P z{C8Ms|DsX%54pneyO_SnoY6@|oUM5PKivs;#hI2iEt9hC94BFd=iwKp#qX9&)~re* zwj#9N6LN}OgkFRznLKWo{YCtLcqaZUBSz)lb)gt2NB39iQM3=y{}`(Be=c;S{r7~< sT=>t>nQGTF@eltSm&$+j!v9J%F!)n!>3t8qDEpJAr)8{Jr|uB+35W9o^pEo`;8rVao8+({pKQsl2@Wz`y_)40d&Om6DPY5D-X6NVvJV zDJm)o3k!Sq?%mnh83zXk7Z=yg&d%lKB?}A7!otGl=H~tVy|1tD{{DV$Ztm>ttfQl2 zKtMo7Mn*?R2OJL9)YM#AS!ro$QBhGD85x1WU@0jnV`F2nv9UoxL6(-5rlzJ14Gl&{ zMs;;{QBhI0wzfSzJyi8`+1c4*Vq%q*l@k*aM@L6D_fPXX7r9+qRl~dfrE`PJ$7^eA zNsX&hQ&Z>H4@Z~xCH=qF{#QvzHG-ruKwemf+i`z55r9?ATWTfI+UJjFgu5%5itlKd}LzxzDAf zrHKD|{67njo8u)^Q#$ngeN{6DCTmo61oFbEK+7#?XkCJT;Tg$AQ8vo|F6BEiSZPaE z&L|i_3A3o6adTyZE(ivOGXFueSxXw5-$}DzgAU}q2WcjmBfPm3^7tws2ZW5KH5Q3v z)p9_c;w!j+ZYHEg2u!8bwaf>2nIZ)2Z7=&_SaN&Uc<~6k_NWm{Ze~N{cBK?iYY?q? z9mp)!-VaqLKUXup>n9>^qAJ11V83OP5JyS>o4P5`6sZHkw;LEw76q@hP11os zIUwy>S=kD=zmcFa|D&u2^5Exu`v_dV5F`XibOby<+}!ZJ+{*?$(l99eD<}N&b(I?A z`$JAEoVkt_{1$5jDY?9%O*2yWy-GC-^NIhpD1%s7vItui?HtZ4iCyOlp%B&b1Q zZk2;Jkx#edo_+ZjiP$h_ojVm7R@X>)oI}b4W6v=T3_G(7MPz)PK>-cx*gsW)`OnKz z+cOXg#s3KFHkZ<^xui1>8UI z@s8=tVUsYsT*+NU=#Yx@{uENPEg6$2%mcP7d2)`I<;=SfhQ&AH(dP#)S~Sn+-(c%M ztatxHAgcka`E)0l&UunK2JhA3>JfHd?wou*G01nb1do(|_))My37Y>>0GM(NF6u7v zrUz3&SD#l{_|5L`e?aaGIaIS1PTi>E8*I@%?Oe!b-!MspQPGtx$KO;0!CZUCsQOgxthnHn{|N3jz7*T$+ zfMn+dCrjTS9FtwFWqfe5oW_ko9aU3I`7K3+0~?411@FxzPsa}B7o{$fg2a;*E4@nY z9IIs(YmJvwmUlBhaGgeH&yK%U$rIK2nI_i#D?6t+ORIoKSr>8(+t(1q-<>QDu!}0i z>j;hPGRS0vS0l$H2VfHJ;qNZsqEpc4+q1n*O>m{4R)3kQ#XyZW#)7$ul!$!1D~gp_ zOmfU*=J@p7<{1I>9l`hWs;ODt9OCEKdF6CZN$_$oLRrYk=&Ta`eN!dYu}i552}i(fTak$c_-TPw0@J zoc~jf$Kbab{LUv$W1qYlS-I6=^X94thorSpM%OH;tC)hl!=DCp@)a_DuqBN96w|G7 zw4G~I;gMPAr|eE&3gL@tu=%o^iQh;hv-j(Q_|GwwDEg&~NsJ2I21T?Nf_>Rj6Hd?EsF?f%a;3|5~v5y8y2+fQY(F1+BskTWqfE*ae!8U@%2t8Ra% zN^jZ>-h2?m#Wz>-N*}H;9`-$wyJ*CVHReKrL>0#uht7=&{5kAJ7h-}9w7u8DnJ$`h zGbB?yNCbuU<-tna;VJu;Njvip+joyD?p(`NJj4|uk|cz)(zqz2o}FKW!PvU9EG=m? zY9WbD8%PR^A943MyEO_V7{R{u`O56Pb#e{02$_bx^I=4H`bcnztpgv z&Cb5MP=4#-1 zdnJ#+5sn274N_90AWe#vJH2+nPjSjhwiFp+i+^obcr;YmZzHBhBk)u*o8L8&tJ;@d zge-Hs*^)K?YR&!i5wO9#`!2}>#d~(i^TH_mi5lg_%;t}>e`0hQ;5F~;TkV0L0UN^q z<}XYanx8Y>e=oE9x`JNze;#_osmtlmWf1`FgmMcjYIDYIz`UZPrPn~MdX(l!y68Vo zz5fLpRD4mRp++ZO!;=r|$MYT)T-4~rwzIM9Q0QFpw^%^Cz>gEX#?0RyqHiXvzN(8K zXB>Iv^Ad;E9Ysgdp%moWa9#5omtAYL`aUkslb%1DSRoVkGHvZwG<*Eq%vs6(a~$d> zq>zQcJ^UxXfqHcV{;+R-dAc~pLwudJH^!U?gfp2u$+b)dkDqYf|B9au3V&7};76-c zgmHE;1>*VcNI|q-Vr%M8=^)vs^a4=NJdlO(EbHO$^4+hu8d9irpE~gU$(6ZZ2=y2q z&|)n~=t34Bb_S%Cx?=s=K907~Neuq1Ah{>iI!Btk9D1#IK$^)Z0tK=${-bP|m^q5gIQr-g(6y@XTYb ze$Nj>+61g6BYj2io;VW(QVjY(@>w2?g2iiV5~cv*CIk7Gq_JT_td(j9DV{}pIZmMK zjnIGx($_e!V%5AMv?EXlNAY&F)wf5YYtw7wN-iq^f2 z$kG>UsTq2m5-kpDFgA|SUi9O6nNF$qdz>i}wtV#&5&()^!w1ubE^axJ@?5>Y*0`_B zU6$I#qpxUV`L$89ipj8fE| zIRAV8(8uys@gKLOS;E_Mbi7ADC`VBdS)!i|kf^GM-|Faj{@}1>r98*!3-wI_aYITL z7d9d#{L%}J?{dSo*oUI&i(EM4n5m+@s%D_S!ewg#v2Jm)R_(~vihG#FOO@hNQ4tJV zavuv=E%a5?i-7OCp(Sr{(5)UO(gjC!U5#r?W510hO7TX{u1m4geN9oHv9Oi>IR@*O zW+RCH;wpV@Gr({GbxjO^E4lRET%WV2UK|R!no3ey;J~kebQ)>Tl??7jhhI<#3Al>tEf=U1I}(w<5t|QR1b4< z@AI;sheXi#8;3#wb3Os2YrUWEn%u0ZvAP6FJ`qD?1-#I6`9`!|b@<T4((h+gDcEKjY70&aG zjw?bSwvB9`cSF-PphW+yJwJyG`DS%W0Uj90FET_xAIqSOusUh0eI?!>K*UaV6R8D+ zM5{)ZG@+Gd+ksHkaEOvSQNPSAcAJ3P~GpAcn1YoI_*I4D zU8K{&Ey2YhP1l?Bd8RGR`IM~W3Peb@f4&$h_BHt^F?{8h|4RKnc?>t_D84rkmhe0G z1D%54I>31tV_wq+WCTb?#IfI+APsNR);2*bVd*yTtTnb9Y58J9N6C9N@}ikw4l*|} zPUrD9hwX2l1XWXvR%PvF$RFcIj5cN8kKFv)ubmOvanS-(JV~d~%4(pU>o|bo<)xR> z&luhUgnGbAuKJ(a`m5cZOx>buK8_M{unbsFVS68KAmGsK&5sJe`0?02PwGe(^pkdt ze2y+cv)ogi{qcbmQ08ybwPUL^p=dQU`gtAcGl{t#Eph1RMU%D#=%1B+>(bEa*Yf#< zA^8}3$o>XK-u2{<^9CTtl-Ev)SE|P4lrxZbjOQ?ylIW1@g(|w6^87>cEwH)Qsqkn9 z5u8R&$u^L0PKYAV?tPOwew;tEb&^Ue%a5qW^9FbXMmKn(2)n(}A&cP&qyPRFIK|No zsG4}*tL&|V@hkF}mt*lyI{W@>ylmH;V^$Fb4j3<+vM^bx3>NG!g&D^{7yO@w$%pj; z`e;b-ie@v=``o~ufl6*pWiiPuTK(qCGLU6s%nw%G_|Kqr02_&oGvHlV87;swQIE;N zVkBhEfI+30Y2>9Y(H!Ja^viA}x&H8ez%~1OIt#QLV}QX=B|blr#DlK}Z|ZO5bPc}e z&7HthZfOmf%#;F;q5a->Xye2&X`HMo1fl6E2CRVm-3sLTvlGGmR7R}lfP*kg(!1Is zjV0;vBH(M1K+-tE&e9pUtg9+u4jgT%*w9ty94e^G@O((Kl&vc^1MX==0UQbHB1xdt zD_lzl2&j(w6ckpR>l1oOZR8zGkZ&%(Z``XlrNg#QPQ-&yIwU*utKt6E3bqZxP&pIv z32J*CttTYp*Kchw;1>DtO3B|Oe1`Dx%l({X`rSqnNySU4>o z3=GLL)dwRnyBT7z;UtdHcnoc%p$w>|M7ZX~TJlSJKfI9B{-l(Z-p-8KrXY-3<;uvG zQ+u@T*if3p2{({|s_owO5d!Nhsc_hO4^-%PDZG>?C_NOItJ*r^Bs8otlr(Zq2a zpDB`ou&6;ohULaBUyF8V4(YQjod*_!4zyN%n7e~3*?dZ!pZtGa5`f_t(|weQhX`G2 z6_^JQTSSLzOn$(U_V>2=_cy+(f5ZYk6J7bhvBWPQWz~ufJRU-c-}ASPgqi;bXC}rb zFIbCp0*g_?wJYfiM(C0I>>q$5HZQP8^Oqw;cKGT08IlTgcv%P$8y5c;Cu)fd#BCE@ z)${Us1Uv%m549I&?k1#`RG{x(ecweQ)b0xD)=80mb9ll4hY;mQZEttuA$tw62yE;!Ss*RRU8tA&vluZ zq#DfefrS8`jFpmjkFAyFQV`)>{(23F?TAYE-Ed!Kt)av|ggkF*s4icl=ZEji>WXe6 z#$We!)AJz& zVmp$C^p93zro=4vmrE}tW5zY3luIkAqi^XLl4wxWRW#nI;8bEdg46Q%OHpBFw7+X_ zM~ z;e&+@6z}<|P?g^*tWtmsE~z%_Z1l)Vasz#B>2Hhl58xY@;tYMZzqbE{9y|3;ojx$P;p@|%2qzI!L- z6p`aHB(f6MHR=eUrkbOX)$its6!4D}#I@MHQ zLO}9scs&cLISXL>&uI8+ddYh{ADbDRt*I`Zb1}3-d4fHAfHMO!&>{FO{jC!iTlEbs zD5$rE_Ci9IAk^yvT#X1I-rsJ#h74DRhGl$vb{)mf4Z6XM!p>>z$Cf7AZ4A%b=eR6X zG6(iHvR0dAWBwlDBE)J=5C6CVkautQM_}HCRaFBFe(uXk0D8O_Yz9T;rZrJO&Em+8 z%PbxUJ(5=$j!>IQnv%w~U?(f+UKF`+2eNe*!Hrj*G+aTb5f|yL%e#V@?tILm*o*Fn zWN(Ec4?u}vMKvWY-EJ6D;$%<#0SnhVM`s%d=VHFf_k;0n_opSq4i%grl*}!a3WUS) zAbTXgF8X^2{fDo~A@(12vGkDXmtD#@Pa+8);5pwW3Xejxc76gt3~1ipDC1fDipX0t z9lhYzRTI8;+71%VL;&>n>5-hPX)Eh%fkunc&>Pk4LP)?0-lT1y{@K@%4+9_fC^sqF zUNg3V8u2DmQ1t$>%AgQUKqa68;HoMsXgIp(rOOpJO(sGdGYADq1?1 zR({;Bh&jhI?<zUB7VFMP}@ds{yKgp%!ANO7u1pAc(V~9l7H-o`mq2lSekJZ zb4F7W^_%bwIx3bBeJ1!4w)$n63^fLSeVJcNA0Xf>07vgX8vHPOuAm4{IIHRndY5Uv zHl&%qBc723k^c@a(txL)L%<-XRo8Hg$Ctd8MNz$kLt(3Dw&VB zyx{EVT3)v9X-)Ef%0y-TtF0T|XWV0LPVO|65E+;U&Z_>_7pjQ$_&W26G8prO-Xwnj4Ff=W{;d8|GWuqTHX#)~6VJ07M*$W#Sj@1zahxZI=>F~{6LAN?4C&aEk@0f1x0sVwuJZ7 zUjKoPCsBX_HHqcvZYk%dizHJE$Bj)~m=Y4|0;>t;_O=aRJ%9XkqNYWV5!m1VlGKuiT(VZik+OuqF}3+K{d-sy7#J~opMPEls29YcVP1wqN7_CS)` z=L!#>a3{3@j-HeE+01?i{cE~I!Ph%&D}|%FOsUp-r+q~aM9M0LFP4KPFTROU>HCoT zTCWD>(jzspQ%0gZH4f%5%*&!+x_~Y9texq=i4KIbSE~sjNAORN0v08%^@UeLA)&)MpG8 zj^-ZCR#*ElQYy&WON;%MTF#BH6{!ReQTI#kKl4Ccx#Ik{4evr3qL&8 z?EHgp=Nxo+6AP#vv46d@u2#tbUT|&>(nbL3gdkUSQh?_mf@=LqS_SjcCkV=3mt3GA z%O)G**8__tut&@lwL~YezMSqPWBRyo@V+HO+*j>)g}&vA`@Bq$Qt{XL5LragCySc6 zMflQ^#AhltF9|)pf@z*iV8|m9jWP9Yd0{S9%%6dv)dgqx;WIvX&fdJ<;NGp~lUMCw z=_D0oR`AMMPyM7+|>m z8_)3Y+?$T^8EhGSq=(kiStfTgsIOZR+Guwastvcrhpz^J>67L+9vg&`n^Z&WeAHZa z$}Q`RbM*l?6mHNh(2()iztFyu% zHRuTaaA>{RmTEOf-JnY*oCwOMA4mu-5Q$<_n_W?Z$IEPFb3oBL;e3X`c=SY$Gd4Z$5keRy4=9n$<-C3tB|b!PUhSO=u9I8Qipyua_IYsPGau@eR}j z!}Q|!bQi0|$*_=W`%v~Qd6{v~D~u+OiXIf0KuJ!0BOmX}+|;zg0^;kV(q#F>X4<&F z&6igt0}grFp~_jVEMK2E#9VQM&AIKFVA*yA^{bht^5qf7$G*&)F@K=%*8t6ZK;?;( zuH~#x$R2dG-}*7&IWzpn>38CkE{$1y2cex$j_ETFf}h5V!QqIop711O7leRShYA-; z81VFa8bi!JFZ1L`Md{zHFV{-v>7C@-I1Qd6*qZ~XodZHX zFeR8;=K|d$Bl|)PFA-siw>n^Lm0uaqg>s07WZ3*RCQa?5)!o95v2x@lGwR- zwXh;bLYketp;$1r|Bi$(rZUR_F!9m(N>B{Wz;S|xo0H(e3$y;piT6F%(l?uzigq4- z-ILn*(aW?hkk7@dv;3JENqH3(ld&8W53nlUp_N>9`zugP(}Fu|HbrpG8{WYGv)r^z z0!3$G!)mM9VO`2ORZg}y@9HaaPOi@Fx*8FkP+T0-YTQWU!BMBwd17F|g{ZdBfvOGE zNsdwmKQn&O^|WQm*=%LxSfi^96MPCuzOei&3_eA;_ULkD`ynCN$m}DOv#F5Y*Z+k# zWAbe{=fT%3FueZZvccPN#9CYe_C9U)R+tcM@u{bA?@25{;65b8iGrrzzz5mjLqz%x z(D0k?Hfqdrxm-IkMGhGuTq}DM1s2wZwccBNZm;ZfSIq^Mi^6UTYvzhB9uZ5XelG4h zJI#&iobr{Xr1O?Pc?r!g_4~SX1=$zU+ahgiG@+oCf*}lFt z{PpOZ7?<3p)Tgvlzn!g3j~|dl2j%o35L_lsl|L^Y+WNu!Phk;Y85S7@pRh5&WfNyl zl~b;_-1Y12ddg7P$P0Y9i(jq^wY7_lGdgjK?VRelPiwiJ%pLV<%oivuPZT8|=&fL?IK<+Yv9| zqg*no0Sm5yaC?s?34BRZd?*?fztEHz5F2d(O6;w|^wf_U{(_M@i3fFJ2N&{%%eD;C zwgqoMj1WNPOT`-u@3@1Q{Wkyx|CFZoE+NMwk12wudeiJJSj&s|0tLi+DYgY#tloTo zYN6+VR5=svNj=J0#x(B9F8B+>J2F?HR3NFgDAn`X5iRiy) z9AiRK25d@~vlv=WUsSwtr+x-)QWy84mGbRWLb^2SW7lwy zL>pD9?}K$u(SlGx8z=p}@le2d5Ssw3dTN3irLT*D<=;XO z*{+hNtA!2ewC0G_-G{UXWi4J4Nq$tS(K3Pnm&E*#({dPJ04>R%cDE-O0e8`mQX}@PduY$(tpHhsH;N&IlaYX$M0rXqCh(Ter7fP?R?Lx z0-R-KoZNHmoGE{w@$qsxtJMqx!SDjBH@g5b&27#tKV%uS7jBkHw=6U|Qo?D{=7=zX z)amV~+crRmXk#aYlC1Y+A>@w(RZ#rJb>8#4;2kw+4L>OCI#38aXG9e)IJI|Hghat) zWWHPy{O-St?u`m+Al3Q6QoavQ=-mH7N)Y}d7O z`~EXG4X7+5#(i~M{Nxu~feQ^N*};C4dlV_C|LFJGD6wk111gYc>pPDM=|ZsKl0WgE zkT8B@Bvg%8e((YnXe7AWr0d5T8M?7{ew9-fKT7@%WP31?efkYKG1A1@&Pb(;Uxeeh ztDuGmGHh5Fq8@|T0=D*6E2P})3;h_4QIr{m)HO{A<`|;FhHe>EBb=SEfklk5%l&h? zX+cOWEmb**DZ8OUXoC6JARxX~%m#0Pco2%tN4MzLjHEi5r2ZPqc~{o&w^l(HFjd?^ zc6LI0DK-b8XwB{(oOFS-1@h<2&Hyn0j2*v7)u+7X{7}ab|la3>FxD@RXmB>M)soxMKeiEVqJdYH4+>2 zX&Eh;6godlgQ@`OjxZL9pt@Q(Tu;NWsa?XI8QT}xI*D(&spa}z@Joe$1Ci$+7Xn>9 zIOLR{A1hww@w-@YVdCeNfF&Nsd1L(&)UHf~jBfKyp}LrmFk1QIzTCv_UIaV@ zo_l+11Q`uX3piE7b@bcE(Msr>%|KCohws!UVO4V~;>A z?=R#aN3(x*>dzrX=g2tgf7m!lEsnt)wBUl}#c zriQk*q4w_s6!$DoDWsLz6S{jG)4zBX@Wh)0i6CLAlq7eViAUj<&x7;;pfBfAixVd{ zqBhF_UUQbB&<6jz#)9RDt}z4*kR92Mg%MBu4_fo8wrLWUL6-h%=EpSR{Dyf_JfH_{ zSIL@!axHE_2|-cw=`!z7?jN6b>%u{niyn2b==e#n&PSkMyuw~+z1AB{t2YK56@}&Q3K2ia4jLgBz2EEC~Btc;^)EUK~hPZ?6%kF#@ zMQSe3XeHMt!Q$84AN=qV&ry{{hPT?ZlIKf0KJbzwkF1;@x1dnLx1W9UZB#!qT%9+I z3$y*32_!}K+z8hCPahE?%U_7*2}qeZl!z5|hQATrQh$d*-MCP6pvI0EbI6=|jc8w% z3IGOBr4xq8p%y`pCUq`{y0ky324MrcVKZ*;zdDwXfo-I-ae>!5US>8jw}%NL1zd#9 zmE}k*d!e4=e|^*#!28=@q7Z2#|GL1Jj#rm}k_WVa7>&5h^J3ks+g_Z&`jQU2AFoH@ z$s0jq9kbtB$onFCQCqLzK0Ke#)*M44$~3U7=vMfh%x0w&BDfEY z*f-585lg7zWXP-@DTN@_{OQ94WtZqbt3G@ zu`2eHu$lk%{>urH+qKE-^&byBFsp;c-}%6290G8Fk}}}6bNjyYrOn;ld*;Syuzkca z$5-d|IauNE5PIBeD+?V(zWM%8VYJ4sniOoU9tUe-wh;%?NoV zX6kWBzgdj7_6>tZYyZn}L|c9%l&j zuw}Yv+d2FVRjiA?^UVS%h?=)PVWg+DHz@_j5nO@1O0sT^ARO3k_?de5@Q)_UQ#{8h z@Y)v|`DH2*od8Sw4$TzfT?z}1g8U_MjcLuxVAU8>q1`C9^9etH7+)5~jnBw=7`cYe z)NaB9!dz*u2J%;T-`kJ}?sgvqkC3@IoS17`Pv*ag57!799ncgv?jsOduQZj&uLwHr zWi+oK;VzZk6s+@g&@k-nk$?EnUKd-m^=W04H-wFK2A zV8{5J)P+;?C+f<*ih`y}8O_3$;NbTSoGcozzLX4C4O~9#Rz`0P-h6g(aBZeiJDdFC z_0xN#Fph1OJjW5!CHvHsq!LxwrFO26s8UbVRSS(!PGKEsF^>7Nz+gje)%6xB1(hBmjZbeW8Ghh}9n?S^>E^QBQ5 zHr6t>PNMD@s}r}!sC(nui_L%ukJI{fZRS$^$u@-ACuY1El&tq^pu2@z>ZL$--*MJM z<8$pYc}9r86a&b?Jw-N366uL!X?jZ@RMkj=6x3KgL?+0Su*+b!7w*;f(P9*9*N_XJ z#)3yXwt-(=c8NH_j+Ow})8U$nyT^rjO4h{1k?5^k8tiwCMu-(d<*>Jv?Z&&wZK59P4rPL4fCz<3FVRT69r3nh{QST>yD4e=^34` z;_4+~mR+~s(&)=kV*OUno`dh4?ZxM-9TxVGKK=e&A>4`Cdiw?Hp;%SGsrIS8S&E@> zjkHHc-drS7 z8`jNpsQJj?7SRm8#CP4uNW{bbl=heEKq z@+E_RI@g{m@ID+R>a{M-Bxf$+mgS3^ZGg~Ig~UIqfgMn(+(Ps-GIYxBN{lz;8U zx*E0x$K}!YM7#8uk+?bdP=Bg^TY%K6VFWu35lmc|17ycYyIWm65cqX0!&H6PW&HgE zH5bU|isOhR?VnxmVZTKouZ+G6Avy?1$uv&Pq-pX0GT1`5s19qsTm3S{c609glbdJ% zixBb*8T;j*L|hHpm1BNkCw|&8$>x80=tjLm0F=-PW}p;f0iB)4!DW8A2|hk|z&7#@ zBgkP?&m!7*8p*p@h0HaJw6@0iK4r{I*)vpz?y5(=cB|EfV^f|w>+(G8bsylvt#;;gN^oAYhf7k zlPcKIZIX=DV1fW|NM+YDnpHd}LDvAnF?x0oc}}4}?>9LJLG&0Z z+bL$b;zKH8==gg+q;FJHl1Tf=7~uMp+{i*2ClMXdcmK*GLscAMiMWXo!^ji%Z(6yR zklfS<38$3W``o9yhhbBb$WplNfMyeNly4}dm+`y*i-tB0#jx(vQcrd7ACY$q0epVb zGLHprxrZ0e@Ug@ZXhN3#u(2ZE=uTsgMr4jaf|ZqMrys|Ue;nA{Ufv3CqQ`twuv|=Q zU9nL)lRJE>G5RoK^0D_W{Kn)BQoyN=5sZ^fnN9}@=l7)oKqOepVAuTn&>*cmW?CQK zJr~y4X1Jw;F@Wh$27SKQFF5|((K4BDG9WC(ls@yaB{&*$RAB$%p)rfJQJh102N55s zacTCgm@VQ$So2eDiQsJSTQ|<(z|tRqq`+X4i$496sGg*(^3cfBsNTy`BU#UYIM=4g{vHDx0|$q`{HUUgI?+d;bB9>3{~K zye*b8N3v%3AI&iSZNLG8T94F3pDrCf1X~VWeyI6NFRN*8fImuj?w^a8E*bqL1t*|; zDJC2k*H~m$Q;*GG!bWZRb~H5AmF8_r?iz6y4;`>pXZ4FaO(qYaviO4haq?ocY*D9= zd_U3Gi#+Rm6Rr)VCD8)Kt)u&XgPM+dmbzwcoxv8tYT-!k4gSBqgW*_wia!y0C1i)k ze>L6CdghiLhQFzL^qD8d$6~Juk3YWHmNi@6Gh;6#OC=etf`bnea4pfo!pc4vgO0U6 zeZnh~&NO7#XKs1=<==|O_j^1*S^J{J{_~w_1 z7GGJAF(Z(@wF;`BP8ln}zQ)D@d`73QC&1{Tea#@k(oA$j98t%Q*|X$y^6>ni5fIJ9 zkl2XhoUGn2A=Nxi*zHFym|yu)Xw05gVx$F{DFC`jtlq6?X#dpv_|Fr!7v`ap%+x+Y zKFG}h6EA#?1YPXVq-K(u&19-MBq)2UFW`aZ|0Kwj`VUrUzxG4yF=**X)9}A&&P9N^KhJ2tUrA?#c5#C zieNH6zrTR)nsl(}OU%#yj%Q0bP}yM5>~*GE+g-+N*%Ygb>RTpzewW`CC*>2Xgawjp zLAAeDn|4RjQMim6rV%u%eWdFam;~by&FEjJ*HaUWP+K!z8P=S4ic#-^lV8be91b=> zAom__q6hb81x^;&XYAqexn@;iG+lqos$ikk_p7Td!QfDK)yzXL76p5&saxhn9!TxU zu|frcSlpNlwVJv{%B63ZyMAdBYa!0lP~*=L>KD@rDVLf#&?#Sx&9D%&)I0i2wrA6> z&+!Ao7WYmhSgXjk{xO0B9we%S&IvTarRP31-t9Wrd5|i>MxR)o52P_+IBnybg92uI zY~M(+R*g`+mpCb{V!@qyJ>lF0F>YeKZPb!6N9_C;qiKOw1~%H1wOVbIT#PI>SR9Oa})2W_@IOA#dwjz;v}MZkr}2+=JDL78AnGY|Qj0#xaco zZbHqWSznQBKvjI1>iAqZRHs&#EHqDayncDVq#Y%z9pK#ayRmAl4$hsapG72XH!_tq zy}PSEf3EUo#T6Rkmxe;+?mzVR2WO~BPKTlK^2btet{2X2f`I4i_~s~2Wt;`HZ7Lw2 zVkRRuzD!(JnD9s2g!OW^@J(Q!2JHvb)xV10=;g)o&7?3ty3kw2Eooy;#@jJyU3?x} zP?H3@HSI}9b0VmLL1}%z2=_T5?srW3bz?XcKl%}$4v?_CY3VHYNr+-v@%q0@h2hu) zdDlScNn%PS4zMlydYr_oP#oy^+|<$2zyLd}hTEm(chYjLzK9C_elxbK=i%)+babxz z6uUlzENmcPuz(J|oaO`+O_nmFIhdLFM6U+m4knVF@84#^iH!OK5aj}L8Q-F@3=tOb zRp#MA>45N5Bb_sT`BMEk41jPA)J;Ng-zE17sX3eLqyV=B%qt+v_{W6>`->lCUaK%P zI{Fsn`cUI)2l8ItD}Ld3@^D+Y@n5|cJI=7~Y#Y_LNl8v3L-{$@FLku1?jP8XMd;)! zUpy%Hw~FqrtB1+gX&oAW%+hwS&a5HeP4UPdQKu07v7~xgpZZ2%9G>i(vlW+G{e=%*`4dYTC33o^r+C%PmpgL5Nqs z09##~aJ)@;>`d2gp|p^EyPUC1-uQ6Om%dH(pnd;6_>`A0N`@g(f$4wTXrgXBm6!+> zX;k+zOg7l-Fn_$Q9dat{HFsDor@#NEwzT`lr9$f~lPS3LcsN}pOj9F5cQajyDM=!o zql!;KymunuiP)jf+oW+x^G88KPINS~Z_~-UqFJ8@r#=nT5hhdQlp%6zj2*eBY_2Go zOV(r{7V|wBZ$Jik4XcTl)nu34=2@f$Frebt0R6Mc1>6+d*@+cPF-sIhO;7%-8`IB7 zTJf-krqrnkLUS!%-aiuGQhkBc%nhSh(*icsqGd1fpHOR@55>=44ElR))w-&l56tLg z^blK!V|MAAz9cPFWSXh#t6U=KXgeqw7p{?Du_G8Tyc1?psViC|jPV%Jgc8L+7BHzU z7}em%AchtGo~t!ew9~7B=X(8`m#JskzU@m2bs=E~4l^dWC217Mgs1XBj?~{zV)sTk zk;z3}>m1-f#r{-QQH1Y|y`c@6GbI(;LR}xAu4zN0cZ;OBgO)q~!mT7_+nT+U)sgKz zhhCi@_g6;acpovkV1FQSxea?ucC2Pjd;V8-t*?Cw`D1&4Jg5-&PVnYZWed^i{lboN zFQDye>e-!(ASVCxBSbVZ`4ji6(4rfsP~YetnZA3dR?k^XSQ`TC{{;Eq9Z*ZKO@cv> z<@}wIIt`NMU~Gnojgv*bJ06!YxN7DCpeQxN{`wm}(uLCdj(}f@OYckMb|V*LWQRsZ zSXe7FJ}<~^D4N+6?TMsabi+iK!NXZ7oq|-EGXsLzeoRd2Xq_^SolsQDu!-UkF6k5FeDN3X%| z0>`c>)2a=p7bApbPHZhB$$9nFB6yPG#PU4i>1bw-TUCr`(!J}vk}DqQn+dzkpFoVn zt3gcjZ4ShETG%ztJ(Lf$2arhfV|20u@e&%PlOpIofy`11V4^(PR~o51*U z3YaR#KM?CO&6eS~Ur1&|Mf=PUgk&uA<>yJZgdLu$ z_GhoDYqFq|SMgDiX5`MP|ME4+A=qG+^Ev5puhDOdH~EL+5Zn%jERHcf6@wqTeq^cx_o*DevAhSX~WF~K$ro=wa3zaH%MLCX{<$3#)@04vO0 zR_Xk@(dznhZckZpFq@((OnSr9$Vsx^=93OjxknuS*KuHm~m}#aTvpqOe9vriPqm&E-Ln`9p_$M4PE43San~tJC zJ*0Y}0jR8Nf5l_GRifJB0D@A?E>WnTE|v;=&tsnX$R<1vY#tnk8qoNQwii#fY0f{^}CZH<*b6(sB>6 zbBC$djI{OES|Q=7AVB?A{q`6}c*Z#NiF(@r(1q}T+S3Gt6r`r~uEca*8`z)>Fy*q^ zD~cdC(E>p{mUsUmGH_A_Oe2@{dC@D=8^-30Tp!T>G7Fz@@fN%!Y@z#Uld^W)EpwLm za{uhM-M$!F|LxO9{y{?wBwK$GW6NK%h^`F)z0lo#z`E9ZZsSysGr!x^^-H_V>;eu4 zTVC948c0K*N;SjI$jg%pYU@%+mj%M0BZgFgo8%449F{dTk30Va3$KiJ5O5@O6(4o9&TALa1NwFd7=B1}C0Egi z@WLF@2`V2N=A#)bd~9DHs>0YlGR(z+>O9PS2EMt2-T_Nl?~Gc(Eoo(~*}12hDxlVZ zEx*JQ8noX-m_A)jS3kiN;BgL0k9#IZhGqX#H zIoIblZ*JfJ@sjVOV2}{~-4WUJ>l)CUS>bb6NEc*>@i*wc1ilkkkO&-UL|$*JP+&n` z>R<(@(hj6Rog>c=s_;pWyBl{IHC-{|MVNf|5x}3u33jlRVz4zi;ELP%h9Hej(43RIfoJ%$3d^K-4wRRF6-MR>gW_Hvgaf(5|kxG^c?boppgR=F)@W<`0|(| z&ao?M+_&qs$+Z3AFvG^3`GGo zdlLdrF)bL4GR}iEHxm9Rk~DIr4FC9KR~vHO@X?;yai-^wIb|{}lqjs?)=jxlDd#fp zV1$(tHzth#&3Y#Ty0GG7Lo!Lrju5e*JicgcIzO15Uko-YfZsFgl=5RZ_wVy-(@?6%??(fl;$ zb{-T!FX#D?CcRf=XJoVaE zh_IcYvr}sqt{;VTHK!v;0~9T0%a3kuiehFyZJ1VR-Ns4nWqi>1JQo(x&7Pmi1c<^Y z3+Lc@=qR35eCQh$WnKx;8DQ6J>`=0!H0US2b}cIjc<0JbF?Pq0@iHS3)cHs-9~xDZ zGPY1@k9p#^qM)1-?Yu9+j*u#E1eDn=hpQy-o;@S72)>Pa&X2|wJtM$INZnn5$plHt zn{jqKN}|7AN#l%>MXpX;bImrhR?1#!S*}6$nw)2 zgVIUHFrzVqnB0d+fsJ<|BIZwNUU%->zNBg%BYKs`DBuxWsB1y-hxBx?9APFN};t*tHyL@4wT>t$TP@x6G@KQsGdWVO`P&&uMa&} z2-PQ~FSJhRx|ZaI548a5b&IIN-?ZirIZ;}$6Ev(FxX}Ox3H-CPt|ti|Yu`|C!v=m) z54<-|j>3^_!8~wp4F|JL@AMFKA=E_|t|ZVqSV_rYPvNrxbJWpY^Ay3+4&%>p&>u`I zIbD?S|IRQEhz)S>>)s8s_r*ymyAKN}iA=31y)YvBNzIe%b(a{vcMZMx$=zp4xmMj^ z`+^O%XqkK!4bH%#Y!DfuzZ3wm_2+t|eMu~jK2v2TP(Y3Ji;V51LU-j@we-`8Dbn0T zoCP3xb*S`+d6@on^q8X0ll|iuV!>P;Qv$r=oEq2UD_eq{dBY}K9Q)76fpXz=8A!hP zsr@rOR~8CSZ&rk@D~rM~hf@U-|FN0PUj3*vLG2U)dr6&Rc;gFa*@9QD3Z`zgU=+@J zI(TpBFqW&iwT4Qpd~2L9F#HZ1><4z3Su_|SOGiZiSeqvIQKqcvqdw6WhT)x06YxVO zXeA1HwZM}j83rM4f{V*IH$02U=-w0NA7d*yUnwPcOs~ht@cqQuAx*-qSZ+e5B-yvs znO2?AkK5O{P#TAq2;Pbm>Y&=8M2T$YIM5#=q7v_oUX)QlPA2lfrDB^USjnSEqJq9S?Y6jtxR!l5DYZ6ZlAh5NM-ht~@m;|ny>$kQC!?_!%*BU&4hDi*Z*pH_2yQQ>>#iL{ z1x0uD-}YM=4h&kmX@m+K|J8rT0BhIHoZqD`XeXHZn#8rA^8K=rv!E@`%xtA^mpPVJ zOWu@3VPLq7g`@phUpVzFrJs+10!6qBw#T#R&|>M93u zM_UN%eGuOhJ0h!(>2WfIjqI^&j-&6eC}@PB+LK5!{4$%0-eV1Ps6)<({NiV_s4bX2 zh56Y4SC%HgqMw-v3pdORdtiEb&E;?qp;3aQ)q46FFn>(+hC)jpCur-*9Px*H`BXfw zStQiFs1vS?f&P1BVK`PaR9; zsD+?O)?$V__*@U(f)6Skj*B1yw?|xD4?ulbO8Z%DmB>~X%>Pu0JQ_Jo+B_KcP<+G* zWv>wy@I}11lMNlHpo1FG1x$tA7y5sbst<97s^NV8!I!5-==NJ8G!?qK@50j=Hu)E5 zyF_xT*#O~YoWc}jy&}{S}2JuO9JvxN0!V8fx5$+}Vr?-sRa!5#_HZnl; zY=Gel-2m}SBG(26K~}`SYq4`r>kWR#G}cd6i}2&97dbtt3eL|0#&1{ghFp^Q8ANo( zw^9r!RLtlY$#uuBVyxR}Go?rPQBt0S?#nznZXdu&yo1(6RpV|5{+n#Z8BO|Q0EZhj z-?e28(0WK_*{m&evT=C}!PR6P6^<{|3wkh1%lH~Z``1YDyzyEeD9u%D{oEN6?XdN* z9OU%m*-4H%JR2{un2w_uutMQg-GdrY)E}Fr5r-z~0s#|QUe4Wyo_GB9H`xcUieL4j z@y7Gs(dpi8o00itq7ueK#&XgV<>{>=beaA(&)$!X#H=L1yY0s5hj!1`9m@|t;rFK= zR(6v4uuJMqWH4CCKeRK$nU&>eq6jbto>goz3^4N;kF01O*5l3fMy>wLC$^)IY zn^PlSKRFLTyM<*oyoZTWeHW}U#CT(++m*y1zZ6Te|HP_bT`M+uLW8^5a!;xSs+MhvGw*vKTmQs1enjAVM&!S zTv$tmlml5J7HCl79=VjfAk1;5`GKfAl%1Q9YRl|MOC+Z~(T-rUAfjrDSQa(Ue?q6o zPWa()>tb|}u?p8y5a-AB#Oj@w&-DT3D*D${IT!giZZg8xuDk?jP5>r5T?-a(DRGi| zrlYlCJ$<6atvEEh`E!@JN&o+bK0LsD5Kj;9QRb>8;5s>_{igiB}&ht{4` zCHc#2H1JKQ-VL=cN>f1oDF;dsOdf+Y@y;o)f&};a?+rY}N6p?ZDOfFze6YcJG3^bZdOg*Xs&j1nszMSxBC22jWpJnTr zu-KVUG`kg`i%+8pcn-OB8Tzu1F<&2)f$B4nUsQ&tpKf$nk?{v9idN7-1(>#{|DsH& zp#+_>GLzIM454Mj>dQ?GB{!+#>Q$;eC53Gi&>+9pOp%uR@2Zvrf1msK&adG}R)Mva zP2l4g&3>);Pf zmfWo$JSF0ll#k)eZ&R_HRW3G7?&LuBQXgpx-me?zei-s=-y5+RFwcCYF86n|=q4`U z?iDq*7z4@czp+TS*uVId`lKJ`ib;FnLd~HdO^xM7+cMTu22~n7XzqgqJ~4XhN5IOo ziQevn1iYu=AdCrh5Yw^GhhWnje|Xc%j4)gr{=^pEu`i7fzI4oqce(YC=_CFI$T9&g zwEGa1vG4-3_QQ^`+idRzXW0I8FHvZqoMa~6LzX*3*zd{X9kE6T)M`T4|A%RDcV)zr zSn*%+@G;)QVz480sQ$a|_nD~73h%dy{xIE}OeonqJW;wk(oknXNnhBgrPl_K+qf`l zrr^_&R};GS>X8%H5MJak_Wxqy`yiP97EuVemyMSy?PHoR`x{%crN%U0L>K0qHv9WM zQxnPA?%Zhj>My6;8b)4ugFf>aBQbRZ#WcZ{&)C- zU~v{tju0VyVWSxpq42~A>C<#-;`RSY&HH!1fGmu}H9jj3kyXVy3lpz-vEqiepl^Sb zYyi=%wYD*d+h#K`&*Gm$v ztV)<5@nBCnJ9?AY=H}gpxoOH`Tg|3nVS7h+1DkD*;$HE2#>#W>OX(VpSnO^ro@(FL z8(j^(27%DC&qD1YHYaaY*bj2XleMCDD#qpmKB#k9=fBOqbVrz(9z+(q-+MngBZ|024ww{lzJ-+RXG@*9ol5;s$AM7R_v6Tv( zTA;OCNa}uXhHzunc2ki`;%(1UY6jzLc!`+GE`P+gQ5*iB=XTu%esuhd5^tqykNUBn!`Fv(F3cuz`x&UeVUFLU;9+*n0V)= z`$2Z#Vxdtd5y5Mdflx7lZSHvr$ayeg48j~!2t9mI61izF+a-u+pT+2QqYUt)n&voU z*UVA0-O1RcvR=%M;FRBZwYc+_g705<%ZXj-k`v5(pJA#$nuHoYAnYJ3u@F*4mmTV( zBI~;qX{B<_R?0!Q9J*juZ??TBB4AI^cKnYX11(uwWn;|GGmPHV}jt!%tYFg$ic`r?Df1N1<2aj>es8U1m9-!Mb(aSS;qg*HT14I2#7lO`@n>dmy5ChATZFZ}uKhvF@S)7gAuKhqftg^`r6MT5^M zipU#!ElV4-O+7D#5CC-?vs0na z*H!&O06}qARZ+V)VFxBt(MqcoD|q5`4;EP|`tZ+(Hf(aZi=$(s<+AY>y<${63>=GRC{9CnH0%6ZGLhGq-X&#JoT$w$NlzaD- zmuTD62+12G*S{GCKFo{^vjk={6s$87C18)4musY8F};gjc(HLu&K2)RTyGa9_vy#y z(Eyr#1yL#EOEwqh4(tcewg~4XT^xQFX9cQJ3yRcuju&&j0axmP&RnATFWe>>^xMEP z(u<8j(Ho12T4jxONX)Ep9$uMz0R86Hlk&h7E*O8oeW=Oot^2;dv$b@`Q3bs}-U!<3 z{Bb)`Wk0Zfep*KqA9v{7$k407c}FhZLHX0rX&+R^|aT4lxQz^DS%bUtakWKsAG~_BSU#jXj*eU3l((a zlWJU%xBVl&i1cAkBqO{;n>@?Wllpg0LUU$vtV(%pnx24=_`xFrxI0ZRxej@IaWI;q zjwS3{@iyKUJHb5+dkxH1h_crTstpxuB2w7al%DL;{04Wd?Basu3(1b^a>cHcD%n2m zrVXgOdJ6{XI+#G}TTvhX?Y@!)q(B2Y94!&irhSo&DaJ(h>i$&rGhkO9lie1wdYZ*0 ze&$^Rc#5b`@eIs*uUB~-F{N!so~yB z!z8O;a$Q!lAk+N>UND<^R@!tf?LJ;LZ0<(2mZhj)s^W`Sv=85F!I8d2KU;D#+<&MW zdTGO?X#AhInQ)x{26Wb&X;uCIoDA*Bg2F#`AiXzrl#l;&I)$>5tpE6-IJ)tZSNdO9 ez5Z_&Ac2G{5`QGutTa~sjWtwsl`E9sul@`Ci=Bl4 literal 0 HcmV?d00001 diff --git a/docs/img/cloud/getting-started/create-project-existing-db.png b/docs/img/cloud/getting-started/create-project-existing-db.png new file mode 100644 index 0000000000000000000000000000000000000000..47ea6e46092010dfc227efc123b7a12404f7930d GIT binary patch literal 28792 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

{u%R(^bx5Njp{g3 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 BEsy{J literal 0 HcmV?d00001 diff --git a/docs/img/cloud/getting-started/project-actions.png b/docs/img/cloud/getting-started/project-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..e02abd6cac5b72d9128bd4dcae15f6ebdb6f1ba2 GIT binary patch literal 19318 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 K-JW6>l=(Yj9q7RT literal 0 HcmV?d00001 diff --git a/docs/img/cloud/getting-started/project-functionalities.png b/docs/img/cloud/getting-started/project-functionalities.png new file mode 100644 index 0000000000000000000000000000000000000000..46bcb1661cafcc3b719d96981dbc712695fa5b93 GIT binary patch literal 19323 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 literal 0 HcmV?d00001 diff --git a/docs/img/cloud/metrics/inspect-error.png b/docs/img/cloud/metrics/inspect-error.png new file mode 100644 index 0000000000000000000000000000000000000000..4a3a58aa61c9acdf126f8c54c42e23bd6b928dc5 GIT binary patch literal 80918 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

CspYfHahVIfPnmhpwJyGq zyzK&yKKkC;0jMP%`b)5Y3W6{dOikh@4o~yRRYNYuxQF?(XDA9&+-D?m87THg+}gED zLz$QQr&yZMWQi?H-bmijIlwm@U#T1*O#>T1V9*OPh64;fvFfD~X-gG4voI%j8lz*P z@7EjyE|5{rhgoGNrl{i;+Lz0&#boPI{mI9yGmvn%AQ#4D##XlINW-FPd-$G*NYbNB zuu(zN!4)*+!#Eh;$WK7P$GooYCel3QO-99n7{$(EJ_9t>JT%_K8nMQcuP)nrV>g$6sdQqk_>U9ua(R@1|Si_h6H*QpaTul3uXug z9dORK4}_4V`SnV_O9xH*C(=bA!Ev4kBS(CDwv|vG%6~P%O|N@Ncof@;zYGum50K>rHgESK(Yp)>MFG zLFL`2)D#V$+lux;69se>zy`IOtBB zcK)LqDujg^fzF|zr!GCnHv#!1N+4qNJF=POxwoyzS?hsLqqJZYHSoT`x#R755VQ!5 z|NW!Z!@$8w^Y^*MQ@^w`;)-V|KmvO9@}~D_y@yIL<9&9kll$SKzzFBNzfdH zUgg}HG@o9sB^$r7?nR?8+CR12^pwRUpo<@4vQu?4gJ-hf)rGE&Iy7ZrDn;gsLfs-* z=V#P-cB#)Cv}*u?IX<}h=?*ahb;Pz}v+!{PIXHdvZ1}_K`>KaqbUeKwPVHFewZB>t z75~B@+icGsmPv!{-u~he&eR*(vT`}Ua4=ffq`tug8VL$-0|Uq1Td*Dj3=p)DE5YmY z#Hd`?eRnUbZ&d;v2J7D{xFFW*IaR=#XbK?yjPRiC4t_5*zX}jIR(x?~rU(18gsHBW z#|hb%9lFgkXrMcBjNj`0nP7(N@|2f{Q8J!ZiDQaI*>}JtLfaTOWPosE0HfR#db3c# zzyd?S0$Gd>`UbClgY2M^;7IbmZePuT^o`j7>Bbl_=N-3Vce-6FI~k@f)xi*|VHNQp z3^I4d3@QKcg&0F@_uus!;)H1LKsaXcruKoD3kpJ^`mO=JA!^Ueusbpv$oB+xRGhTD z(r_I72BRMrAH3lrNH-U6!roH&Qlq24e((=YW1U*f8tzga~R` zxT;{7w;S@g?)R&tvDvTr;1ONOw(k^Ua@ul?2br+OGcA8FU_5%6J*gdMlXSzX>n;CcT1iyrLlCs=5i|B?Q!wOgcM zizc48s18{W0h9Ju5~-DFERJy3_`qV8Kil3>b~XtTpG znyf|v*(UMUS1L|(Pmp-8u6jwBHGTiNs4L<1HMbfZH3fj20mnVmC51~<#(z58>vmJx z)B5}=vW7c>g7&zH>r!%HB0fiLw6^grR(jVFSQ6~PjIiZsXb=}E+b4=Ug*mFURM2=f z-OmdjN;EHhDA+$9H2Vc<>FQ$&X*ksn8kOY&6u@j6V0FL);w)Nv0l6mf35Q! zQy#Tm6VR*s*=^Es^+cAXI^+I?iSiEPp#=4UuhPIh5rUIm?t`1~duFKIJb039(dyE? z$3xF8enwd~*y^Zz@+GNE*cL)pc%daD7?cVXgY$Ts|FldqC2jdG!qU~E@pbfC-bdz;HfFdbOG!snW)^OMfd8po=(il3W6~s`CDas8`6v$QSe@P7eu?D`V` literal 0 HcmV?d00001 diff --git a/docs/img/cloud/metrics/pro-tab-errors.png b/docs/img/cloud/metrics/pro-tab-errors.png new file mode 100644 index 0000000000000000000000000000000000000000..6f31becc5652f3221c4e299550e287453c801ccd GIT binary patch literal 83818 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

3w+beH7Ussq)?i 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 literal 0 HcmV?d00001 diff --git a/docs/img/cloud/metrics/pro-tab-operations-inspect.png b/docs/img/cloud/metrics/pro-tab-operations-inspect.png new file mode 100644 index 0000000000000000000000000000000000000000..e1276aacc3c09d8f7876c8905447a0967fc720c3 GIT binary patch literal 134182 zcmZs?bwHF))HVz%sDy;l-OU0@2+|GGDF{oaw1mW>gn)D|At@jsA>Fsq4bma3z%C)N zu;ju5@A`Y5?|c7w|J%K1&ULPH=FFLUX3ia>tF1~*KudswgF~#YrlgO9Lx91-!K-+1 z7yIOqXvt?B99((bmxjv0!NIq;x1ph-fq{Xir>87z{1+D&et!P$?(QC*o}8SVBO@as zA|krFy58R2YHDgpNlA=MTnGe0QBiSWVZq7C$36no&SN;QIPnOiawcz))IR z8i_=Lt*l&JT{Sc`*4EZCGBUKZw2qIDB_$guemt(%*hv$M1J_xC$HI~hUh)z#Ixxw#1m30qrR{r&xsk&(;G z%Y%c1Q&Us1v9V!cVJj;uGcz+~Wn~aks_5uwZeEe+QVIefaTT?fSi^&?C`BFEv~={J zib@yP{Dg1qFRmaM7@2y9=cVK{WaN~?lPlt~zx$X`XvwiQc8-cFn3!9;+Uqf>>RU;P za)rc|_%P5xzqF{kzOeFs74+I9Ku#wA{=E{MI|K#lO7eyQOM6Q!?mcp(AAh+N>rv?I zmvAP3K3;ejt>=9k`y}hYWz7j@`;_bA$89rmWvDx5N{ z|F`g5JWP6x{hxT?Q4ruT&E`I&^bh3~7let-yeW7+`=t_AXS(nDxwy?lhDmS6sN(

1^nj9m{InWhK{mZafa3=A19F>bpI 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

TWz% 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