!iP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                 Safegraphql8Where directives can appear in a type system definition. graphqlFWhere directives can appear in an executable definition, like a query.graphqlAll directives can be splitted in two groups: directives used to annotate various parts of executable definitions and the ones used in the schema definition.       Safeoa#graphql#Single value in an enum definition. 1enum Direction { NORTH EAST SOUTH WEST } "NORTH, EAST, SOUTH, and WEST3 are value definitions of an enum type definition  Direction.graphqlList of types forming a union. $union SearchResult = Person | Photo Person and Photo are member types of the union  SearchResult.!graphqlDefines an input value.-Input values can define field arguments, see #.<They can also be used as field definitions in an input type. (input Point2D { x: Float y: Float } The input type Point2D- contains two value definitions: "x" and "y".#graphql#A list of values passed to a field. Gtype Person { name: String picture(width: Int, height: Int): Url } PersonN has two fields, "name" and "picture". "name" doesn't have any arguments, so #_ contains an empty list. "picture" contains definitions for 2 arguments: "width" and "height".%graphql'Definition of a single field in a type. Gtype Person { name: String picture(width: Int, height: Int): Url } R"name" and "picture", including their arguments and types, are field definitions.'graphqlBDefines a list of interfaces implemented by the given object type. Gtype Business implements NamedEntity & ValuedEntity { name: String } Here the object type Business implements two interfaces:  NamedEntity and  ValuedEntity.)graphql-Extensions for custom, already defined types.6graphql5Type definitions describe various user-defined types.=graphqlGraphQL has built-in capability to document service APIs. Documentation is a GraphQL string that precedes a particular definition and contains Markdown. Any GraphQL definition can be documented this way. /""" Supported languages. """ enum Language { English EN Russian RU } ?graphqlGExtension of the schema definition by further operations or directives.BgraphqlRoot operation type definition.kDefining root operation types is not required since they have defaults. So the default query root type is Query), and the default mutation root type is Mutationt. But these defaults can be changed for a specific schema. In the following code the query root type is changed to MyQueryRootType!, and the mutation root type to MyMutationRootType: Cschema { query: MyQueryRootType mutation: MyMutationRootType } DgraphqlZExtension for a type system definition. Only schema and type definitions can be extended.Ggraphql7Type system can define a schema, a type or a directive. %schema { query: Query } directive :example on FIELD_DEFINITION type Query { field: String  example } sThis example defines a custom directive "@example", which is applied to a field definition of the type definition QueryD. On the top the schema is defined by taking advantage of the type Query.Kgraphql Directive.Directives begin with "@", can accept arguments, and can be applied to the most GraphQL elements, providing additional information.Mgraphql@Helper type to represent Non-Null types and lists of such types.PgraphqlRepresents type names.QgraphqlType representation.UgraphqlVariable definition./Each operation can include a list of variables: query (protagonist: String =  Zarathustra-) { getAuthor(protagonist: $protagonist) } (This query defines an optional variable  protagonist of type String, its default value is  ZarathustraT. If no default value is defined and no value is provided, a variable can still be null if its type is nullable.lVariables are usually passed along with the query, but not in the query itself. They make queries reusable.WgraphqlKey-value pair. A list of W#s represents a GraphQL object type.YgraphqlConstant input value.bgraphql"Input value (literal or variable).lgraphqlType condition.mgraphqlFragment definition.ographqlAlternative field name. F{ smallPic: profilePic(size: 64) bigPic: profilePic(size: 1024) } Here "smallPic" and "bigPic" are aliases for the same field, "profilePic", used to distinquish between profile pictures with different arguments (sizes).pgraphqlSingle argument. !{ user(id: 4) { name } } AHere "id" is an argument for the field "user" and its value is 4.rgraphqlnSelection is a single entry in a selection set. It can be a single field, fragment spread or inline fragment.The only required property of a field is its name. Optionally it can also have an alias, arguments, directives and a list of subfields.MIn the following query "user" is a field with two subfields, "id" and "name": !{ user { id name } } lA fragment spread refers to a fragment defined outside the operation and is expanded at the execution time. X{ user { ...userFragment } } fragment userFragment on UserType { id name } nInline fragments are similar but they don't have any name and the type condition ("on UserType") is optional. ={ user { ... on UserType { id name } } vgraphqlField selection.wgraphql="Top-level" selection, selection on an operation or fragment.xgraphqlGraphQL has 3 operation types:query - a read-only fetch.1mutation - a write operation followed by a fetch.Tsubscription - a long-lived request that fetches data in response to source events.|graphqlOperation definition.graphqlFTop-level definition of a document, either an operation or a fragment.graphql>All kinds of definitions that can occur in a GraphQL document.graphqlGraphQL document.graphql Error location, line and column.graphqlName.o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIHJKLMNOPQRSTUVWXYZ[\]^_`abfedikhjcglmnopqrstuvwxyz{|~}oopq#$YZ[\]^_`a=>KL%&mn'(!"PMNOWX|~}xyz{BC?@ArstuwvQRSTl6789:;<)*+,-./012345GIHJDEF bfedikhjcgUVSafeX_|_ graphql[Instructs the encoder whether the GraphQL document should be minified or pretty printed.Use  or  to construct the formatter.graphql+Constructs a formatter for pretty printing.graphql%Constructs a formatter for minifying.graphql#Converts a Document' into a string.graphql Converts a t into a string.graphql.Converts a 'OperationDefinition into a string.graphql+Converts a Query or Mutation into a string.graphqlConverts Field into a stringgraphql Converts a K into a string.graphql Converts a b into a string.graphql Converts a Q a type into a string.NoneXgraphql7Standard parser. Accepts the type of the parsed token.graphqlOParser that skips comments and meaningless characters, whitespaces and commas.graphqlParser for comments.graphql7Lexeme definition which ignores whitespaces and commas.graphql7Symbol definition which ignores whitespaces and commas.graphqlParser for "!".graphqlParser for "$".graphqlParser for "@".graphqlParser for "&".graphqlParser for ":".graphqlParser for "=".graphql%Parser for the spread operator (...).graphqlParser for "|".graphql-Parser for an expression between "(" and ")".graphql-Parser for an expression between "[" and "]".graphql-Parser for an expression between "{" and "}".graphqlParser for strings.graphqlParser for block strings.graphqlParser for integers.graphql"Parser for floating-point numbers.graphqlParser for names ([_A-Za-z][_0-9A-Za-z]*).graphql!Parser for the "Byte Order Mark".graphqlParses "extend" followed by a ". It is used by schema extensions.None"#_?graphql!Parser for the GraphQL documents.None}p !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIHJKLMNOPQRSTUVWXYZ[\]^_`abfedikhjcglmnopqrstuvwxyz{|~}NonegraphqlDirective processing status.graphql0Skip the selection and stop directive processinggraphql/The directive was processed, try other handlersgraphql.Directive handler mismatch, try other handlersgraphql Directive.graphql$Enum value is a single member of an .graphqlEnum type definition.Some leaf values of requests and input values are Enums. GraphQL serializes Enum values as strings, however internally Enums can be represented by any kind of type, often integers.graphqlScalar type definition.VThe leaf values of any request and input values to arguments are Scalars (or Enums) .graphqlArgument list.graphqlnContains variables for the query. The key of the map is a variable name, and the value is the variable value.graphql,Represents accordingly typed GraphQL values.graphql"GraphQL Float is double precision.graphqlArbitrary nested list.graphqlThe String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.graphqlThe Boolean scalar type represents true or false.graphqlThe Intf scalar type represents non-fractional signed whole numeric values. Int can represent values between -2^{31} and  2^{31 - 1}.graphqlThe FloatT scalar type represents signed double-precision fractional values as specified by  1https://en.wikipedia.org/wiki/IEEE_floating_pointIEEE 754.graphqlThe ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4)) input value will be accepted as an ID.graphqlTakes a list of directives, handles supported directives and excludes them from the result. If the selection should be skipped, returns .None%gP graphqlField argument definition.graphqlDThese types may be used as input types for arguments and directives.GraphQL distinguishes between "wrapping" and "named" types. Each wrapping type can wrap other wrapping or named types. Wrapping types are lists and Non-Null types (named types are nullable by default). graphqlInput object type definition.eAn input object defines a structured collection of fields which may be supplied to a field argument. graphqlSingle field of an  .graphqlMatches either  or  .graphqlMatches either  or  .graphqlMatches either  or .graphqlMatches either  or .graphql7Checks whether the given input type is a non-null type.          None%Xgۼgraphql' associates some function(s) with each -.  resolves a - into a .  resolves additionally a - into a 1 if it is the field of a root subscription type.!The resolvers aren't part of the -_ itself because not all fields have resolvers (interface fields don't have an implementation).graphqlA source stream represents the sequence of events, each of which will trigger a GraphQL execution corresponding to that event.graphqlqMonad transformer stack used by the resolvers for determining the resolved event stream of a subscription field.graphql]Monad transformer stack used by the resolvers for determining the resolved value of a field.graphql?Resolution context holds resolver arguments and the root value. graphql@These types may be used as output types as the result of fields.GraphQL distinguishes between "wrapping" and "named" types. Each wrapping type can wrap other wrapping or named types. Wrapping types are lists and Non-Null types (named types are nullable by default).-graphqlOutput object field definition./graphqlUnion Type Definition.wWhen a field can return one of a heterogeneous set of types, a Union type is used to describe what types are possible.1graphqlInterface Type Definition.When a field can return one of a heterogeneous set of types, a Interface type is used to describe what types are possible, and what fields are in common across all types.3graphqlObject type definition.Almost all of the GraphQL types you define will be object types. Object types have a name, but most importantly describe their fields.5graphqlMatches either & or ,.6graphqlMatches either % or +.7graphqlMatches either $ or *.8graphqlMatches either # or ).9graphqlMatches either " or (.:graphqlMatches either ! or '.;graphql8Checks whether the given output type is a non-null type.<graphql^Retrieves an argument by its name. If the argument with this name couldn't be found, returns 5 (i.e. the argument is assumed to be optional then)..graphql Description.graphql Field type.graphql Arguments.' !"&'(,#$%)*+-./0123456789:;<'-.1234 !"&'(,#$%)*+/0<;9758:6 NoneAgraphqlA Schema is created by supplying the root types of each type of operation, query and mutation (optional). A schema definition is then supplied to the validator and executor.Note: When the schema is constructed, by default only the types that are reachable by traversing the root types are included, other types must be explicitly referenced.Fgraphql-These are all of the possible kinds of types. ABCDEFJKILHG ABCDEFJKILHGNoneXgraphql?These types may describe the parent context of a selection set.graphql?These types may describe the parent context of a selection set.graphql4Traverses the schema and finds all referenced types.None6   -./01234<ABCDE6   -.1234/0<ABCDE None%XNgraphql&Intermediate type used to serialize a GraphQL value.4The serialization is done during the execution, and N' contains already serialized data (in T and UN) as well as the new layer that has to be serialized in the current step. So N/ is parameterized by the serialization format.VgraphqlV describes how a GraphQL value should be serialized.Wgraphql Serializes a GraphQL4 value according to the given serialization format.Type infomration is given as a hint, e.g. if you need to know what type is being serialized to serialize it properly. Don't do any validation for GraphQL built-in types here.FIf the value cannot be serialized without losing information, return   it will cause a field error.YgraphqlSince variables are passed separately from the query, in an independent format, they should be first coerced to the internal representation used by this implementation.ZgraphqlOnly a basic, format-specific, coercion must be done here. Type correctness or nullability shouldn't be validated here, they will be validated later. The type information is provided only as a hint. For example GraphQL prohibits the coercion from a  't:Float' to an 't:Int', but JSON? doesn't have integers, so whole numbers should be coerced to 't:Int`@ when receiving variables as a JSON object. The same holds for 't:Enum'/. There are formats that support enumerations, JSON0 doesn't, so the type information is given and Z can check that an 't:Enum' is expected and treat the given value appropriately. Even checking whether this value is a proper member of the corresponding 't:Enum'D type isn't required here, since this can be checked independently.Another example is an ID. GraphQL6 explicitly allows to coerce integers and strings to ID s, so if an IDL is received as an integer, it can be left as is and will be coerced later.9If a value cannot be coerced without losing information, R should be returned, the coercion will fail then and the query won't be executed.[graphqlwLooks up a value by name in the given map, coerces it and inserts into the result map. If the coercion fails, returns . If the value isn't given, but a default value is known, inserts the default value into the result map. Otherwise it fails with S if the Input Type is a Non-Nullable type, or returns the unchanged, original map.\graphql_Coerces operation arguments according to the input coercion rules for the corresponding types.WgraphqlExpected output type.graphqlThe value to be serialized.graphqlSerialized value on success or . | null2 representation in the given serialization format.Zgraphql1Expected type (variable type given in the query).graphqlVariable value being coerced.graphqlCoerced value on success,  otherwise.NQPOSUTRVXWYZ[\NQPOSUTRVXWYZ\[None"#PX_: graphqlQuery error types.graphql?Contains the operation to be executed along with its root type.graphqlSingle GraphQL field.graphqlDGraphQL has 3 operation types: queries, mutations and subscribtions.3Currently only queries and mutations are supported.graphqlSingle selection element.graphql*Represents fragments and inline fragments.graphql*Associates a fragment name with a list of s.graphql`Rewrites the original syntax tree into an intermediate representation used for query execution.graphql+Extract fragment definitions into a single .  None"#EXd- bgraphql"Only exceptions that inherit from b a cought by the executor.dgraphqlEach event in the underlying Source Stream triggers execution of the subscription selection set. The results of the execution generate a Response Stream.egraphqlThe server's response describes the result of executing the requested operation if successful, and describes any errors encountered during the request.igraphqlGraphQL error.mgraphql(A wrapper to pass error messages around.ngraphqlExecutor context.rgraphql*Wraps a parse error into a list of errors.sgraphql$Adds an error to the list of errors.tgraphqlOConstructs a response object containing only the error with the given message.ugraphql8Convenience function for just wrapping an error message.vgraphqluRuns the given query computation, but collects the errors into an error list, which is then sent back with the data.bcdefhgijklmnopqrstuvrmijklnopqbcefhgdsuvtNone%X1dgraphql Takes an 3 and a list of "s and applies each field to each 1. Resolves into a value containing the resolved (, or a null value and error information.NoneX1 None85}graphqlThe substitution is applied to the document, and the resolvers are applied to the resulting fields. The operation name can be used if the document defines multiple root operations.@Returns the result of the query against the schema wrapped in a data! field, or errors wrapped in an errors field.}graphql Resolvers.graphqlOperation name.graphqlVariable substitution function.NQPOSUTRVXWYZ[\}}Safe=~graphql~ assigns a function to each AST node that can be validated. If the validation fails, the function should return an error message, or  otherwise.graphql*Default reules given in the specification.graphql=Definition must be OperationDefinition or FragmentDefinition.~ NoneX_EgraphqlValidation error.graphql$If an error can be associated to a particular field in the GraphQL result, it must contain an entry with the key path that details the path of the response field which experienced the error. This allows clients to identify whether a null result is intentional or caused by a runtime error.graphql Field name.graphql&List index if a field returned a list.graphqloValidates a document and returns a list of found errors. If the returned list is empty, the document is valid. ~ ~None"#N[graphql"If the text parses correctly as a GraphQL. query the query is executed using the given A.graphql"If the text parses correctly as a GraphQLd query the substitution is applied to the query and the query is then executed using to the given A.graphql Resolvers.graphqlText representing a GraphQL request document.graphql Response.graphql Resolvers.graphqlOperation name.graphqlVariable substitution function.graphqlText representing a GraphQL request document.graphql Response.NoneXPgraphql,Asserts that a query resolves to some value.graphql5Asserts that the response doesn't contain any errors. !"#$%&'()*+#,-./012233445566789:;<=>?@ABCDEFGHIJKKLMNOOPL7QRDSTTUVWXYZ[\]]^^_`abcdefghijklmnop((qrrs')*tuv$%&wuwxyz{xQP|}}~TT  hjklmnorrYY''        Y        j k l m  o                       ! " # $ $ % & ' ( ) * + , - . / 0 1 23456   7 8 9 : ; < = > . /?@ABCDEFGHIJKLMNOPQRSTU|'VsWXYZ[\]lkjnoim^_`abc|'$%&deWfghijk&graphql-0.9.0.0-CxKURu58sJrDftpONfgkcz&Language.GraphQL.AST.DirectiveLocationLanguage.GraphQL.AST.DocumentLanguage.GraphQL.AST.EncoderLanguage.GraphQL.AST.LexerLanguage.GraphQL.AST.ParserLanguage.GraphQL.TypeLanguage.GraphQL.Type.InLanguage.GraphQL.Type.OutLanguage.GraphQL.Type.SchemaLanguage.GraphQL.Execute.CoerceLanguage.GraphQL.ErrorLanguage.GraphQL.ExecuteLanguage.GraphQL.ValidateLanguage.GraphQLTest.Hspec.GraphQLLanguage.GraphQL.AST Language.GraphQL.Type.DefinitionLanguage.GraphQL.Type.Internal"Language.GraphQL.Execute.Transform"Language.GraphQL.Execute.Execution"Language.GraphQL.Execute.SubscribeLanguage.GraphQL.Validate.RulesTypeSystemDirectiveLocationSchemaScalarObjectFieldDefinitionArgumentDefinition InterfaceUnionEnum EnumValue InputObjectInputFieldDefinitionExecutableDirectiveLocationQueryMutation SubscriptionFieldFragmentDefinitionFragmentSpreadInlineFragmentDirectiveLocation$fEqExecutableDirectiveLocation!$fShowExecutableDirectiveLocation$fEqTypeSystemDirectiveLocation!$fShowTypeSystemDirectiveLocation$fEqDirectiveLocation$fShowDirectiveLocationEnumValueDefinitionUnionMemberTypesInputValueDefinitionArgumentsDefinitionImplementsInterfaces TypeExtensionScalarTypeExtension#ObjectTypeFieldsDefinitionExtensionObjectTypeDirectivesExtension'ObjectTypeImplementsInterfacesExtension&InterfaceTypeFieldsDefinitionExtension InterfaceTypeDirectivesExtension"UnionTypeUnionMemberTypesExtensionUnionTypeDirectivesExtension%EnumTypeEnumValuesDefinitionExtensionEnumTypeDirectivesExtension-InputObjectTypeInputFieldsDefinitionExtension"InputObjectTypeDirectivesExtensionTypeDefinitionScalarTypeDefinitionObjectTypeDefinitionInterfaceTypeDefinitionUnionTypeDefinitionEnumTypeDefinitionInputObjectTypeDefinition DescriptionSchemaExtensionSchemaOperationExtensionSchemaDirectivesExtensionOperationTypeDefinitionTypeSystemExtensionTypeSystemDefinitionSchemaDefinitionDirectiveDefinition Directive NonNullTypeNonNullTypeNamedNonNullTypeList NamedTypeType TypeNamedTypeList TypeNonNullVariableDefinition ObjectField ConstValueConstInt ConstFloat ConstString ConstBoolean ConstNull ConstEnum ConstList ConstObjectValueVariableIntFloatStringBooleanNullList TypeConditionAliasArgument SelectionSelectionSetOpt SelectionSet OperationTypeOperationDefinitionExecutableDefinitionDefinitionOperationDefinitionFragment DefinitionDocumentLocationlinecolumnName$fShowImplementsInterfaces$fEqImplementsInterfaces$fMonoidArgumentsDefinition$fSemigroupArgumentsDefinition$fShowUnionMemberTypes$fEqUnionMemberTypes $fEqLocation$fShowLocation$fEqOperationType$fShowOperationType$fEqObjectField$fShowObjectField$fEqConstValue$fShowConstValue $fEqValue $fShowValue $fEqArgument$fShowArgument$fEqNonNullType$fShowNonNullType$fEqType $fShowType$fEqVariableDefinition$fShowVariableDefinition $fEqDirective$fShowDirective $fEqSelection$fShowSelection$fEqFragmentDefinition$fShowFragmentDefinition$fEqOperationDefinition$fShowOperationDefinition$fEqExecutableDefinition$fShowExecutableDefinition$fEqOperationTypeDefinition$fShowOperationTypeDefinition$fEqSchemaExtension$fShowSchemaExtension$fEqDescription$fShowDescription$fEqInputValueDefinition$fShowInputValueDefinition$fEqArgumentsDefinition$fShowArgumentsDefinition$fEqFieldDefinition$fShowFieldDefinition$fEqEnumValueDefinition$fShowEnumValueDefinition$fEqTypeExtension$fShowTypeExtension$fEqTypeSystemExtension$fShowTypeSystemExtension$fEqTypeDefinition$fShowTypeDefinition$fEqTypeSystemDefinition$fShowTypeSystemDefinition$fEqDefinition$fShowDefinition Formatterprettyminifieddocument definition directivevaluetype'Parser spaceConsumercommentlexemesymbolbangdollaratampcolonequalsspreadpipeparensbracketsbracesstring blockStringintegerfloatname unicodeBOMextendEnumType ScalarType ArgumentsSubsbooleanintid selectionNamedScalarType NamedEnumTypeNamedInputObjectTypeListTypeNonNullScalarTypeNonNullEnumTypeNonNullInputObjectTypeNonNullListTypeInputObjectType InputField ListBaseTypeInputObjectBaseType EnumBaseTypeScalarBaseType isNonNullType$fEqInputObjectTypeResolver ValueResolverEventStreamResolverSourceEventStream SubscribeResolveContext argumentsvaluesNamedObjectTypeNamedInterfaceTypeNamedUnionTypeNonNullObjectTypeNonNullInterfaceTypeNonNullUnionType UnionType InterfaceType ObjectType UnionBaseTypeInterfaceBaseTypeObjectBaseTypeargument $fEqUnionType$fEqInterfaceType$fEqObjectTypequerymutation subscriptionOutput Serialize serializenull VariableValuecoerceVariableValuematchFieldValuescoerceInputLiteral$fVariableValueValue$fIsStringOutput$fSerializeValue $fEqOutput $fShowOutputResolverExceptionResponseEventStreamResponse$sel:data':Response$sel:errors:ResponseError$sel:message:Error$sel:locations:Error CollectErrsT Resolution$sel:errors:Resolution$sel:types:Resolution parseErroraddErr singleError addErrMsgrunCollectErrs$fExceptionResolverException$fShowResolverException $fEqError $fShowError $fEqResponse$fShowResponseexecuteRuleDefinitionRulespecifiedRulesexecutableDefinitionsRulemessage locationspathPathSegmentIndex$fEqPath $fShowPathgraphql graphqlSubsshouldResolveTo shouldResolveoperationDefinitionnodefieldStatusSkipIncludeContinuebase GHC.MaybeNothing AbstractType CompositeTypecollectReferencedTypesAbstractUnionTypeAbstractInterfaceTypeCompositeUnionTypeCompositeObjectTypeCompositeInterfaceType QueryError OperationFragment ReplacementcollectFragments4unordered-containers-0.2.11.0-A8TyTBcSAoREI3yAPv4TXqData.HashMap.BaseHashMapInputOperationNotFoundOperationNameRequired CoercionErrorTransformationError EmptyDocumentUnsupportedRootOperationSelectionFragmentSelectionField queryErrorexecuteSelectionSet collectFieldscoerceArgumentValues subscribe