`)     Safe Fast nub* if the contents of the list are orderable O(n * log n) VDeconstruct a list into its first element the rest of the list This will evaluate to Nothing if the list is empty.(:)#, appending instead of prepending (:)V is sometimes called cons, so when we append instead of prepend, we call the function snoc6 Note that this has an O(length list) time complexity Find all i-sized windows in a listJTakes chunks of a given size, the last chunk may be smaller but not empty.   None9;^ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsSafetuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPSafeQRSTQQUnsafeRUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoUnsafe Trustworthy9;pqrstuvwxyz{|}~ pvwxyz{|}~pqrstuvwxyz{|}~ Safe Safe Safe    Safe Unsafe Trustworthy:<=R $UVWtXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     uvwxyz{|}~ !"#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~`abcdefghijklmnoRST      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO      !"#$%& !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs'()*+,-./01234P56789:;< Qpvwxyz{|}~   = !"#$%&'(&')&'*&'+&',&'-&'.&'/&'0&'123423523623723823923:23;23<23=23>23?23@23A23B23C23D23E23F23G23H23I23J23K2L3MNOMNPMNQMNRMNSMNTMNUMNVMNWMNXMNYMNZMN[MN\MN]MN^MN_MN`MNaMNbMNcMNdMNeMNfMNgMNhMNiMNjMNkMNlMNmMNnMNoMNpMNqMNrMNsMNtMNuMNvMNwMNxMNyMNzMN{MN|MN}MN~MNMNMNMNMNMNMNMNMNMNMN      !"#$%&'()*+,-./0102030405060708090:0;0<0=0>0?0@0ABCBDBEBFBGBHIJIKILMNMOMPQRSTUVWXYZ[\]^_`abcdefghijklmnopqopropstuvwxyz{|z{}z{~z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{z{u uuvuuuvuuuz{uuuuuu      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstutvtwtxz{yz{zz{{z{|z{}z{~z{z{uuxxxxx                           uuuuuuuuuuu      !"#$#%#&#'#()*+,-.u/u012131415678u9u:u;uv<=>=?=@=AB BCBD EFGHIJKLMNOPQRSTUVWXYZ[\[\[]^_^`^abcbdbefgfhfifjfkflfmfnfofpqrstsusvswxyxz#{#|#}#~##IIIIIIIIIIIIIIIIIIIIIIIIIII ===BBBBBBTT      !"#$%&'()u*u+u,O-.O/0O12O3456756856956:56;<=>?@ABCDBCEBCFBGHBGIBGJBGKBLMBLNBLOBLPBLQBRSBRTBRUBRVBRW<XY<XZ<X[<X\<X]<X^<X_<`a<`b<`c<`d<ef<eg<eh<ei<ej<ek<el<em<en<op<oq<or<os<ot<ouvwxvwyvwzvw{vw|vw}vw~vwvwvwvwvwvwvw+introduction-0.0.1.0-IRCKzi90M231nVuY0yKQ1l IntroductionUnsafeList FilePaths ConcurrencyErrorsBaseIOStringFunctorMonadEitherBoolDebugbaseGHC.Showshow unsafeHead unsafeTail unsafeInit unsafeLastunsafeFromJust unsafeIndex LByteString SByteStringLTextSTextapplyNordNubunconssnocwindowschunksOfsortOn$fValidityPath$fValidityPath0$fValidityPath1$fValidityPath2directory-1.2.6.2System.DirectorysetOwnerSearchablesetOwnerExecutablesetOwnerWritablesetOwnerReadableemptyPermissions Permissionsreadablewritable executable searchable!path-0.5.9-IJV2rGFEvlwF0MqHAROpzFPathdirnamefilenameparent isParentOfstripDir fromRelFile fromAbsFile fromRelDir fromAbsDir toFilePath mkRelFile mkAbsFilemkRelDirmkAbsDir parseRelFile parseAbsFile parseRelDir parseAbsDirAbsRelFileDirPathParseException Path.Internal$path-io-1.2.0-6VSttgfiby9JnsR1pZ1Wc3Path.IOgetModificationTimesetModificationTime setAccessTime getAccessTimecopyPermissionssetPermissionsgetPermissionsignoringAbsenceforgivingAbsenceisLocationOccupied doesDirExist doesFileExist createTempDiropenBinaryTempFile openTempFilewithSystemTempDirwithSystemTempFile withTempDir withTempFile findFilesWith findFilesfindFilefindExecutablecopyFile renameFile removeFile resolveDir' resolveDir resolveFile' resolveFile getTempDirgetUserDocsDirgetAppUserDataDir getHomeDirwithCurrentDir setCurrentDir getCurrentDir walkDirAccumwalkDir copyDirRecur' copyDirRecur listDirRecurlistDir renameDirremoveDirRecur removeDir ensureDircreateDirIfMissing createDir WalkAction WalkFinish WalkExcludeAbsPathRelPathAnyPathcanonicalizePath makeAbsolute makeRelativemakeRelativeToCurrentDirGHC.Baseassert GHC.Conc.SyncThreadId"async-2.1.0-J6Pl8k3L4PKGEpjYdgwiIfControl.Concurrent.AsyncforConcurrentlymapConcurrently concurrentlyrace_racelink2link waitBothSTMwaitBothwaitEitherCancelwaitEitherSTM_ waitEither_ waitEitherSTM waitEitherwaitEitherCatchCancelwaitEitherCatchSTMwaitEitherCatch waitAnyCancel waitAnySTMwaitAnywaitAnyCatchCancelwaitAnyCatchSTM waitAnyCatch cancelWithcancelpollSTM waitCatchSTMwaitSTMpoll waitCatchwaitwithAsyncOnWithUnmaskwithAsyncWithUnmask withAsyncOnwithAsyncBound withAsyncasyncOnWithUnmaskasyncWithUnmaskasyncOn asyncBoundasyncAsync asyncThreadId ConcurrentlyrunConcurrentlyControl.ConcurrentrtsSupportsBoundThreadsControl.Concurrent.QSemNQSemNControl.Concurrent.QSemQSemControl.Concurrent.ChanChanControl.Exception.Base mapExceptionPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomicallyalwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomicallySTMGHC.IO.ExceptionasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementGHC.IO interruptible MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible IOException GHC.Exceptionthrow Exception toException fromExceptiondisplayException ErrorCallErrorCallWithLocationArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominatorGHC.MVarMVar SomeException,monad-control-1.0.1.0-1xoC3YihUKYHLar1SsWtYeControl.Monad.Trans.Control liftBaseOp_*lifted-base-0.2.3.8-LSXKdE75JIl3uzD4Y2GaXOControl.Concurrent.LiftedmkWeakThreadIdrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSthreadWaitWritethreadWaitRead threadDelayyieldthreadCapabilitysetNumCapabilitiesgetNumCapabilitiesforkOnWithUnmaskforkOn killThread forkFinallyforkWithUnmaskfork myThreadIdControl.Exception.Lifted onExceptionfinallybracketOnErrorbracket_bracketallowInterruptgetMaskingStateuninterruptibleMask_uninterruptibleMaskmask_maskevaluatetryJusttry handleJusthandle catchJustcatchescatchthrowToioErrorthrowIOControl.Concurrent.MVar.Lifted tryReadMVarwithMVarMasked mkWeakMVarmodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVar isEmptyMVar tryPutMVar tryTakeMVarswapMVarreadMVarputMVartakeMVarnewMVar newEmptyMVarControl.Concurrent.Chan.LiftedwriteList2ChangetChanContentsdupChanreadChan writeChannewChanControl.Concurrent.QSem.Lifted signalQSemwaitQSemnewQSemControl.Concurrent.QSemN.Lifted signalQSemN waitQSemNnewQSemN liftThroughliftBaseOpDiscardliftBaseDiscard liftBaseOpcaptureMcaptureTembed_embedcontroldefaultRestoreMdefaultLiftBaseWithdefaultRestoreTdefaultLiftWithMonadTransControlStTliftWithrestoreTRun RunDefaultMonadBaseControlStM liftBaseWithrestoreM RunInBase ComposeStRunInBaseDefault"stm-2.4.4.1-4z2NRWnB0NIIUvSJsHW0kFControl.Monad.STMcheckcatchM'exceptions-0.8.3-5OTPYzRazb4DJ75sPncYEhControl.Monad.Catch MonadThrowthrowM MonadCatch++ghc-primGHC.Primseq System.IOprint 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 realToFracGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpredFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModGHC.NumNum*+-negate fromIntegerabssignumReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorShow showsPrecshowList GHC.TypesCharDouble#DoubleD#Float#FloatF#IntIntegerOrderingRatio:%RationalIOWordType CoercibleclampshowSignedFloat 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 geIntegertestBitInteger GHC.ClasseseqFloateqDouble appendFile writeFilereadFileputStrLnputStrfromRat floatToDigits showFloatlcmgcd^^^oddeven showSigned denominator numerator%subtractasTypeOford iosWriteFile iosReadFile iosAppendFile iosPutStr iosPutStrLnputText putTextLnputLText putLTextLn $fIOString[]$fIOStringByteString$fIOStringByteString0$fIOStringText$fIOStringText0FilePathfmap<$ Data.Functor<$>void$> concatMapM Control.Monadguardjoin>>=return MonadPlusmzeromplusmfilterunless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMapliftM5liftM4liftM3liftM2liftMwhen=<< leftToMaybe rightToMaybe maybeToRight maybeToLeft maybeToEither whenIsRight whenIsLeft whenRightDo whenLeftDoboolwhenMunlessMifMguardM&&&||| undefinederrortrace traceShow traceShowMtraceMtraceIOnotImplementedGHC.Listfilterzip Data.Tuplefstsnd otherwisemap$Eq==/= Data.DataDatagfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMpgmapMoOrd>=minmax><<=compareGHC.ReadReadData.Typeable.InternalTypeable Data.StringIsString Applicative<*>pure*><* Data.FoldableFoldabletoListfoldrlengthfoldMapnullfoldlfoldl'sumproductmaximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericMonoidmemptymappendmconcatFalseTrueGHC.IntInt8Int16Int32Int64MaybeNothingJustLTEQGT RealWorldGHC.WordWord8Word16Word32Word64 Data.EitherLeftRightTypeRepbytestring-0.10.8.1Data.ByteString.Internal ByteString Data.Monoid<>String#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalTextcontainers-0.5.7.1 Data.Map.BaseMapGHC.IO.Handle.TypesHandleGHC.STST Alternativeemptymany<|>someData.Functor.IdentityIdentity runIdentity Text.PrintfhPrintfprintf PrintfArg Data.VoidvacuousabsurdVoid Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+System.EnvironmentgetArgs System.Exitdie exitSuccess exitFailureexitWithControl.Monad.IO.ClassMonadIOliftIOfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.ApplicativeoptionalZipList getZipList Text.Read readMaybe readEitherreadsExitCode ExitSuccess ExitFailureData.Functor.ConstConstgetConstForeign.StorableStorablefindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAltstToIO Data.TypeableeqTcasttypeRep byteSwap64 byteSwap32 byteSwap16Data.Type.Coercion coerceWithCoercionisRightisLeftpartitionEithersrightsleftseitherData.Type.Equality gcastWithcastWithtranssym:~:Refl Data.ProxyProxy Data.OldListunfoldrsortBysort permutations subsequencestailsinitsgroup transpose intercalate intersperse isPrefixOfData.Ord comparingDown Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBitsshiftRshiftL.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSigned unsafeShiftL unsafeShiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.FunctiononfixrunSTfixSTGHC.CharchrzipWithreversebreaksplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanrscanl Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustmaybeswapuncurrycurryflip.constidliftA3liftA2liftA<**>&&||not Data.SequenceSeqData.IntMap.BaseIntMapData.IntSet.BaseIntSet Data.Set.BaseSetdeepseq-1.4.2.0Control.DeepSeqforce$!!deepseqNFDatarnftransformers-0.5.2.0Control.Monad.Trans.Classlift.transformers-base-0.4.4-FMTbgPqmqMsCiOz3biyAGxControl.Monad.Base MonadBase mtl-2.2.1-6qsR1PHUy5lL47Hpoa4jCMControl.Monad.Error.Class MonadError throwError catchErrorControl.Monad.Reader.Classasks MonadReaderasklocalControl.Monad.State.Classgetsmodify MonadStateputgetControl.Monad.Writer.Class MonadWritertellwriterlistenpassControl.Monad.Trans.ExceptExceptTExcept runExcept mapExcept runExceptT mapExceptT withExceptTControl.Monad.Trans.ReaderReaderT runReaderTReader runReaderControl.Monad.Trans.State.LazyStateT runStateTStaterunState evalState execState withState evalStateT execStateTControl.Monad.Trans.Writer.LazyWriterT runWriterTWriter runWriter execWriter execWriterT!safe-0.3.9-Hqo3JhJes6h6KTrVZw55PbSafeatDefatMay foldl1May foldr1MaylastDefheadDeflastMayheadMayinitSafeinitDefinitMaytailSafetailDeftailMay'validity-0.3.0.4-5fBtdKCGGOaCeyjylJUBnP Data.ValidityconstructValidUnsafeconstructValid isInvalidValidityisValidData.RelativeValidity isInvalidForRelativeValidity isValidFor