h(@/      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO 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"{"|"}"~"""""####$$$$$%%%%&&&&&&&&&'''''''''''(((())))))*****+++++++++,,,,,,,,,,,,-.....................................///00000011111111111122 2 2 2 2 2222333333344444455 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5;None%&*+,9:;<=DNOQRTb%/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     %%%/012%7/7061626None%&*+,9:;<=DNOQRTb &'()*+,-. &'()*+,-. .-,+*)('& &'()*+,-.None%&*+,9:;<=?DNOQRTb/0123456789:;<=>?@ABCDEFGHIJK/0123456789:;<=>?@ABCDEFGHIEFCD@ABG=>?<;:9875643210/KJHI/0123456789:;<=>?@ABCDEFGHIJK8090:0;5None%&*+,9:;<=DNOQRTb LMNOPQRSTU (LMNOPQRSTU Q(RTSUONMPL LMNOPQRSTUU4Safe%&*+,9:;<=DNOQRTbVW5 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR!STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ORUXl     VWVWVWNone%&*+,9:;<=BDNOQRTbY(Lightweight equality for newtypes using  from 67.uThis is so, so wonderful. (Well, now that the complaints about differing representations have gone away, anyway.)\The \l strategy just uses the canonical strategies on each "slot" of the tuple and returns a tuple of results.It's ... sort of lazy.apAn instance of this class defines a way to equate two terms of a given type according to a given "strategy" s.cThis is the user-facing c replacement class.}The Eq a/EquateAs s a trick is straight off the GHC wiki, as I said, although we can now use proxies instead of slinging  s around :)gDifferent notions of equality can have different "results". For instance, standard Eq-style "tired" equality returns Bool values, whereas a more numerically "wired" implementation for floating-point numbers could instead use tolerances/"epsilons" to compare things.cThis is reminiscent of subhask-ish things (in particular, the all-pervasive Logic type family).h>This represents the unique "equality strategy" to be used for a.sThere may be many different notions of equality that can be applied to a particular type, and instances of the hJ family are used to disambiguate those by specifying which one to use.XYZ[\]^_`abcdefghijklmnopqrXYZ[\]^_`abcdefghhgfecdrab`q_p^on]ml\k[ZjYXiXYZ[\]^_`abcdefghijklmnopqr None%&*+,9:;<=BDNOQRTb stuvwxyz{|}~ stuvwxyz{|}~ yz{wx|uv}~st stuvwxyz{|}~ None%&*+,9:;<=DNOQRTb Safe%&*+,-9:;<=DNOQRTb Oh, Either...  Safe%&*+,9:;<=DNOQRTb None%&*+,9:;<=DNOQRTbNone%&*+,9:;<=DNOQRTbf  None%&*+,9:;<=DNOQRTbf  None%&*+,9:;<=DNOQRTbNone%&*+,9:;<=DNOQRTbNone%&*+,9:;<=DNOQRTb  None%&*+,9:;<=DNOQRTbf None%&*+,9:;<=DNOQRTbNone%&*+,9:;<=DNOQRTbNone%&*+,9:;<=DNOQRTbNone%&)*+,9:;<=DNOQRTbf                67 6 7 3 28None%&*+,9:;<=DNOQRTb]    None%&*+,9:;<=DNOQRTb       None%&*+,9:;<=DNOQRTb !"#$%  !"" !%$# !"#$%None%&*+,9:;<=DNOQRTb &'()*+,-. &'()*+,-. ,+*)('&-. &'()*+,-.9None%&)*+,9:;<=DNOQRTbf  !"&'()*+,-.None%&*+,9:;<=DNOQRTb/0123(LMNOPQRSTU/012331/02/0123Safe%&*+,9:;<=DNOQRTb4444:Safe%&*+,9:;<=DNOQRTbNone%&*+,9:;<=DNOQRTbf56789:;<56789:;89:;675<56789:;<None%&*+,9:;<=DNOQRTbCyA strategy-parameterized typeclass for a compatible action, where compatibility is defined in the group action sense.$A compatible action satisfies a act (a' act b) = (a op a') act b=>?@ABCD=>?@ABCC>?@AB=D=>?@ABCDNone%&*+,9:;<=DNOQRTb EFGHIJKLMNEFGHIJKL KLIJHGFENMEFGHIJKLMN None%&*+,9:;<=DNOQRTbfS 5a `act` (b1 `bo` b2) = (a `act` b1) `bo` (a `act` b2)T 5(a1 `ao` a2) `act` b = (a1 `act` b) `bo` (a2 `act` b)OPQRSTUVWXYZ[\]^_`OPQRSTUVWXYZ[\]^_`\[ZYXWVU]^_`TSRQPOOPQRSTUVWXYZ[\]^_`!None%&*+,9:;<=DNOQRTbaa * (b + c) = a * b + a * cb(a + b) * c = a * c + b * cea + (b + c) = (a + b) + cabcdefghabcdefghhgfedcbaabcdefgh;None%&*+,9:;<=DNOQRTb056789:;=>?@ABCEFGHIJKLOPQRSTUVWXYZ[\]^_`abcdefgh"None%&*+,9:;<=DNOQRTbl.A right module (v, a) over the ring (r, p, m).x-A left module (v, a) over the ring (r, p, m).ijklmnopqrstuvwxyz{|}~ijklmnopqrstuvwxyz{|}~yz{|}~xwvumnopqrstlkji ijklmnopqrstuvwxyz{|}~#None%&*+,9:;<=DNOQRTbf$None%&*+,9:;<=DNOQRTbfLocally use the left self-action induced by the multiplicative magma structure of the ring, whatever structure the user may have chosen to use globally.a %<~ b = a * bLocally use the right self-action induced by the multiplicative magma structure of the ring, whatever structure the user may have chosen to use globally.b ~>% a = a * bLinear interpolation.lerp  v w = v + (1 - )w<None%&*+,9:;<=DNOQRTb!ijklmnopqrstuvwxyz{|}~%None%&*+,9:;<=DNOQRTbf&None%&*+,79:;<=DNOQRTbfBVector n v "E v^n. ;Actions of a on b extend to actions of a on 'BVector n b'. !Pointwise negation and inversion.Note that v^n has (a lot of) nontrivial zerodivisors even if v does not. The zerodivisors are all elements with a zero(divisor) in some coordinate, e.g. (1,0) and (0,1) are zerodivisors in R^2.O(This corresponds to the idea that the Spec of a product ring is disconnected!)2Neutral elements for addition and multiplication. ?Lifting addition and multiplication coordinatewise (Hadamard?) =None%&*+,9:;<=DNOQRTb'None%&*+,9:;<=DNOQRTbfUVector n v "E v^n for Unbox types . EThis is equal to > UVector [5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0];Actions of a on b extend to actions of a on 'UVector n b'. !Pointwise negation and inversion.Note that v^n has (a lot of) nontrivial zerodivisors even if v does not. The zerodivisors are all elements with a zero(divisor) in some coordinate, e.g. (1,0) and (0,1) are zerodivisors in R^2.O(This corresponds to the idea that the Spec of a product ring is disconnected!)2Neutral elements for addition and multiplication. ?Lifting addition and multiplication coordinatewise (Hadamard?)   (Safe%&*+,9:;<=DNOQRTb Alias for )Safe%&*+,9:;<=DNOQRTbSafe%&*+,9:;<=DNOQRTb!!4*Safe%&*+,9:;<=DNOQRTb+Safe%&*+,9:;<=DNOQRTbThe C operator lifted to a monad. If the first argument evaluates to . the second argument will not be evaluated.# lifted to an Applicative. Unlike  the operator is not short-circuiting.The C operator lifted to a monad. If the first argument evaluates to . the second argument will not be evaluated.# lifted to an Applicative. Unlike  the operator is not short-circuiting.    2233,Safe%&*+,9:;<=DNOQRTb  -Unsafe%&*+,9:;<=DNOQRTb5 &'()*+,-./012356789:;<=>?@ABCDEFGHIJKLMNOPQS !"#TUabrstuvwxyz{IJ$%ORSUVX&lrtx'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV0. Trustworthy%&*+,9:;<=DNOQRTb"WXWX/ Trustworthy%&*+,9:;<=DNOQRTb Trustworthy%&*+,9:;<=DNOQRTb"  $#"#$#"    0 Trustworthy%&*+,09:;<=DNOQRTb/Uncatchable exceptions thrown and never caught.1 Trustworthy %&*+,9:;<=DNOQRTb  2 Trustworthy%&*+,9:;<=DNOQRTb                        3Unsafe%&*+,9:;<=DNOQRTb4Safe%&*+,9:;<=DNOQRTb5 Trustworthy%&*+,9:;<=DNOQRTb)-Do nothing returning unit inside applicative.,Lift an - operation with 1 argument into another monad-Lift an . operation with 2 arguments into another monad !"#$%&'()*+,-.5!"#%&'()*+,-./0123YZ456789:;<=>?@ABCDEFGHIJKLMNOPQ!S !"#TUVWXYZ[\]^abrstuvwx[G|}~\]^_`abcdefghijklmnopqrIJ$%stuvORSUVX&lwxyzrtx{|}~'(*+,-./0123456789:;<=>?@ABCDEFGHIJKLM          NO                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 { | } ~   PQ              T        $#" UV                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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>DE>?F>?G>?H>DI>DJ>DK>DL>DM>DN>DO>DP>DQ>DR>DS>DT>DU>DV>WX>WY>WZ>?[>?\>?]>?^>?_>?`>?a>?b>?c>?d>?e>?fghijklmnopqrstuvwwxyz{|}~k                                     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                  !!!!!!!!""""""""""""""""""""""""""####$$$$$%%%%&&&&&&&&&'''''''''''(e(<((;))))))*****+++++++++,,,,,,,,,,,,-............ . . . . ................... .!."/#/$/%&'(0)0)0*0+0,0-1.1/101112131415161718192:2;2<2=2>2?2@2A2B2C3D3E3F3G3H3I3J4K4L4M4N4O4P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5aYbcd>?e>?fghighjghkghlghmgno>?p>?qgnr>stghughv>sw>sx>sy>sz>s{gh|>}~>}>>ghghghghggghggghggghggghghghghghghghghghgghghghghghghghghggghghghgh>>>>ghgggggggggggggggggggggggggggggggggggg>A>B>>>C>>>gghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghgh gh gh gh gh ghghghghghghghghghghghghghghghghghghgh gh!gh"gh#gh$gh%gh&gh'gh(gh)gh*gh+gh,gh-gh.gh/gh0gh1gh2gh3gh4gh5gh6gh7gh8gh9gh:gh;gh<gh=gh>gh?gh@ghAghBghCghDghEghFghGghHghIghJghKghLghMghNghOghPghQghRghSghTghUghVghWghXghYghZgh[gh\gh]gh^gh_gh`ghaghbghcghdgheghfghgghhghighjghkghlghmghnghoghpghqghrghsghtghughvghwghxghyghzgh{gh|gh}gh~ghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghgh gh gh gh gh ghghghghghghghghghghghghghghghghghghgh gh!gh"gh#gh$gh%gh&gh'gh(gh)gh*gh+gh,gh-gh.gh/gh0gh1gh2gh3gh4gh5gh6gh7gh8gh9gh:gh;gh<gh=gh>gh?gh@ghAghBghCghDghEghFghGghHghIghJghKghLghMghNghOghPghQghRghSghTghUghVghWghXghYghZgh[gh\gh]gh^gh_gh`ghaghbghcghdgheghfghgghhghighjghkghlghmghnghoghpghqghrghsghtghughvghwghxghyghzgh{gh|gh}gh~ghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghgh gh gh gh gh ghghghghghghghghghghghghghghghghghghgh gh!gh"gh#gh$gh%gh&gh'gh(gh)gh*gh+gh,gh-gh.gh/gh0gh1gh2gh3gh4gh5gh6gh7gh8gh9gh:gh;gh<gh=gh>gh?gh@ghAghBghCghDghEghFghGghHghIghJghKghLghMghNghOghPghQghRghSghTghUghVghWghXghYghZgh[gh\gh]gh^gh_gh`ghaghbghcghdgheghfghgghhghighjghkghlghmghnghoghpghqghrghsghtghughvghwghxghyghzgh{gh|gh}gh~ghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghgh gh gh gh gh ghghghghghghghghghghghghghghghghghghgh gh!gh"gh#gh$gh%gh&gh'gh(gh)gh*gh+gh,gh-gh.gh/gh0gh1gh2gh3gh4gh5gh6gh7gh8gh9gh:gh;gh<gh=gh>gh?gh@ghAghBghCghDghEghFghGghHghIghJghKghLghMghNghOghPghQghRghSghTghUghVghWghXghYghZgh[gh\gh]gh^gh_gh`ghaghbghcghdgheghfghgghhghighjghkghlghmghnghoghpghqghrghsghtghughvghwghxghyghzgh{gh|gh}gh~ghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghghgh gh gh gh gh ghghghghghghghgh>s>s>s>s>s>s>s>>> !> ">#>$>%>&>'>(>)>*>+>+>,>,>->.>/>0>1>2>34>35>36>37>38>39>3:>3;>3<>3=>3>>3>?@>?A>?A>?B>?B>CD>CD>EF>EE>EF>EG>HI>?J>?K>?L>?M>?NgO>?m>PQ>PR>SX>TU>TV>?W>?T>?X>YZ>Y[>\]>\^>\_>\`>\a>\b>\c>\d>\e>\f>\g>\hgij>kl>km>kn>ko>kp>k}>kq>kr>ks>kt>ku>kv>kw>kx>ky>kz>k{>k|>k}>Y~>Y>Y>Y>Y>Y>Y>Y>Y>Y>?>>>gigigigigigigi-gi>>>>Y>Y>k>k>k>k>k>k>k>k>k>k>k>k>k>k>k>Y>Y>Y>Y>Y>Y>>>a>>?>?>?>?>?>>>>>>>>>>>>>>>>>>>?>?>?ggg>>>>>?>?>?gggg>Y>Yg>>>>>>>>>>>>>>>S>S>S>S>S>S>S>S>S>S0>S/>S>>>>>>>>>>>> >  >  >>>>>>>>>>>Y>Y>Yl>Y>Y>Y>Y>Y>Y >!>">#>$>%>P&>P'>P(>P)>P*>P+>P,>P->P.>P/>P0>P1>P2>P3>P4>P5>P6>P7>P8>P9>P:>P;>P<>P=>P>>P?>P>@A>TB>TC>D>?E>?F>?>?G>?H>?I>?J>?K>LC>LM>L<giNOP$Q$RgiFgiE>kS>kT>kU>kV>YD>YW>B>A>C>?>>XY>XZ>Y[>\]>^_>k`>Ya>Yb>Yc>Yd>Ye>Yf>Yg>Yh>Yi>Yj>Yk>Yl>Ym>Yn>Yo>Yp>Yq>Yr>Ys>Yt>\u>\v>?w>?x>yz>y{>|}>|}>|~>|>|>|>|>|>|>|>>>>>k>Y>?>^>^..gigi>>{>>>>>>>>>>>>>>>>>>>>>>>7>>>?6> > > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>8>>>>>>>>>>>>>>>>>> > >  >  >  >  >  > > > > > >  > > > > > > > > > > > >  >  >  >  >  >  >  !>  "> # $> # %> # &> # '> # (> # )> # *> # +> # ,> -> .> /> 0> 1> 2> 3 4> 3 5> 3 5> 3 6>S 7> 8 9> 8 :> 8 ;> < => > ?> > @> > A> > B> > C> > D> > E> > F> > G> H I> H J> K L> K M> K N> K O> K P> K Q> K R> K S> K T> K U> K V> K W> K X> K X> K Y> K Y> K Z> K Z> K [> K [> K \> K \> K> K> K ]> K ]> K ^> K ^> _> `> a> b> c> d> e> f> g> h> i> j> k> l> m> n> o> 8 p> q> r> s> s> t> t> u> u> v> v> w> w> x> x> y> z> {> |> }> ~> > > > > >  >  > >  > > > > > > > > > > > >  >  > >  >  > >  >  > > > > >  >  > >  >  > >  >  > >  >  > >  >  > > > > > > > > > > > > > > > > > > > > > > >  >  >  >  > > > > > > > > > > > > > > > > > > > > > >  >  >  >  >  > > >  >  > > > > > > > > > > > > > > > > > > > > > > >C > > > > >  > > > > > > > > > > > > > > > > > > > > >  > > > > d>  >  > > >  >@ >@ >@ >@ >@ >@ >@ >T > ! "> ! #> ! $> ! %> ! &> ! '> ! (> ! )> ! *> ! +>? ,>? ->? .>? />? 0>? 1>? 2>? 3>? 4> 5> 5 6 7 8 9 : ; 9 < = 9 > ? 9 @ A 9 B C D E F D E G D E H D E I D E J K L M K L N K L O K L P Q R S T U V T U W T U X T Y Z T Y [ T Y \ T Y ] T Y ^ T _ ` T _ a T _ b T _ c T _ d T _ e Q f g Q f g Q f h Q f i Q f j Q k l Q k l Q k m Q k n Q k o Q p q Q p q Q p r Q p s Q p t Q p u Q p v Q p w Q p x Q p y z { | z { } z { ~ z {  z { z { z { z { z { z { z { z { z { z {       /    $noether-0.0.1-CWqtFh8FD0RDlIi5jKlG5i Lemmata.MonadLemmata.FunctorNoether.Lemmata.TypeFuNoether.Lemmata.TypeFu.SetNoether.Lemmata.TypeFu.DListNoether.Lemmata.TypeFu.MapNoether.Lemmata.PreludeNoether.EqualityNoether.Equality.TutorialNoether.Algebra.Vector.TagsNoether.Algebra.TagsNoether.Algebra.SubtypingNoether.Algebra.Single.SynonymsNoether.Algebra.Single.NeutralNoether.Algebra.Single.Magma Noether.Algebra.Single.SemigroupNoether.Algebra.Single.Monoid"Noether.Algebra.Single.Commutative#Noether.Algebra.Single.CancellativeNoether.Algebra.Single.Group#Noether.Algebra.Single.AbelianGroup!Noether.Algebra.Single.StrategiesNoether.Algebra.Single.API!Noether.Algebra.Multiple.SemiringNoether.Algebra.Multiple.Ring#Noether.Algebra.Multiple.StrategiesNoether.Algebra.InferenceNoether.Algebra.DeriveNoether.Algebra.Actions.Acts"Noether.Algebra.Actions.Compatible!Noether.Algebra.Actions.LinearityNoether.Algebra.Actions.API"Noether.Algebra.Actions.StrategiesNoether.Algebra.Linear.Module!Noether.Algebra.Linear.StrategiesNoether.Algebra.Linear.APINoether.Algebra.Vector.GenericNoether.Algebra.Vector.BoxedNoether.Algebra.Vector.UnboxedLemmata.Semiring Lemmata.ListLemmata.Either Lemmata.BoolLemmata.Bifunctor Lemmata.Base Lemmata.ConvLemmata.Exceptions Lemmata.Panic Lemmata.Show Lemmata.DebugLemmata.UnsafeLemmata.ApplicativeLemmataDataCoerceNoether.Algebra.SingleNoether.Algebra.Multiple$Noether.Algebra.Actions.GroupActionsNoether.Algebra.ActionsNoether.Algebra.LinearNoether.Algebra.Vector.TutorialbaseGHC.Base>>=>>fmapreturn Control.MonadguardjoinMonadFunctormfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM Data.Functorvoid$><$>apliftM5liftM4liftM3liftM2liftMwhen=<<<$mplusmzero MonadPlus$$>IfConsFilterSortNub^^++CmpTSet'TSetA_BTagATagA__ABDList_Conv|>||<||-|~>**FooBarBazDListNilTagTaggedThenilfa $fA__aATag$fA_aMemberLookup'Lookup\\Combine<+>TMap'TMap:= fromInteger fromString CoerceFrom' CoerceFromModuloExplicit CompositeCommon ApproximateNumeric PreludeEqEquateAsequateAsEq== EquateAs' EquateResult' EquateResultEquality$fEquateAsCoerceFromb$fEquateAsExplicitInt$fEquateAsComposite(,)$fEquateAsCommon(,)$fEquateAsCommon(,)0$fEquateAsCommon(,)1$fEquateAsApproximatea$fEquateAsNumerica$fEquateAsPreludeEqa$fEqaModDbl'DbltestInt testDoubletest1test2test3test4test5 UMVectorLift SMVectorLift MVectorLift SVectorLift BVectorLift UVectorLift VectorLift FunctionLiftSideLR BinaryBooleanAndOrXor BinaryNumericAddMulSubtypeembedXorPOrPAndPMulPAddPNeutralNeutralSNeutralKneutralKNeutralE NeutralPrim NeutralNum NeutralNamed NeutralTagged$fNeutralKkopaNeutralNamed($fNeutralKBinaryBooleanOrBoolNeutralPrim)$fNeutralKBinaryBooleanAndBoolNeutralPrim%$fNeutralKBinaryNumericMulaNeutralNum%$fNeutralKBinaryNumericAddaNeutralNumMagmaSMagmaMagmaK binaryOpKMagmaE MagmaPrimMagmaNum MagmaNamed MagmaTagged$fMagmaKkop(->)MagmaTagged$fMagmaKkopaMagmaNamed$$fMagmaKBinaryBooleanOrBoolMagmaPrim%$fMagmaKBinaryBooleanAndBoolMagmaPrim!$fMagmaKBinaryNumericMulaMagmaNum!$fMagmaKBinaryNumericAddaMagmaNum SemigroupS SemigroupC SemigroupK SemigroupESemigroup_MagmaSemigroupNamed$fSemigroupKkkopaSemigroupNamed#$fSemigroupKTYPEkopaSemigroup_MagmaMonoidSMonoidCMonoidKMonoidEMonoid_Semigroup_Neutral MonoidNamed$fMonoidKkkopaMonoidNamed)$fMonoidKTYPEkopaMonoid_Semigroup_Neutral CommutativeS Commutative CommutativeK CommutativeECommutativeNumCommutativeNamedCommutativeTagged$$fCommutativeKkkopaCommutativeTagged#$fCommutativeKkkopaCommutativeNamed1$fCommutativeKTYPEBinaryNumericMulaCommutativeNum1$fCommutativeKTYPEBinaryNumericAddaCommutativeNum CancellativeS Cancellative CancellativeKcancelK CancellativeECancellativeNumCancellativeFractionalCancellativeNamedCancellativeTagged($fCancellativeKkop(->)CancellativeTagged$$fCancellativeKkopaCancellativeNamed6$fCancellativeKBinaryNumericMulaCancellativeFractional/$fCancellativeKBinaryNumericAddaCancellativeNumGroupCGroupKGroupEGroup_Monoid_Cancellative GroupNamedGroupS$fGroupKkkopaGroupNamed)$fGroupKTYPEkopaGroup_Monoid_Cancellative AbelianGroupC AbelianGroupK AbelianGroupEAbelianGroup_Commutative_GroupAbelianGroupNamed AbelianGroupS%$fAbelianGroupKkkopaAbelianGroupNamed2$fAbelianGroupKkkopaAbelianGroup_Commutative_Group ComplexLift2DeriveAbelianGroup_Commutative_Monoid_Cancellative$DeriveAbelianGroup_Commutative_GroupDeriveGroup_Monoid_CancellativeDeriveMonoid_Semigroup_NeutralDeriveSemigroup_MagmaDeriveNeutral_TaggedDeriveCancellative_TaggedDeriveCommutative_TaggedDeriveMagma_NamedDeriveMagma_Tagged AbelianGroupGroupMonoid SemigroupcancelbinaryOpneutralzeroonetruefalsenegate reciprocal+*-/&&|| SemiringC SemiringK SemiringE"Semiring_Commutative_Monoid_Monoid SemiringNamedsemiring_commutativesemiring_additive_monoidsemiring_multiplicative_monoid SemiringS $fSemiringKkkmkapmaSemiringNamed5$fSemiringKkkmkapmaSemiring_Commutative_Monoid_MonoidRingCRingKRingERing_Semiring_CancellativeRing_AbelianGroup_Group RingNamed ring_semiringring_addition_cancellativering_additive_groupring_multiplicative_groupRingS$fRingKkkmkapmaRingNamed&$fRingKkkmkapmaRing_AbelianGroup_Group,$fRingKTYPEkmkapmaRing_Semiring_Cancellative DeriveRingDoc_AbelianGroup_Group RingNamedTDeriveRing_AbelianGroup_Group DeriveRing_Semiring_Cancellative(DeriveSemiring_Commutative_Monoid_MonoidSemiringRingpqPrim DerivedFromInferStrategy Synergise AutomaticActsSActsKactKActsE Acts_Magma ActsNamed ActsTagged$fActsKklropaaActs_Magma CompatibleS CompatibleECompatible_Acts_Semigroupcompatible_actorcompatible_actioncompatible_actor_semigroup CompatibleK;$fCompatibleKTYPETYPEk2k1lropactabCompatible_Acts_Semigroup ActeeLinearK ActorLinearK ActeeLinearS ActorLinearS ActeeLinearEActeeLinear_Acts_Semigroup ActorLinearE$ActorLinear_Acts_Semigroup_Semigroup?$fActeeLinearKTYPEkTYPEkSidelractabobActeeLinear_Acts_SemigroupL$fActorLinearKTYPEkTYPEkkSidelractaoabobActorLinear_Acts_Semigroup_Semigroup RightLinear LeftLinear LinearActs LinearActsOn ActeeLinearC ActorLinearCBiActs RightActsLeftActsActsRightCompatibleLeftCompatible Compatible CompatibleCleftActK rightActKleftActrightAct)DeriveActeeLinearActs_RightDistributivity(DeriveActorLinearActs_LeftDistributivity$DeriveActeeLinearActs_Acts_Semigroup.DeriveActorLinearActs_Acts_Semigroup_SemigroupDeriveCompatible_AssociativityDeriveCompatible_Acts_SemigroupDeriveActs_MagmaDeriveActs_Tagged RightModule RightModuleC RightModuleS RightModuleK RightModuleE/RightModule_Ring_AbelianGroup_Linear_CompatibleRightModule_NamedrightModule_ringrightModule_abelianGrouprightModule_actorLinearityrightModule_acteeLinearityrightModule_compatibility LeftModule LeftModuleC LeftModuleS LeftModuleK LeftModuleE.LeftModule_Ring_AbelianGroup_Linear_CompatibleLeftModule_NamedleftModule_ringleftModule_abelianGroupleftModule_actorLinearityleftModule_acteeLinearityleftModule_compatibilityV$fRightModuleKRightModuleEkkkkkkoppmravRightModule_Ring_AbelianGroup_Linear_CompatibleS$fLeftModuleKLeftModuleEkkkkkkoppmravLeftModule_Ring_AbelianGroup_Linear_CompatibleDeriveRightModule_Self#DeriveRightModule_Ring_AbelianGroupDeriveLeftModule_Self"DeriveLeftModule_Ring_AbelianGroup%<>%%<~~>%lerp gBinaryOpKgCancelKgActK gNeutralKBVectorunsafeFromListunsafeChangeDimension$fActsKklropaBVectorActsTagged+$fCancellativeKkopBVectorCancellativeTagged!$fNeutralKkopBVectorNeutralTagged$fMagmaKkopBVectorMagmaTagged $fShowBVectorUVectorvwg$fActsKklropaUVectorActsTagged+$fCancellativeKkopUVectorCancellativeTagged!$fNeutralKkopUVectorNeutralTagged$fMagmaKkopUVectorMagmaTagged $fShowUVector<.>headsortOnordNublistproductsum<<$>> leftToMaybe rightToMaybe maybeToRight maybeToLeft maybeToEitherboolwhenMunlessMifMguardM||^<||>&&^<&&> Bifunctorbimapfirstsecond$fBifunctorConst$fBifunctorEither$fBifunctor(,,,,,,)$fBifunctor(,,,,,)$fBifunctor(,,,,)$fBifunctor(,,,)$fBifunctor(,,)$fBifunctor(,)$! StringConvstrConvLeniencyLenientStricttoStoSL$fStringConvTextByteString$fStringConvTextByteString0$fStringConvTextText$fStringConvTextText0$fStringConvText[]$fStringConvTextText1$fStringConvTextText2$fStringConvTextByteString1$fStringConvTextByteString2$fStringConvText[]0$fStringConvByteStringText$fStringConvByteStringText0 $fStringConvByteStringByteString!$fStringConvByteStringByteString0$fStringConvByteString[]$fStringConvByteStringText1$fStringConvByteStringText2!$fStringConvByteStringByteString1!$fStringConvByteStringByteString2$fStringConvByteString[]0$fStringConv[]Text$fStringConv[]Text0$fStringConv[]ByteString$fStringConv[]ByteString0$fStringConv[][] $fEqLeniency$fShowLeniency $fOrdLeniency$fEnumLeniency$fBoundedLeniencyhushnotetryIO concatMapMliftM'liftM2' FatalErrorfatalErrorMessagepanic$fExceptionFatalError$fShowFatalErrorPrintputStrputStrLnputTextputLText putByteStringputLByteString $fPrint[]$fPrintByteString$fPrintByteString0 $fPrintText $fPrintText0tracetraceIOerror traceShow traceShowId traceShowMtraceMtraceIdnotImplemented undefined unsafeHead unsafeTail unsafeInit unsafeLastunsafeFromJust unsafeIndex unsafeThroworAltorEmptyeitherApurerliftAA2<<*>> LByteStringLTextidentitymapunconsunsnocapplyNprintthrowIOthrowToforeachpassguardedguardedAliftIO1liftIO2show&&.&.&augmentbuildghc-primGHC.Primseq realWorld#void# unsafeCoerce# nullAddr# GHC.Magiclazy breakpointbreakpointCondinlineGHC.Exts groupWith magicDictcoerceIsListItemfromList fromListNtoListproxy# Data.StringIsString GHC.TypeLitsKnownNat KnownSymbolAddr#Array# ByteArray#Char# GHC.TypesCharC#Double#DoubleD#Float#FloatF#Int#IntI#Int32#Int64#Weak# MutableArray#MutableByteArray#MVar# RealWorld StablePtr#Any~~ ArrayArray#MutableArrayArray#State# StableName#~#MutVar#Void#Word#WordW#Word32#Word64# ThreadId#BCO#GHC.PtrPtrFunPtrTVar#Type Constraint★ RuntimeRepVecRep PtrRepLiftedPtrRepUnliftedVoidRepIntRepWordRepInt64Rep Word64RepAddrRepFloatRep DoubleRepUnboxedTupleRepVecCountVec2Vec4Vec8Vec16Vec32Vec64VecElem Int8ElemRep Int16ElemRep Int32ElemRep Int64ElemRep Word8ElemRep Word16ElemRep Word32ElemRep Word64ElemRep FloatElemRep DoubleElemRepNatSymbol^<=? CmpSymbolCmpNat TypeError CoercibleProxy# SmallArray#SmallMutableArray#Int8X16#Int16X8#Int32X4#Int64X2#Int8X32# Int16X16#Int32X8#Int64X4#Int8X64# Int16X32# Int32X16#Int64X8# Word8X16# Word16X8# Word32X4# Word64X2# Word8X32# Word16X16# Word32X8# Word64X4# Word8X64# Word16X32# Word32X16# Word64X8#FloatX4# DoubleX2#FloatX8# DoubleX4# FloatX16# DoubleX8#gtChar#geChar#eqChar#neChar#ltChar#leChar#ord#+#-#*#mulIntMayOflo#quotInt#remInt# quotRemInt#andI#orI#xorI#notI# negateInt#addIntC#subIntC#>#>=#==#/=#<#<=#chr# int2Word# int2Float# int2Double# word2Float# word2Double#uncheckedIShiftL#uncheckedIShiftRA#uncheckedIShiftRL# plusWord# subWordC# plusWord2# minusWord# timesWord# timesWord2# quotWord#remWord# quotRemWord# quotRemWord2#and#or#xor#not#uncheckedShiftL#uncheckedShiftRL# word2Int#gtWord#geWord#eqWord#neWord#ltWord#leWord#popCnt8# popCnt16# popCnt32# popCnt64#popCnt#clz8#clz16#clz32#clz64#clz#ctz8#ctz16#ctz32#ctz64#ctz# byteSwap16# byteSwap32# byteSwap64# byteSwap# narrow8Int# narrow16Int# narrow32Int# narrow8Word# narrow16Word# narrow32Word#>##>=##==##/=##<##<=##+##-##*##/## negateDouble# double2Int# double2Float# expDouble# logDouble# sqrtDouble# sinDouble# cosDouble# tanDouble# asinDouble# acosDouble# atanDouble# sinhDouble# coshDouble# tanhDouble#**##decodeDouble_2Int#decodeDouble_Int64#gtFloat#geFloat#eqFloat#neFloat#ltFloat#leFloat# plusFloat# minusFloat# timesFloat# divideFloat# negateFloat# float2Int# expFloat# logFloat# sqrtFloat# sinFloat# cosFloat# tanFloat# asinFloat# acosFloat# atanFloat# sinhFloat# coshFloat# tanhFloat# powerFloat# float2Double#decodeFloat_Int# newArray#sameMutableArray# readArray# writeArray# sizeofArray#sizeofMutableArray# indexArray#unsafeFreezeArray#unsafeThawArray# copyArray#copyMutableArray# cloneArray#cloneMutableArray# freezeArray# thawArray# casArray#newSmallArray#sameSmallMutableArray#readSmallArray#writeSmallArray#sizeofSmallArray#sizeofSmallMutableArray#indexSmallArray#unsafeFreezeSmallArray#unsafeThawSmallArray#copySmallArray#copySmallMutableArray#cloneSmallArray#cloneSmallMutableArray#freezeSmallArray#thawSmallArray#casSmallArray# newByteArray#newPinnedByteArray#newAlignedPinnedByteArray#byteArrayContents#sameMutableByteArray#shrinkMutableByteArray#resizeMutableByteArray#unsafeFreezeByteArray#sizeofByteArray#sizeofMutableByteArray#getSizeofMutableByteArray#indexCharArray#indexWideCharArray#indexIntArray#indexWordArray#indexAddrArray#indexFloatArray#indexDoubleArray#indexStablePtrArray#indexInt8Array#indexInt16Array#indexInt32Array#indexInt64Array#indexWord8Array#indexWord16Array#indexWord32Array#indexWord64Array#readCharArray#readWideCharArray# readIntArray#readWordArray#readAddrArray#readFloatArray#readDoubleArray#readStablePtrArray#readInt8Array#readInt16Array#readInt32Array#readInt64Array#readWord8Array#readWord16Array#readWord32Array#readWord64Array#writeCharArray#writeWideCharArray#writeIntArray#writeWordArray#writeAddrArray#writeFloatArray#writeDoubleArray#writeStablePtrArray#writeInt8Array#writeInt16Array#writeInt32Array#writeInt64Array#writeWord8Array#writeWord16Array#writeWord32Array#writeWord64Array#copyByteArray#copyMutableByteArray#copyByteArrayToAddr#copyMutableByteArrayToAddr#copyAddrToByteArray# setByteArray#atomicReadIntArray#atomicWriteIntArray# casIntArray#fetchAddIntArray#fetchSubIntArray#fetchAndIntArray#fetchNandIntArray#fetchOrIntArray#fetchXorIntArray#newArrayArray#sameMutableArrayArray#unsafeFreezeArrayArray#sizeofArrayArray#sizeofMutableArrayArray#indexByteArrayArray#indexArrayArrayArray#readByteArrayArray#readMutableByteArrayArray#readArrayArrayArray#readMutableArrayArrayArray#writeByteArrayArray#writeMutableByteArrayArray#writeArrayArrayArray#writeMutableArrayArrayArray#copyArrayArray#copyMutableArrayArray# plusAddr# minusAddr#remAddr# addr2Int# int2Addr#gtAddr#geAddr#eqAddr#neAddr#ltAddr#leAddr#indexCharOffAddr#indexWideCharOffAddr#indexIntOffAddr#indexWordOffAddr#indexAddrOffAddr#indexFloatOffAddr#indexDoubleOffAddr#indexStablePtrOffAddr#indexInt8OffAddr#indexInt16OffAddr#indexInt32OffAddr#indexInt64OffAddr#indexWord8OffAddr#indexWord16OffAddr#indexWord32OffAddr#indexWord64OffAddr#readCharOffAddr#readWideCharOffAddr#readIntOffAddr#readWordOffAddr#readAddrOffAddr#readFloatOffAddr#readDoubleOffAddr#readStablePtrOffAddr#readInt8OffAddr#readInt16OffAddr#readInt32OffAddr#readInt64OffAddr#readWord8OffAddr#readWord16OffAddr#readWord32OffAddr#readWord64OffAddr#writeCharOffAddr#writeWideCharOffAddr#writeIntOffAddr#writeWordOffAddr#writeAddrOffAddr#writeFloatOffAddr#writeDoubleOffAddr#writeStablePtrOffAddr#writeInt8OffAddr#writeInt16OffAddr#writeInt32OffAddr#writeInt64OffAddr#writeWord8OffAddr#writeWord16OffAddr#writeWord32OffAddr#writeWord64OffAddr# newMutVar# readMutVar# writeMutVar# sameMutVar#atomicModifyMutVar# casMutVar#catch#raise#raiseIO#maskAsyncExceptions#maskUninterruptible#unmaskAsyncExceptions#getMaskingState# atomically#retry# catchRetry# catchSTM#check#newTVar# readTVar# readTVarIO# writeTVar# sameTVar#newMVar# takeMVar# tryTakeMVar#putMVar# tryPutMVar# readMVar# tryReadMVar# sameMVar# isEmptyMVar#delay# waitRead# waitWrite#fork#forkOn# killThread#yield# myThreadId# labelThread#isCurrentThreadBound# noDuplicate# threadStatus#mkWeak#mkWeakNoFinalizer#addCFinalizerToWeak# deRefWeak# finalizeWeak#touch#makeStablePtr#deRefStablePtr# eqStablePtr#makeStableName# eqStableName#stableNameToInt#reallyUnsafePtrEquality#par#spark#seq# getSpark# numSparks# dataToTag# tagToEnum# addrToAny# mkApUpd0#newBCO#unpackClosure#getApStackVal# getCCSOf#getCurrentCCS# clearCCS# traceEvent# traceMarker#broadcastInt8X16#broadcastInt16X8#broadcastInt32X4#broadcastInt64X2#broadcastInt8X32#broadcastInt16X16#broadcastInt32X8#broadcastInt64X4#broadcastInt8X64#broadcastInt16X32#broadcastInt32X16#broadcastInt64X8#broadcastWord8X16#broadcastWord16X8#broadcastWord32X4#broadcastWord64X2#broadcastWord8X32#broadcastWord16X16#broadcastWord32X8#broadcastWord64X4#broadcastWord8X64#broadcastWord16X32#broadcastWord32X16#broadcastWord64X8#broadcastFloatX4#broadcastDoubleX2#broadcastFloatX8#broadcastDoubleX4#broadcastFloatX16#broadcastDoubleX8# packInt8X16# packInt16X8# packInt32X4# packInt64X2# packInt8X32# packInt16X16# packInt32X8# packInt64X4# packInt8X64# packInt16X32# packInt32X16# packInt64X8# packWord8X16# packWord16X8# packWord32X4# packWord64X2# packWord8X32#packWord16X16# packWord32X8# packWord64X4# packWord8X64#packWord16X32#packWord32X16# packWord64X8# packFloatX4# packDoubleX2# packFloatX8# packDoubleX4# packFloatX16# packDoubleX8#unpackInt8X16#unpackInt16X8#unpackInt32X4#unpackInt64X2#unpackInt8X32#unpackInt16X16#unpackInt32X8#unpackInt64X4#unpackInt8X64#unpackInt16X32#unpackInt32X16#unpackInt64X8#unpackWord8X16#unpackWord16X8#unpackWord32X4#unpackWord64X2#unpackWord8X32#unpackWord16X16#unpackWord32X8#unpackWord64X4#unpackWord8X64#unpackWord16X32#unpackWord32X16#unpackWord64X8#unpackFloatX4#unpackDoubleX2#unpackFloatX8#unpackDoubleX4#unpackFloatX16#unpackDoubleX8#insertInt8X16#insertInt16X8#insertInt32X4#insertInt64X2#insertInt8X32#insertInt16X16#insertInt32X8#insertInt64X4#insertInt8X64#insertInt16X32#insertInt32X16#insertInt64X8#insertWord8X16#insertWord16X8#insertWord32X4#insertWord64X2#insertWord8X32#insertWord16X16#insertWord32X8#insertWord64X4#insertWord8X64#insertWord16X32#insertWord32X16#insertWord64X8#insertFloatX4#insertDoubleX2#insertFloatX8#insertDoubleX4#insertFloatX16#insertDoubleX8# plusInt8X16# plusInt16X8# plusInt32X4# plusInt64X2# plusInt8X32# plusInt16X16# plusInt32X8# plusInt64X4# plusInt8X64# plusInt16X32# plusInt32X16# plusInt64X8# plusWord8X16# plusWord16X8# plusWord32X4# plusWord64X2# plusWord8X32#plusWord16X16# plusWord32X8# plusWord64X4# plusWord8X64#plusWord16X32#plusWord32X16# plusWord64X8# plusFloatX4# plusDoubleX2# plusFloatX8# plusDoubleX4# plusFloatX16# plusDoubleX8# minusInt8X16# minusInt16X8# minusInt32X4# minusInt64X2# minusInt8X32#minusInt16X16# minusInt32X8# minusInt64X4# minusInt8X64#minusInt16X32#minusInt32X16# minusInt64X8#minusWord8X16#minusWord16X8#minusWord32X4#minusWord64X2#minusWord8X32#minusWord16X16#minusWord32X8#minusWord64X4#minusWord8X64#minusWord16X32#minusWord32X16#minusWord64X8# minusFloatX4#minusDoubleX2# minusFloatX8#minusDoubleX4#minusFloatX16#minusDoubleX8# timesInt8X16# timesInt16X8# timesInt32X4# timesInt64X2# timesInt8X32#timesInt16X16# timesInt32X8# timesInt64X4# timesInt8X64#timesInt16X32#timesInt32X16# timesInt64X8#timesWord8X16#timesWord16X8#timesWord32X4#timesWord64X2#timesWord8X32#timesWord16X16#timesWord32X8#timesWord64X4#timesWord8X64#timesWord16X32#timesWord32X16#timesWord64X8# timesFloatX4#timesDoubleX2# timesFloatX8#timesDoubleX4#timesFloatX16#timesDoubleX8#divideFloatX4#divideDoubleX2#divideFloatX8#divideDoubleX4#divideFloatX16#divideDoubleX8# quotInt8X16# quotInt16X8# quotInt32X4# quotInt64X2# quotInt8X32# quotInt16X16# quotInt32X8# quotInt64X4# quotInt8X64# quotInt16X32# quotInt32X16# quotInt64X8# quotWord8X16# quotWord16X8# quotWord32X4# quotWord64X2# quotWord8X32#quotWord16X16# quotWord32X8# quotWord64X4# quotWord8X64#quotWord16X32#quotWord32X16# quotWord64X8# remInt8X16# remInt16X8# remInt32X4# remInt64X2# remInt8X32# remInt16X16# remInt32X8# remInt64X4# remInt8X64# remInt16X32# remInt32X16# remInt64X8# remWord8X16# remWord16X8# remWord32X4# remWord64X2# remWord8X32# remWord16X16# remWord32X8# remWord64X4# remWord8X64# remWord16X32# remWord32X16# remWord64X8#negateInt8X16#negateInt16X8#negateInt32X4#negateInt64X2#negateInt8X32#negateInt16X16#negateInt32X8#negateInt64X4#negateInt8X64#negateInt16X32#negateInt32X16#negateInt64X8#negateFloatX4#negateDoubleX2#negateFloatX8#negateDoubleX4#negateFloatX16#negateDoubleX8#indexInt8X16Array#indexInt16X8Array#indexInt32X4Array#indexInt64X2Array#indexInt8X32Array#indexInt16X16Array#indexInt32X8Array#indexInt64X4Array#indexInt8X64Array#indexInt16X32Array#indexInt32X16Array#indexInt64X8Array#indexWord8X16Array#indexWord16X8Array#indexWord32X4Array#indexWord64X2Array#indexWord8X32Array#indexWord16X16Array#indexWord32X8Array#indexWord64X4Array#indexWord8X64Array#indexWord16X32Array#indexWord32X16Array#indexWord64X8Array#indexFloatX4Array#indexDoubleX2Array#indexFloatX8Array#indexDoubleX4Array#indexFloatX16Array#indexDoubleX8Array#readInt8X16Array#readInt16X8Array#readInt32X4Array#readInt64X2Array#readInt8X32Array#readInt16X16Array#readInt32X8Array#readInt64X4Array#readInt8X64Array#readInt16X32Array#readInt32X16Array#readInt64X8Array#readWord8X16Array#readWord16X8Array#readWord32X4Array#readWord64X2Array#readWord8X32Array#readWord16X16Array#readWord32X8Array#readWord64X4Array#readWord8X64Array#readWord16X32Array#readWord32X16Array#readWord64X8Array#readFloatX4Array#readDoubleX2Array#readFloatX8Array#readDoubleX4Array#readFloatX16Array#readDoubleX8Array#writeInt8X16Array#writeInt16X8Array#writeInt32X4Array#writeInt64X2Array#writeInt8X32Array#writeInt16X16Array#writeInt32X8Array#writeInt64X4Array#writeInt8X64Array#writeInt16X32Array#writeInt32X16Array#writeInt64X8Array#writeWord8X16Array#writeWord16X8Array#writeWord32X4Array#writeWord64X2Array#writeWord8X32Array#writeWord16X16Array#writeWord32X8Array#writeWord64X4Array#writeWord8X64Array#writeWord16X32Array#writeWord32X16Array#writeWord64X8Array#writeFloatX4Array#writeDoubleX2Array#writeFloatX8Array#writeDoubleX4Array#writeFloatX16Array#writeDoubleX8Array#indexInt8X16OffAddr#indexInt16X8OffAddr#indexInt32X4OffAddr#indexInt64X2OffAddr#indexInt8X32OffAddr#indexInt16X16OffAddr#indexInt32X8OffAddr#indexInt64X4OffAddr#indexInt8X64OffAddr#indexInt16X32OffAddr#indexInt32X16OffAddr#indexInt64X8OffAddr#indexWord8X16OffAddr#indexWord16X8OffAddr#indexWord32X4OffAddr#indexWord64X2OffAddr#indexWord8X32OffAddr#indexWord16X16OffAddr#indexWord32X8OffAddr#indexWord64X4OffAddr#indexWord8X64OffAddr#indexWord16X32OffAddr#indexWord32X16OffAddr#indexWord64X8OffAddr#indexFloatX4OffAddr#indexDoubleX2OffAddr#indexFloatX8OffAddr#indexDoubleX4OffAddr#indexFloatX16OffAddr#indexDoubleX8OffAddr#readInt8X16OffAddr#readInt16X8OffAddr#readInt32X4OffAddr#readInt64X2OffAddr#readInt8X32OffAddr#readInt16X16OffAddr#readInt32X8OffAddr#readInt64X4OffAddr#readInt8X64OffAddr#readInt16X32OffAddr#readInt32X16OffAddr#readInt64X8OffAddr#readWord8X16OffAddr#readWord16X8OffAddr#readWord32X4OffAddr#readWord64X2OffAddr#readWord8X32OffAddr#readWord16X16OffAddr#readWord32X8OffAddr#readWord64X4OffAddr#readWord8X64OffAddr#readWord16X32OffAddr#readWord32X16OffAddr#readWord64X8OffAddr#readFloatX4OffAddr#readDoubleX2OffAddr#readFloatX8OffAddr#readDoubleX4OffAddr#readFloatX16OffAddr#readDoubleX8OffAddr#writeInt8X16OffAddr#writeInt16X8OffAddr#writeInt32X4OffAddr#writeInt64X2OffAddr#writeInt8X32OffAddr#writeInt16X16OffAddr#writeInt32X8OffAddr#writeInt64X4OffAddr#writeInt8X64OffAddr#writeInt16X32OffAddr#writeInt32X16OffAddr#writeInt64X8OffAddr#writeWord8X16OffAddr#writeWord16X8OffAddr#writeWord32X4OffAddr#writeWord64X2OffAddr#writeWord8X32OffAddr#writeWord16X16OffAddr#writeWord32X8OffAddr#writeWord64X4OffAddr#writeWord8X64OffAddr#writeWord16X32OffAddr#writeWord32X16OffAddr#writeWord64X8OffAddr#writeFloatX4OffAddr#writeDoubleX2OffAddr#writeFloatX8OffAddr#writeDoubleX4OffAddr#writeFloatX16OffAddr#writeDoubleX8OffAddr#indexInt8ArrayAsInt8X16#indexInt16ArrayAsInt16X8#indexInt32ArrayAsInt32X4#indexInt64ArrayAsInt64X2#indexInt8ArrayAsInt8X32#indexInt16ArrayAsInt16X16#indexInt32ArrayAsInt32X8#indexInt64ArrayAsInt64X4#indexInt8ArrayAsInt8X64#indexInt16ArrayAsInt16X32#indexInt32ArrayAsInt32X16#indexInt64ArrayAsInt64X8#indexWord8ArrayAsWord8X16#indexWord16ArrayAsWord16X8#indexWord32ArrayAsWord32X4#indexWord64ArrayAsWord64X2#indexWord8ArrayAsWord8X32#indexWord16ArrayAsWord16X16#indexWord32ArrayAsWord32X8#indexWord64ArrayAsWord64X4#indexWord8ArrayAsWord8X64#indexWord16ArrayAsWord16X32#indexWord32ArrayAsWord32X16#indexWord64ArrayAsWord64X8#indexFloatArrayAsFloatX4#indexDoubleArrayAsDoubleX2#indexFloatArrayAsFloatX8#indexDoubleArrayAsDoubleX4#indexFloatArrayAsFloatX16#indexDoubleArrayAsDoubleX8#readInt8ArrayAsInt8X16#readInt16ArrayAsInt16X8#readInt32ArrayAsInt32X4#readInt64ArrayAsInt64X2#readInt8ArrayAsInt8X32#readInt16ArrayAsInt16X16#readInt32ArrayAsInt32X8#readInt64ArrayAsInt64X4#readInt8ArrayAsInt8X64#readInt16ArrayAsInt16X32#readInt32ArrayAsInt32X16#readInt64ArrayAsInt64X8#readWord8ArrayAsWord8X16#readWord16ArrayAsWord16X8#readWord32ArrayAsWord32X4#readWord64ArrayAsWord64X2#readWord8ArrayAsWord8X32#readWord16ArrayAsWord16X16#readWord32ArrayAsWord32X8#readWord64ArrayAsWord64X4#readWord8ArrayAsWord8X64#readWord16ArrayAsWord16X32#readWord32ArrayAsWord32X16#readWord64ArrayAsWord64X8#readFloatArrayAsFloatX4#readDoubleArrayAsDoubleX2#readFloatArrayAsFloatX8#readDoubleArrayAsDoubleX4#readFloatArrayAsFloatX16#readDoubleArrayAsDoubleX8#writeInt8ArrayAsInt8X16#writeInt16ArrayAsInt16X8#writeInt32ArrayAsInt32X4#writeInt64ArrayAsInt64X2#writeInt8ArrayAsInt8X32#writeInt16ArrayAsInt16X16#writeInt32ArrayAsInt32X8#writeInt64ArrayAsInt64X4#writeInt8ArrayAsInt8X64#writeInt16ArrayAsInt16X32#writeInt32ArrayAsInt32X16#writeInt64ArrayAsInt64X8#writeWord8ArrayAsWord8X16#writeWord16ArrayAsWord16X8#writeWord32ArrayAsWord32X4#writeWord64ArrayAsWord64X2#writeWord8ArrayAsWord8X32#writeWord16ArrayAsWord16X16#writeWord32ArrayAsWord32X8#writeWord64ArrayAsWord64X4#writeWord8ArrayAsWord8X64#writeWord16ArrayAsWord16X32#writeWord32ArrayAsWord32X16#writeWord64ArrayAsWord64X8#writeFloatArrayAsFloatX4#writeDoubleArrayAsDoubleX2#writeFloatArrayAsFloatX8#writeDoubleArrayAsDoubleX4#writeFloatArrayAsFloatX16#writeDoubleArrayAsDoubleX8#indexInt8OffAddrAsInt8X16#indexInt16OffAddrAsInt16X8#indexInt32OffAddrAsInt32X4#indexInt64OffAddrAsInt64X2#indexInt8OffAddrAsInt8X32#indexInt16OffAddrAsInt16X16#indexInt32OffAddrAsInt32X8#indexInt64OffAddrAsInt64X4#indexInt8OffAddrAsInt8X64#indexInt16OffAddrAsInt16X32#indexInt32OffAddrAsInt32X16#indexInt64OffAddrAsInt64X8#indexWord8OffAddrAsWord8X16#indexWord16OffAddrAsWord16X8#indexWord32OffAddrAsWord32X4#indexWord64OffAddrAsWord64X2#indexWord8OffAddrAsWord8X32#indexWord16OffAddrAsWord16X16#indexWord32OffAddrAsWord32X8#indexWord64OffAddrAsWord64X4#indexWord8OffAddrAsWord8X64#indexWord16OffAddrAsWord16X32#indexWord32OffAddrAsWord32X16#indexWord64OffAddrAsWord64X8#indexFloatOffAddrAsFloatX4#indexDoubleOffAddrAsDoubleX2#indexFloatOffAddrAsFloatX8#indexDoubleOffAddrAsDoubleX4#indexFloatOffAddrAsFloatX16#indexDoubleOffAddrAsDoubleX8#readInt8OffAddrAsInt8X16#readInt16OffAddrAsInt16X8#readInt32OffAddrAsInt32X4#readInt64OffAddrAsInt64X2#readInt8OffAddrAsInt8X32#readInt16OffAddrAsInt16X16#readInt32OffAddrAsInt32X8#readInt64OffAddrAsInt64X4#readInt8OffAddrAsInt8X64#readInt16OffAddrAsInt16X32#readInt32OffAddrAsInt32X16#readInt64OffAddrAsInt64X8#readWord8OffAddrAsWord8X16#readWord16OffAddrAsWord16X8#readWord32OffAddrAsWord32X4#readWord64OffAddrAsWord64X2#readWord8OffAddrAsWord8X32#readWord16OffAddrAsWord16X16#readWord32OffAddrAsWord32X8#readWord64OffAddrAsWord64X4#readWord8OffAddrAsWord8X64#readWord16OffAddrAsWord16X32#readWord32OffAddrAsWord32X16#readWord64OffAddrAsWord64X8#readFloatOffAddrAsFloatX4#readDoubleOffAddrAsDoubleX2#readFloatOffAddrAsFloatX8#readDoubleOffAddrAsDoubleX4#readFloatOffAddrAsFloatX16#readDoubleOffAddrAsDoubleX8#writeInt8OffAddrAsInt8X16#writeInt16OffAddrAsInt16X8#writeInt32OffAddrAsInt32X4#writeInt64OffAddrAsInt64X2#writeInt8OffAddrAsInt8X32#writeInt16OffAddrAsInt16X16#writeInt32OffAddrAsInt32X8#writeInt64OffAddrAsInt64X4#writeInt8OffAddrAsInt8X64#writeInt16OffAddrAsInt16X32#writeInt32OffAddrAsInt32X16#writeInt64OffAddrAsInt64X8#writeWord8OffAddrAsWord8X16#writeWord16OffAddrAsWord16X8#writeWord32OffAddrAsWord32X4#writeWord64OffAddrAsWord64X2#writeWord8OffAddrAsWord8X32#writeWord16OffAddrAsWord16X16#writeWord32OffAddrAsWord32X8#writeWord64OffAddrAsWord64X4#writeWord8OffAddrAsWord8X64#writeWord16OffAddrAsWord16X32#writeWord32OffAddrAsWord32X16#writeWord64OffAddrAsWord64X8#writeFloatOffAddrAsFloatX4#writeDoubleOffAddrAsDoubleX2#writeFloatOffAddrAsFloatX8#writeDoubleOffAddrAsDoubleX4#writeFloatOffAddrAsFloatX16#writeDoubleOffAddrAsDoubleX8#prefetchByteArray3#prefetchMutableByteArray3#prefetchAddr3#prefetchValue3#prefetchByteArray2#prefetchMutableByteArray2#prefetchAddr2#prefetchValue2#prefetchByteArray1#prefetchMutableByteArray1#prefetchAddr1#prefetchValue1#prefetchByteArray0#prefetchMutableByteArray0#prefetchAddr0#prefetchValue0# traceEventsortWiththe maxTupleSizeSpecConstrAnnotation NoSpecConstrForceSpecConstrGHC.IntuncheckedIShiftRA64#uncheckedIShiftL64#GHC.WorduncheckedShiftRL64#uncheckedShiftL64# sameSymbolsameNat someSymbolVal someNatVal symbolVal'natVal' symbolValnatValSomeNat SomeSymbol<= ErrorMessageText:<>::$$:ShowTypeData.Type.Equalityouterinnerapply gcastWithcastWithtranssym:~:Refl TestEquality testEquality Data.Proxy asProxyTypeOfProxyKProxyData.OrdDownData.Type.BoolIfNot GHC.Stack.CCScurrentCallStack iShiftRL# iShiftRA#iShiftL#shiftRL#shiftL#isTrue#GHC.Listfilterzip System.IO Data.Tuplefstsnd otherwise$GHC.Real fromIntegral realToFracGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.Classes/= GHC.FloatFloatingpiexplogsqrtlogBasesincostanasinacosatansinhcoshtanhasinhacoshatanh Fractional fromRationalIntegral toIntegerquotremdivmodquotRemdivModfailGHC.NumNumabssignumOrd>=minmax><compareGHC.ReadRead readsPrecreadListReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowList Applicativepure<*>*><* Data.FoldableFoldablefoldrfoldMapnulllengthfoldlfoldl1foldr1maximumminimumelemData.Traversable TraversabletraversemapM sequenceAsequencememptymappendmconcatBoolFalseTrueInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRatioRationalIO Data.EitherEitherLeftRight Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ Data.RatioapproxRationalreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputChar Text.ReadreadreadsGHC.IO.ExceptionioErrornotElemallanyorand concatMapconcat sequence_mapM_ Data.Monoid<>GHC.IOFilePath userErrorIOErroreither Data.OldListunwordswordsunlineslineslex readParenText.ParserCombinators.ReadPReadSlcmgcdoddeven denominator numerator% showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanlinitlasttail Data.MaybemaybeuncurrycurrysubtractasTypeOfuntilflip.constidStringGHC.ErrerrorWithoutStackTracenotSortedInfer_ RightModule' LeftModule'log1pexpm1log1pexplog1mexprecipGHC.OverloadedLabelsIsLabel fromLabel:% GHC.StaticPtr StaticPtrGHC.Stack.Types CallStackshowSignedFloatintegralEnumFromThenTointegralEnumFromTointegralEnumFromThenintegralEnumFromgcdWord'gcdInt'^^%^^^%^numericEnumFromThenTonumericEnumFromTonumericEnumFromThennumericEnumFrom notANumberinfinity ratioPrec1 ratioPrec overflowErrorratioZeroDenominatorError divZeroErrorreduceboundedEnumFromThenboundedEnumFrommaxIntminIntGHC.ExecutionStackshowStackTrace getStackTraceGHC.ExecutionStack.InternalSrcLoc sourceFile sourceLine sourceColumnLocation objectName functionNamesrcLoc GHC.StackwithFrozenCallStack callStack GHC.ExceptionprettyCallStack prettySrcLoc showFloat showSignedord getCallStack HasCallStack decodeUtf8T decodeUtf8LTData.Typeable.InternalTypeablefoldl'foldfoldr' GHC.GenericsGenericRepfromtoGeneric1Datatype moduleName datatypeName packageName isNewtype ConstructorconName conFixity conIsRecordSelectorselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictnessData.SemigroupsconcatstimesWord8Word16Word32Word64V1U1K1unK1M1unM1:+:L1R1:*::.:Comp1unComp1Rec0D1C1S1URecTypeRepGHC.IO.Handle.TypesHandleGHC.STST GHC.Conc.SyncforkOnWithUnmaskforkIOWithUnmaskforkOnControl.ConcurrentforkOSThreadId$async-2.1.1.1-8yywY4inVGRLJSCg60gBXjControl.Concurrent.Async concurrentlyrace_racelink2linkwaitBothwaitEitherCancel waitEither_ waitEitherwaitEitherCatchCancelwaitEitherCatch waitAnyCancelwaitAnywaitAnyCatchCancel waitAnyCatch cancelWithpoll waitCatchwait withAsyncOnwithAsyncBound withAsyncasyncOn asyncBoundasyncAsync asyncThreadId ConcurrentlyrunConcurrentlyData.Functor.IdentityIdentity runIdentitydiffoption mtimesDefaultstimesIdempotentstimesIdempotentMonoid stimesMonoidcycle1 WrappedMonoidOption getOptionData.List.NonEmptynonEmptyNonEmpty:| Data.VoidvacuousabsurdVoid System.Exitdie exitSuccess exitFailureexitWithSystem.EnvironmentgetArgsData.BifunctorControl.Monad.IO.ClassMonadIOliftIOthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmask forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChanfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.ApplicativeoptionalZipList getZipListwithFileGHC.IO.Handle.FDopenFilestderrstdin GHC.Conc.IO threadDelayControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarControl.ExceptionallowInterruptcatchesControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodErrorNonTerminationNestedAtomically readMaybe readEitheralwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomicallymkWeakThreadIdthreadCapability myThreadId killThreadsetNumCapabilitiesgetNumCapabilitiesforkIOSTMstdoutasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementExitCode ExitSuccess ExitFailureData.Functor.ConstConstgetConstForeign.StorableStorablefind minimumBy maximumBymsumasum sequenceA_forM_for_ traverse_foldlMfoldrMDualgetDualEndoappEndoAllgetAllgetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAltFixityPrefixInfixFixityIPrefixIInfixI AssociativityLeftAssociativeRightAssociativeNotAssociativeMetaMetaDataMetaConsMetaSelevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptible MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible IOException Exception toException fromExceptiondisplayException ErrorCallErrorCallWithLocationArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominator Data.TypeableeqTcasttypeRep byteSwap64 byteSwap32 byteSwap16 GHC.IO.IOModeIOModeReadMode WriteMode AppendMode ReadWriteModeData.Type.Coercionrepr coerceWithCoercionisRightisLeftpartitionEithersrightsleftsunfoldrsortBysort permutations subsequencestailsinitsgroupgenericReplicategenericSplitAt genericDrop genericTake genericLength transpose intercalate intersperse isPrefixOf comparing Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftLshiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.FunctiononfixrunSTfixSTGHC.CharchrmapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustswapGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarliftA3liftA2liftA<**> Alternativeempty<|>somemany SomeExceptionbytestring-0.10.8.1Data.ByteString.Internal ByteStringcontainers-0.5.7.1Data.IntMap.BaseIntMapData.IntSet.BaseIntSet Data.Map.BaseMap Data.SequenceSeq Data.Set.BaseSetdeepseq-1.4.2.0Control.DeepSeqforce$!!deepseqNFDatarnf'hashable-1.2.6.1-BImGDn7vOUG6aLx2AeaDaoData.Hashable.Class hashUsingHashable hashWithSalthashtransformers-0.5.2.0Control.Monad.Trans.Classlift mtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6Control.Monad.Error.Class MonadError throwError catchErrorControl.Monad.Reader.Classasks MonadReaderasklocalreaderControl.Monad.State.Classgetsmodify MonadStategetputstateControl.Monad.Trans.ExceptExceptTExcept runExcept runExceptTControl.Monad.Trans.ReaderReaderT runReaderTReader runReaderControl.Monad.Trans.State.LazyStateT runStateTStaterunState evalState execState withState evalStateT execStateT"safe-0.3.15-2Yd45VWFfdcKqKyispOifYSafeatDefatMay foldl1May foldr1MaylastDefheadDeflastMayheadMayinitSafeinitDefinitMaytailSafetailDeftailMay"stm-2.4.4.1-JQn4hNPyYjP5m9AcbI88VeControl.Monad.STMcheck#text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqhData.Text.Lazy fromStricttoStrict Data.Text.IOData.Text.Encoding encodeUtf8 decodeUtf8' decodeUtf8decodeUtf8WithData.Text.InternalData.Text.Encoding.Errorreplaceignore lenientDecode strictDecodeOnError OnDecodeErrorUnicodeException