W`A       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe!">   Safe  !"#$%&'  !"#$%&'&  !"#$%'   !"#$%&'Safe!";>IN()*+,-./()*+,-./*+(),-./()*+,-./Safe!";>N0!A untyped type (no phantom type).*0123456789:;<=>?@ABCDEFGHIJKLM    0123456789:;<=>?@ABCDEFGHIJKLMBCDEFGHIJKLM3450126789:;<=>?@A0123456 789:;<=>?@AB CDEFGHIJKLM    Safe!"NNNNSafe!";NOPQRSTUVOPQRSTUVRSTVOPQUOPQRSTUVSafe!"INWTernary operators.YBinary operators..WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.opqrstuvwxyz{|}~YZ[\]^_`abcdefghijklmnWXWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe!";NAn expression for Struct args'A untyped expression (no phantom type).0A unique tag for external arrays/function calls.An index for the drop operator.CA name of a trigger, an external variable, or an external function.A stream identifier. Safe!";NA Copilot specification consists of a list of variables bound to anonymous streams, a list of anomymous streams, a list of observers, a list of triggers, and a list of structs.%Struct representation as a bit array. A property. A trigger. An observer. A stream.  Trustworthy;IN# Safe  !"#$%&  !"#$%& Safe Safe!";NrunGen takes a Gen aQ, a max depth of the expression, the weights, and the standard random generator.(Takes a list of pairs (weight, Gen), and choose the Gen based on the weights. To get the frequency of choosing a Gen, sum up all the weights, and choose c between 1 and the total. Now recurse down the list, choosing an item only when c <= weight. If not, subtract the current weight from c.'()*+ '()*+Safe!";N,,Safe!";N Trustworthy-./01234567890123456789:;<=>?@ABCDEFGHIJKLMNWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Trustworthy!"+:0Safe indexing (!!) on possibly infininite lists.;<=>?@ABCDEFGHIJKLM:NO;<=>?@ABCDEFGHIJKLM:NO TrustworthyPQPQ Trustworthy#Interprets a Copilot specification. Trustworthy;N RSTUVRSTUVSafe!";NWXYZ[\]^_`abcdefghijklmnopqrWXYZ[\]^_`abcdefghijklmnopqrSafe!"&Pretty-prints a Copilot specification.stuvwxyz{|}~stuvwxyz{|}~Safe!"#Pretty-prints a Copilot expression.&Pretty-prints a Copilot specification.Safe!"IN     !""#$%&'()*+,-./0123456789:;<=>?@@AABCDEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgghijklmnopqrstuvwxyz{|}~mk                                       ! " # $ % & ' ( ) * +,-./01Y01Z01[01\-.203]03^03_03`034035036789:;<=>?@ABCDEFGHIJKLMNOPQRSTTUUVWXXYYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~nopqtuvwcopil_DMcHz2ZOtzzDTidqFQAj2vCopilot.Core.Type.EqualityCopilot.Core.Random.WeightsCopilot.Core.Type.DynamicCopilot.Core.TypeCopilot.Core.Type.UninitializedCopilot.Core.Type.ShowCopilot.Core.OperatorsCopilot.Core.ExprCopilot.Core.SpecCopilot.Core.ExternalCopilot.Core.MakeTagsCopilot.Core.ErrorCopilot.Core.Random.GenCopilot.Core.Type.EqCopilot.Core.Type.ReadCopilot.Core.Interpret.EvalCopilot.Core.Interpret.RenderCopilot.Core.InterpretCopilot.Core.LocalsCopilot.Core.RandomCopilot.Core.PrettyPrintCopilot.Core.PrettyDotCopilot.Compile.Header.C99 Copilot.Core EqualType=~=EqualReflcoercereflsymmtranscongWeights maxExprDepth maxBuffSize maxTriggers maxTrigArgs maxExtVars maxObservers numStreams constFreq extVarFreq drop0FreqdropFreq externFreqop1Freqop2Freqop3FreqboolFreqint8Freq int16Freq int32Freq int64Freq word8Freq word16Freq word32Freq word64Freq floatFreq doubleFreq divModFreqDepth simpleWeightsDynamicFDynamictoDynfromDyntoDynFfromDynFUType uTypeTypeTypedtypeOf simpleType SimpleTypeSBoolSInt8SInt16SInt32SInt64SWord8SWord16SWord32SWord64SFloatSDoubleTypeBoolInt8Int16Int32Int64Word8Word16Word32Word64FloatDouble uninitializedShowTypeCHaskellShowWitshowWitshowType showWithTypeOp3MuxOp2AndOrAddSubMulModDivFdivPowLogbEqNeLeGeLtGtBwAndBwOrBwXorBwShiftLBwShiftROp1NotAbsSignRecipExpSqrtLogSinTanCosAsinAtanAcosSinhTanhCoshAsinhAtanhAcoshBwNotCastSExprsnameuexprUExpr uExprType uExprExprExprConstDropLocalVar ExternVar ExternFun ExternArray ExternStructGetFieldLabelTagDropIdxNameIdSpec specStreams specObservers specTriggersspecProperties StructData structName structFieldsProperty propertyName propertyExprTrigger triggerName triggerGuard triggerArgsObserver observerName observerExprobserverExprTypeStreamstreamId streamBuffer streamExprstreamExprType ExtStructexternStructNameexternStructArgsexternStructTagExtFun externFunName externFunType externFunArgs externFunTagExtArrayexternArrayNameexternArrayElemTypeexternArrayIdxexternArrayIdxTypeexternArraySizeexternArrayTagExtVar externVarName externVarType externVars externArrays externFuns externStructsmakeTags impossiblebadUsageGenrunGendepthweightsincDepthrandomFromTyperandomReplicatechooseoneOffreqelementsUValuTypeuValEqWiteqWitReadWitreadWit readWithType ExecTraceinterpTriggersinterpObserversOutputEnveval renderAsTable renderAsCSVFormatTableCSV interpretLoc localName localTypelocals randomSpecppExpr prettyPrintprettyPrintExprDotprettyPrintDot genC99Header c99HeaderName $fTypedDouble $fTypedFloat $fTypedWord64 $fTypedWord32 $fTypedWord16 $fTypedWord8 $fTypedInt64 $fTypedInt32 $fTypedInt16 $fTypedInt8 $fTypedBool$fEqualTypeTypeexternVarsExprexternVarsUExprexternArraysExprexternArraysUExprexternFunsExprexternFunsUExprexternStructsExprallnext mkTagsSpec mkTagsStrms mkTagsObsvs mkTagsTrigs mkTagsProps mkTagsSExpr mkTagsUExpr mkTagsExprMkGenstdGen $fMonadGen$fApplicativeGen $fFunctorGen$fEqUValghc-prim GHC.TypesIntbaseGHC.IntWordGHC.Word byteSwap64 byteSwap32 byteSwap16 safeIndexLocalEnvInterpExceptionArrayWrongSizeArrayIdxOutofBounds DivideByZeroNotEnoughValues NoExtsInterp evalExpr_ evalExternVar evalArrayevalOp1evalOp2 catchZeroevalOp3initStrm evalStreams evalTrigger evalObserver evalExprs_$fExceptionInterpException$fShowInterpExceptionunfoldstep locsStream locsTrigger locsObserverlocsExpr $fShowLoc IntegralWitNumWit StreamEnv DynExtVarWrapType StreamInfo streamInfoIdstreamInfoTypestreamInfoBufferSizegenSpecgenTypegenTypeFromStreamInfo'sgenStreamInfo's genStream genTriggergenExpr genOp1Bool genOp1Num genOp2BoolgenOp2Eq genOp2Ord genOp2NumgenOp2Integral genOp3MuxstrmNameppSExprppUExprppOp1ppOp2ppOp3ppInfixppPrefixppStream ppTrigger ppObserver ppPropertyppSpecmkVar mkTmpStVar mkUpdateStFn mkQueueVar mkQueuePtrVar mkExtTmpVar mkExtTmpTag mkExtArrFn mkExtFunArgFn mkObserverFnmkTriggerGuardFnmkTriggerArgFnmkArgIdx tagExtract ppExprDotppUExprL ppStreamL ppTriggerL ppObserverL ppPropertyL ppSpecDot c99Header ppHeaders ppObserversppTriggerPrototypesppExternalVariablesppExternalVariableppExternalArraysppExternalArrayppExternalFunctionsppExternalFunctionppExternalStructsppExternalStructtypeSpecppStepunlines