W#    Safe  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<A library for automatically deriving JSON parsers from types(c) Richard Lupton, 2017BSD-3 experimentalPOSIXNone %&,-DQR D is a dependent datatype which represents a walk down a JSON tree. JSBranch ["key1", "key2"] a) represents the walk "take the value at key1 and then the value at key2$, and (try to) interpret that as an a".DInternal proxying datatype for accumulating reified values as a listH is an abstract type representing a parser that walks down a JSON tree.The M type operator constructs a parsing type for parsing a list of JSON objects.RThe type operator '>%> provides a way of describing how to walk down a JSON tree. Extract a' represents trying to parse JSON to an a.f is the value which represents halting the walk along the JSON tree, and pulling out the value there. allows you to specify a subtree indexed by a key. It's right associative, so chains of keys can be specified without parenthesese.% tries to parse a ByteString along a  to obtain a value( unwraps a value from it's parsing type. reflectSym7 reflects a type level symbol into a value level string    9 9 8      !"#$%&'()*+,-./0123456789:;<=>?@ABACDEDFGHIJKJLJMJNJOJPJQJRJSJTJUJVWXWYWZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqDrDsDtDuDvDwDxDyDzD{D|D}~WWWWWWWWDDAAAAAAAAAAAAAAADDDDDDDDD       !"#$%&'()*+,-./0123454647894:;<=;<>;<?;<@;<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;<n;<opqrstuvwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDDDDDJJJJJJWW      88 8!8"8#8$8%8&8'8()*)+),)-./.0.1.23435363738393:3;3<G=G>G?G@GAGBGCGDGEGFGGGHGIJKLMNOPQPRPRPSTUVWVXVYZ[\]\^\_\`\a\b\c\d\efghihjklkmknkokpkqkrksktkukvkwkxkxkykykzkzk{k{k|k|k}k}k~k~kk444444444444444V      Y !"#$%&'&(&(A)A*+,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+HIJIK(L(M2N2ODPDQDRDSDTDUDVDWDXYZ[\]^_`abcdefghijikiliminioipiqrstuvwxyxzx{x|x}x~xxxx""WWW----************              ~ ~!~"~#$%$&$'()(*(+(,(-(.(/0123456789:;<=>?@ABCBBBDBEFGHIJKL#tyro-0.2.0.0-2M3bH0D9TIFHwIQdPwEwnD Data.Tyro Lib.PreludeJSBranchTyroList>%>Extractextract%%>unwrap$fFromJSONJSBranch$fEqTyro $fShowTyrobaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip Data.Tuplefstsnd otherwise integer-gmpGHC.Integer.Type mkInteger smallInteger integerToWord integerToInt plusInteger timesInteger minusInteger negateInteger eqInteger# neqInteger# absInteger signumInteger leInteger# gtInteger# ltInteger# geInteger#compareInteger quotInteger remInteger divInteger modInteger divModIntegerquotRemIntegerfloatFromIntegerdoubleFromIntegerencodeFloatIntegerencodeDoubleInteger andInteger orInteger xorIntegercomplementInteger shiftLInteger shiftRInteger wordToIntegerdecodeDoubleInteger$ GHC.FloatrationalToFloatrationalToDoubleGHC.Real fromIntegral realToFrac Control.MonadguardjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/=Floatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnFunctorfmap<$GHC.NumNum*+-negate fromIntegerabssignumOrd>=minmax><<=compareGHC.ReadReadReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShowData.Typeable.InternalTypeable Data.StringIsString Applicative<*>pure*><* Data.FoldableFoldabletoListfoldrlengthfoldMapnullfoldlfoldl'maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericRepfromto ConstructorconName conFixity conIsRecordSelectorselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictnessGHC.OverloadedLabelsIsLabel fromLabelData.Semigroup Semigroup<>sconcatstimesMonoidmemptymappendmconcat GHC.TypesBoolTrueFalseCharDouble#DoubleD#Float#FloatF#IntGHC.IntInt8Int16Int32Int64IntegerMaybeNothingJustOrderingLTEQGTRatio:%Rational RealWorldIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRightType ConstraintV1U1K1unK1M1unM1:+::*:Rec0D1C1S1 CoercibleGHC.Stack.Types CallStackTypeRepbytestring-0.10.8.1Data.ByteString.Internal ByteString Data.Functor<$>#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalTextcontainers-0.5.7.1 Data.Map.BaseMapGHC.IO.Handle.TypesHandleGHC.STST GHC.Conc.SyncforkOnWithUnmaskforkIOWithUnmaskforkOnControl.ConcurrentforkOSThreadId!async-2.1.1-xFiBzw9xoB8HPZAuxUY2oControl.Concurrent.AsyncreplicateConcurrently_replicateConcurrently concurrently_forConcurrently_mapConcurrently_forConcurrentlymapConcurrently concurrentlyrace_racelink2link waitBothSTMwaitBothwaitEitherCancelwaitEitherSTM_ waitEither_ waitEitherSTM waitEitherwaitEitherCatchCancelwaitEitherCatchSTMwaitEitherCatch waitAnyCancel waitAnySTMwaitAnywaitAnyCatchCancelwaitAnyCatchSTM waitAnyCatch cancelWithuninterruptibleCancelcancelpollSTM waitCatchSTMwaitSTMpoll waitCatchwaitwithAsyncOnWithUnmaskwithAsyncWithUnmask withAsyncOnwithAsyncBound withAsyncasyncOnWithUnmaskasyncWithUnmaskasyncOn asyncBoundasyncAsync asyncThreadId ConcurrentlyrunConcurrently Alternativeemptymany<|>some MonadPlusmzeromplusclamp word2Float word2Double powerDouble tanhDouble coshDouble sinhDouble atanDouble acosDouble asinDouble tanDouble cosDouble sinDouble sqrtDouble logDouble expDouble float2Double double2FloatleDoubleltDoublegeDoublegtDouble negateDouble divideDouble timesDouble minusDouble plusDouble powerFloat tanhFloat coshFloat sinhFloat atanFloat acosFloat asinFloattanFloatcosFloatsinFloat sqrtFloatlogFloatexpFloatleFloatltFloatgeFloatgtFloat negateFloat divideFloat timesFloat minusFloat plusFloat fromRat''integerLogBaseexpts10 maxExpt10exptsexptmaxExptminExptfromRat'roundToformatRealFloatAltformatRealFloat isFloatNaNisFloatInfiniteisFloatDenormalizedisFloatNegativeZero isFloatFinite isDoubleNaNisDoubleInfiniteisDoubleDenormalizedisDoubleNegativeZeroisDoubleFinite log1pDouble expm1Double log1pFloat expm1FloatFFFormat FFExponentFFFixed FFGenericintegralEnumFromThenTointegralEnumFromTointegralEnumFromThenintegralEnumFromgcdWord'gcdInt'^^%^^^%^numericEnumFromThenTonumericEnumFromTonumericEnumFromThennumericEnumFrom notANumberinfinity ratioPrec1 ratioPrec overflowErrorratioZeroDenominatorError divZeroErrorreduce predError succError fromEnumError toEnumErrorboundedEnumFromThenboundedEnumFromGHC.Float.RealFracMethods int2Float float2Int int2Double double2Int hashInteger neqInteger eqInteger leInteger ltInteger gtInteger geIntegertestBitIntegereqFloateqDoublemaxIntminIntData.Functor.IdentityIdentity runIdentity Data.VoidvacuousabsurdVoid Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ System.Exitdie exitSuccess exitFailureexitWithSystem.EnvironmentgetArgsGHC.ExecutionStackshowStackTrace getStackTraceGHC.ExecutionStack.InternalSrcLoc sourceFile sourceLine sourceColumnLocation objectName functionNamesrcLocData.Bifunctor BifunctorfirstsecondbimapControl.Monad.IO.ClassMonadIOliftIOthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmask forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChanmfilterunless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.ApplicativeoptionalZipList getZipList System.IOwithFileGHC.IO.Handle.FDopenFilestderrstdin GHC.Conc.IO threadDelayControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVar GHC.Stack callStackControl.ExceptionallowInterruptcatchesControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically Text.Read readMaybe readEitherreadsalwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomicallymkWeakThreadIdthreadCapability myThreadId killThreadsetNumCapabilitiesgetNumCapabilitiesforkIOSTMstdoutGHC.IO.ExceptionioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementExitCode ExitSuccess ExitFailureData.Functor.ConstConstgetConstForeign.StorableStorablefindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.MonoidDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAltFixityPrefixInfixMetaMetaDataMetaConsMetaSelGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblestToIOFilePath MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible IOException GHC.ExceptionprettyCallStack prettySrcLoc Exception toException fromException ErrorCallErrorCallWithLocationArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominator Data.TypeableeqTcasttypeRep byteSwap64 byteSwap32 byteSwap16 GHC.IO.IOModeIOModeReadMode WriteMode AppendMode ReadWriteModeData.Type.Coercion coerceWithCoercionisRightisLeftpartitionEithersrightsleftseitherData.Type.Equality gcastWithcastWithtranssym:~:Refl Data.ProxyProxy Data.OldListunfoldrsortBysort permutations subsequencestailsinitsgroup transpose intercalate intersperse isPrefixOfData.Ord comparingDownfromRat floatToDigits Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBitsshiftRshiftL.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.Functiononfixvoid$>runSTfixSTlcmgcd^^^oddeven denominator numerator%GHC.CharchrzipWithreversebreaksplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanrscanl Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustmaybeswapuncurrycurry GHC.Stack.CCScurrentCallStacksubtractGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarasTypeOfflip.constordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA2liftA<**> SomeException getCallStack HasCallStack&&||notData.IntMap.BaseIntMapData.IntSet.BaseIntSet Data.SequenceSeq Data.Set.BaseSetdeepseq-1.4.2.0Control.DeepSeqforce$!!deepseqNFDatarnftransformers-0.5.2.0Control.Monad.Trans.Classlift mtl-2.2.1-6qsR1PHUy5lL47Hpoa4jCMControl.Monad.Error.Class MonadError throwError catchErrorControl.Monad.Reader.Classasks MonadReaderasklocalreaderControl.Monad.State.Classgetsmodify MonadStateputgetstateControl.Monad.Trans.ExceptExceptTExcept runExcept runExceptTControl.Monad.Trans.ReaderReaderT runReaderTReader runReaderControl.Monad.Trans.State.LazyStateT runStateTStaterunState evalState execState withState evalStateT execStateTData.Text.EncodingdecodeUtf8With decodeUtf8 decodeUtf8' encodeUtf8 Data.Text.IOreadFile writeFile appendFileinteract getContentsgetLineData.Text.LazytoStrict fromStrict"stm-2.4.4.1-4z2NRWnB0NIIUvSJsHW0kFControl.Monad.STMcheck"safe-0.3.14-ALdwhNEer7fKnF5VYCbXfHSafetailMaytailDeftailSafeinitMayinitDefinitSafeheadMaylastMayheadDeflastDef foldr1May foldl1MayatMayatDef'protolude-0.1.10-876FLXQyof6AoyOqRQRY4B ProtoludeshowguardedAguardedpassforeachthrowTothrowIOprintapplyNunsnocunconsmapidentity&LText LByteString<<*>>liftAA2purereitherAorEmptyorAltDebug undefinednotImplementedtraceIdtraceM traceShowM traceShowId traceShowerrortraceIOtraceputLTextputTextPrintputStrputStrLnPanicpanic FatalErrormsg<$!>liftM2'liftM' concatMapM ExceptionstryIOnotehushConvtoSLtoSLeniencyStrictLenient StringConvstrConvBase$!guardMifMunlessMwhenMbool maybeToEither maybeToLeft maybeToRight rightToMaybe leftToMaybesumproductlistordNubsortOnheadSemiringzeroone<.> TyroProxy reflectSymbolJSNilJSConsTakeKey