h$:7      !"#$%&'()*+,-./0123456 None'(3>?789:;<=>None'(3>?^?@None'(3>?ABCDEFNone'(3>?GHIJKLNone'(3>?MNOPQ None'(3>?QRSTUVWXYZ[\]^_`abcde None#$%&'(3>?fghijk1 None'(3>? lhprotoc%Parsed Haskell name ending with FNamemhprotoc%Parsed Haskell name ending with MNamenhprotoc-Full Haskell field name: MNames separated by o, ending with a fieldphprotoc.Full Haskell module name: MNames separated by o, ending with a moduleqhprotoc%Fully qualified identifier: repeated o then identifier.rhprotoco7 separated identifier which may or may start with a dotshprotocContains one field namethprotocContains one module nameuhprotocContains one identifier namevhprotocRight (True,_) means the input is a FIName. Right (False,_) means the input is a DIName (without leading o)whprotocRight (True,_) means the input is a FIName. Right (False,_) means the input is a DIName (without leading o)7xyz{|}~lmnpqrstuvw None'(3>?hprotocparseType returns Nothing when the String is user-defined. This means it could be either a Message or an Enum or a syntax error. The Nothing return is fixed up in Text.ProtocolBuffers.ProtoCompile.Resolve.fqFieldhprotocparseLabel recognizes optional, required, and repeated. All other strings result in Nothing None'(3>?* None'(3>?uNone'(3>?  hprotocTopLevel corresponds to all items defined in a .proto file. This includes the FileOptions since this will be consulted when generating the Haskell module names, and the imported files are only known through their TopLevel data.hprotocBy construction Env is 0 or more Local Entity namespaces followed by 1 or more Global TopLevel namespaces (self and imported files). Entities in first Global TopLevel namespace can refer to each other and to Entities in the list of directly imported TopLevel namespaces only.hprotocCompute the nameMap that determine how to translate from proto names to haskell names The loop oever makeNameMap uses the (optional) package name makeNameMaps is called from the run' routine in ProtoCompile.hs for both standalone and plugin use. hPrefix and hAs are command line controlled options. hPrefix is "-p MODULE --prefix=MODULE dotted Haskell MODULE name to use as a prefix (default is none); last flag used" hAs is "-a FILEPATH=MODULE --as=FILEPATH=MODULE assign prefix module to imported prot file: --as descriptor.proto=Text" Note that setAs puts both the full path and the basename as keys into the association listhprotocGiven a list of paths to search, loads proto files by looking for them in the file system.   None'(3>?25665 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJJKLMNOOPKQRSSTKU V V W X Y Z [ \ ] ^ _ ` a b c d e f g hijk l m n o p q r stuv w x y z { | } ~        q r s  w  x  y  z  {  |                                   %hprotoc-2.4.16-L4sfdMDm63iHfglfev70C7(Text.ProtocolBuffers.ProtoCompile.Parser)Text.ProtocolBuffers.ProtoCompile.Resolve1Text.ProtocolBuffers.ProtoCompile.MakeReflections Paths_hprotocText.Google.Protobuf.Compiler2Text.Google.Protobuf.Compiler.CodeGeneratorRequest8Text.Google.Protobuf.Compiler.CodeGeneratorResponse.File3Text.Google.Protobuf.Compiler.CodeGeneratorResponse0Text.ProtocolBuffers.ProtoCompile.BreakRecursion%Text.ProtocolBuffers.ProtoCompile.Gen-Text.ProtocolBuffers.ProtoCompile.Identifiers+Text.ProtocolBuffers.ProtoCompile.Instances'Text.ProtocolBuffers.ProtoCompile.Lexer parseProto isValidPackedNameMapReMapCanonFP unCanonFPLocalFP unLocalFPTopLeveltop'Path top'Packagetop'FDP top'mValsEnvLocalGlobal PackageID NoPackageID _getPackageID_getNoPackageID getPackageIDgetTLS makeNameMaps loadProtoloadCodeGenRequest$fFunctorPackageID $fShowSEnv$fConsumeUNODescriptorProto$fConsumeUNOFileDescriptorProto $fConsumeUNOFieldDescriptorProto"$fConsumeUNOServiceDescriptorProto!$fConsumeUNOMethodDescriptorProto$$fConsumeUNOEnumValueDescriptorProto$fConsumeUNOEnumDescriptorProto $fShowEnv$fShowTopLevel $fShowEntity$fShowE'Entity $fShowNameMap $fReadCanonFP $fShowCanonFP $fEqCanonFP $fOrdCanonFP $fReadLocalFP $fShowLocalFP $fEqLocalFP $fOrdLocalFP$fShowPackageID serializeFDP makeProtoInfoversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName protoInfofileDescriptorProtoCodeGeneratorRequest unknown'fieldfile_to_generate parameter proto_fileFilenameinsertion_pointcontentCodeGeneratorResponseerrorfileResultrKindrIBootrIKeyPartNormalSourceKeyFile VertexKind TopProtoInfoSimpleTypeBoot KeyTypeBootSplitKeyTypeBootpKeypfKey displayResultgetKind makeResult.haskell-src-exts-1.23.1-GVIftkv0WzlF1sdfsy5X6RLanguage.Haskell.Exts.Pretty prettyPrint oneofModule enumModule protoModuledescriptorModules$$PFNamePMNameFFNamebaseGHC.Base.FMNameFINameDINameFNameMNameIName checkDIString checkDIUtf8ManglemangleDottedpreDotsplitDIdotunconsffNamefmNamefiNamediNamefNamemNameiNamedotPMdotPFdotUtf8 dotStringunullpreUtf8 preString splitUtf8 splitStringtoString fromStringdifisplitFIfqDotsjoinDotsmanglePMmanglePFerrfixUpfixLowreserved parseType parseLabel showsLabel showsTypeLexedL L_IntegerL_DoubleL_NameL_StringL_ErroralexScanTokens getLinePos