#~!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq r s t u v w x y z { | } ~               !!!!!" #!$"$#$$%%%&%'%(%)&*'+','-(.(/(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/b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u1v1w1x1y1z1{1|1}2~2222222333333333333444444445555555555666666666667788889::::::;;;;;;;;;;;;;;<<<<=======>>>>>>>>>>>>>>>>>>>>>>>>?????@@@@AAAAAAAAAAAAAAAAAAAA A A A A AAAAAAAAABBBCCDDDDD DJNone%/14567;=>?@AHSUVX_kprotonThe  profunctor characterizes a Prism.None%/14567;=>?@AHSUVX_k  None%/14567;=>?@ACHSUVX_kNone%/145678;=>?@ACHMSUVX_k None%,/14567;=>?@AHSUVX_k(B*protonNSplit the input between the two argument profunctors and combine their output.+protonHFanout: send the input to both argument arrows and combine their output.,proton$Precomposition with a pure function.-proton%Postcomposition with a pure function..proton<Precomposition with a pure function (right-to-left variant)./proton=Postcomposition with a pure function (right-to-left variant).#$%&'()*+,-./01)*+,-./01'(%&#$None%/14567;=>?@AHMSUVX_k)YZ[YZ[None%/145678;=>?@ACHMSUVX_k*cdefgfgcde None%*/14567;=>?@AHPSUVX_k,, qrstuvwxyz{|} stuqrvwxyz{|} None%/14567;=>?@AHSUVX_k- None%/14567;=>?@AHSUVX_k. None%/14567;=>?@AHSUVX_k/ None%/14567;=>?@AHSUVX_k0None%/14567;=>?@AHSUVX_k1None%/14567;=>?@AHSUVX_k3ENone%/14567;=>?@AHSUVX_k4&None%&'/14567;=>?@AHSUVX_k54None%/145678;=>?@ACHMSUVX_k6bNone%/14567;=>?@ACHSUVX_k7None%/14567;=>?@ACHSUVX_k8None%/14567;=>?@AHSUVX_k9None%/14567;=>?@AHSUVX_k:None%,/14567;=>?@AHSTUVX_kq<None%-./14567;=>?@ACHSUVX_k=&None%/14567;=>?@AHSUVX_k>\None%/14567;=>?@AHSUVX_k?jNone%/14567;=>?@AHSUVX_k@xNone%/14567;=>?@ACHSUVX_kANone%/14567;=>?@AHSUVX_kBNone%/14567;=>?@AHSUVX_kCNone%/14567;=>?@AHSUVX_kDNone%/14567;=>?@AHSUVX_kE None%/14567;=>?@ACHSUVX_kG$!None%/14567;=>?@AHSUVX_kHbFNone%/14567;=>?@AHSUVX_kIpGNone%/14567;=>?@AHSUVX_kJn"None%/14567;=>?@AHSUVX_kKlHNone%/14567;=>?@AHSUVX_kLz!"#$%&'(#None%/14567;=>?@AHPSUVX_kM$None%/14567;=>?@AHSUVX_kN!"#"!#%None%/14567;=>?@AHSUVX_kO$%&'(%$&'(&None%/14567;=>?@AHSUVX_kP))'None%/14567;=>?@AHSUVX_kQ*+*+(None%/14567;=>?@AHSUVX_kR -./01234567 .-/01234567)None%/14567;=>?@AHSUVX_kTU 89:;<=>?@ 98:;<=>?@?4@4*None%/14567;=>?@AHSUVX_kUABCDEFGHHGFEDCBA+None%/14567;=>?@AHSUVX_kVII,None%/14567;=>?@AHSUVX_kXJJ-None%/14567;=>?@AHSUVX_kY KLMNOPQNMKLOPQ.None%/14567;=>?@ACHSUVX_kZITUVWXTUVWX/None%/14567;=>?@AHSUVX_k[o YZ[\]^_`a \[YZ]^_`a0None%/14567;=>?@AHPSUVX_k\bcdefghijklmnopqrsdefghijklmnobcpqrs1None%/14567;=>?@AHSUVX_kq^Suvwxyz{|uvwxyz{||82None%-./14567;=>?@AHSUVX_hkq_}~}~83None%/14567;=>?@AHSUVX_ka  4None%,/14567;=>?@AHPSUVX_kbs5None%/14567;=>?@AHSTUVX_kqc  6None%/14567;=>?@AHPSUVX_kqe  47None%/14567;=>?@AHSUVX_kfINone%/14567;=>?@AHSUVX_kg8None%/14567;=>?@AHSUVX_kh9None%/14567;=>?@AHSUVX_ki:None%/14567;=>?@AHSUVX_kj;None%/14567;=>?@AHSUVX_kk  <None%/14567;=>?@AHSUVX_km4=None%/14567;=>?@AHSUVX_knR  44None%/14567;=>?@AHSUVX_ko!"#$%&'()-./0123456789:;<=>?@ABCDEFGHIKLMNOPQTUVWXYZ[\]^_`auvwxyz{|}~Ә!"#$%&'()-./0123456789:;<=>?@ABCDEFGHIKLMNOPQTUVWXYZ[\]^_`auvwxyz{|}~>None%/14567;=>?@AHSUVX_ku?None%/14567;=>?@AHPSUVX_kw2@None%/14567;=>?@AHPSUVX_kx`JNone%/14567;=>?@AHSUVX_ky~ANone%/14567;=>?@AHSUVX_kz|          4BNone%/14567;=>?@AHSUVX_k|}CNone%/14567;=>?@AHSUVX_k}DNone%/14567;=>?@AHSUVX_k~  )KLMNNOPQRRSTUVWXYZ[\]^_`aabcdefghijklmnopqrstuvwxyz{|}~bd       ]      !"##$%&'()*+,-./001234556789:;<==>?@ABCDEFGHI J K L M N O P Q!R!R!S!T!U"V#W$X$Y$Z%[%\%]%^%_&`'a'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*{*|*}*~+,---------...../////////00000000000000000001111111122222222333333333333444444445555555555p666666666667788889::::::;;;;;;;;;;;;;;<<<<=======>>>>>>>>>>>>> > > > > >>>>>>>?????@@@@AAAAAAAAAAAAA A AA A!AAA"A#A$A%A&A'A(A)AA*A+AAAB,B-B.C/C0D1D2D3D4D5D6H7H8H9H:H;H<H=H>?#proton-0.0.4-CiukIiv4KtNJ8JaLIxxlExProton Data.Market Data.PairData.Profunctor.AbsorbentData.Profunctor.AnnotatedData.Profunctor.ArrowControl.Arrow.ProfunctorData.Profunctor.CoindexedData.Profunctor.ContData.Profunctor.DependingData.Profunctor.DistributingData.Profunctor.ExpandingData.Profunctor.ExpansiveData.Profunctor.ExtractionData.Profunctor.ExtrasData.Profunctor.FoldMData.Profunctor.IndexedData.Profunctor.JoinableData.Profunctor.MStrongData.Profunctor.DoubleStarData.Profunctor.NonLinearData.Profunctor.PhantomData.Profunctor.Reader.ClassData.Profunctor.ReaderData.Profunctor.ReflectorData.Profunctor.RememberData.Profunctor.State.ClassData.Profunctor.StateData.Profunctor.TracedData.Profunctor.UtilsData.Profunctor.WitheringData.Profunctor.Writer.ClassData.Profunctor.Writer Examples.DSPProton.Internal.OrphansProton.Kaleidoscope Proton.LensProton.Achromatic Proton.Miso Proton.Prisms Proton.Setter Proton.TypesProton.Telescope Proton.Par Proton.LoopProton.Indexed Proton.GrateProton.PreGrate Proton.Getter Proton.Review Proton.Iso Proton.Glass Proton.FoldProton.Traversal Proton.GridProton.FeedbackProton.DiffractionProton.CoindexedProton.CoalgebraicProton.AnnotatedProton.AlgebraicExamples.Scrap Examples.LoopExamples.LayersExamples.FlowersExamples.DiffractExamples.Algebraic Proton.WitherData.Profunctor.Fold Examples.AltExamples.Coalgebraic Paths_proton Proton.PlatedExamples.Glassbase Data.Function&Market$fChoiceMarket$fProfunctorMarket$fFunctorMarketPairpairedliftPair$fRepresentablePair$fDistributivePair$fApplicativePair $fShowPair$fEqPair $fOrdPair $fFunctorPair Absorbentabsorb$fAbsorbentmForget$fAbsorbentmStar$fAbsorbentIdentity-> Annotated runCoindexed Annotatable coindexed$fAnnotatableeTaggedTagged$fAnnotatableeCostarCostar$fAnnotatableeStarStar$fAnnotatablee->->$fAnnotatableeForgetForget$fAnnotatableipAnnotated$fStrongAnnotated$fProfunctorAnnotatedProfunctorApplyappProfunctorPlus<+>ProfunctorZerozeroProfunctorarr***&&&^>>>>^<<^^<<+++|||$fProfunctorZeroBiff$fProfunctorZeroRift$fProfunctorZeroProduct$fProfunctorZeroCodensity$fProfunctorZeroWrappedArrow$fProfunctorZeroJoker$fProfunctorZeroYoneda$fProfunctorZeroCofreeMapping $fProfunctorZeroCofreeTraversing$fProfunctorZeroTambaraSum$fProfunctorZeroClosure$fProfunctorZeroTambara$fProfunctorZeroTannen$fProfunctorZeroCayley$fProfunctorZeroForget$fProfunctorZeroKleisli$fProfunctorZeroStar$fProfunctorPlusBiff$fProfunctorPlusRift$fProfunctorPlusProduct$fProfunctorPlusCodensity$fProfunctorPlusWrappedArrow$fProfunctorPlusJoker$fProfunctorPlusCofreeMapping $fProfunctorPlusCofreeTraversing$fProfunctorPlusTambaraSum$fProfunctorPlusClosure$fProfunctorPlusTambara$fProfunctorPlusTannen$fProfunctorPlusCayley$fProfunctorPlusForget$fProfunctorPlusKleisli$fProfunctorPlusStar$fProfunctorApplyJoker$fProfunctorApplyWrappedArrow$fProfunctorApplyForget$fProfunctorApplyKleisli$fProfunctorApply->$fProfunctorApplyStarWrappedProfunctorunwrapProfunctor$fArrowLoopWrappedProfunctor$fArrowApplyWrappedProfunctor$fArrowChoiceWrappedProfunctor$fArrowPlusWrappedProfunctor$fArrowZeroWrappedProfunctor$fArrowWrappedProfunctor$fCategoryWrappedProfunctor Coindexed Coindexable$fCoindexableVoidTaggedTagged$fCoindexableVoidCostarCostar$fCoindexableeStarStar$fCoindexableVoidStarStar$fCoindexableVoid->->$fCoindexableeForgetForget$fCoindexableipCoindexed$fChoiceCoindexed$fProfunctorCoindexedProfunctorContcallCCContPrunContP evalContPresetshift neutralizetestPtestP'' splitPredunify $fStrongContP $fChoiceContP$fProfunctorApplyContP$fProfunctorContP$fCategoryTYPEContP$fProfunctorContContP$fFunctorContP Dependingdepend$fDependingStar distribute' Expandingexpand Expansive$fExpansiveCayley$fExpansiveTagged$fExpansiveForget$fExpansiveStar Extraction extractionsacttuhomelooper coiterate$fExtractionStar$fExtraction->$fExtractionForgetDubjoin'join''$fProfunctorDubFoldM$fProfunctorFoldM UnIndexedIndexed Indexableindexed$fIndexableiTaggedTagged$fIndexablei->->$fIndexableiCostarCostar$fIndexableiStarStar$fIndexableiForgetForget$fIndexableiIndexedp$fStrongIndexed$fProfunctorIndexed$fIndexableiUnIndexedp$fProfunctorUnIndexed$fClosedUnIndexed$fStrongUnIndexed$fChoiceUnIndexed$fTraversingUnIndexed$fCochoiceUnIndexed$fCostrongUnIndexedJoinable$fJoinableForgetm$fJoinableStarmMStrongmfirst'msecond'$fMStrongCostar$fMStrongTagged $fMStrongStar $fMStrong->$fMStrongForget DoubleStar$fChoiceDoubleStar$fMStrongDoubleStar$fProfunctorDoubleStar NonLineardup $fNonLinearpPhantomphantom$fPhantomCayley $fPhantomStar$fPhantomForgetProfunctorReader'ask'local'ProfunctorReaderaskreaderlocalReaderT$fProfunctorReader'rReaderT$fProfunctorReaderrReaderT$fCategoryTYPEReaderT$fProfunctorReaderT Reflector reflected$fReflectorStar$fReflectorTagged$fReflectorCostar $fReflector->Remember$fCostrongRemember$fClosedRemember$fChoiceRemember$fProfunctorRemember$fFunctorRememberProfunctorState'get'put'ProfunctorStategetputstateStateT$fProfunctorState'sStateT$fProfunctorStatesStateT$fCategoryTYPEStateT$fProfunctorStateTTraced extractTraced$fChoiceTraced$fStrongTraced$fProfunctorTracedBranchbranchchooseAltConst Witheringcull$fWitheringStar$fAlternativeAltConst$fMonoidAltConst$fSemigroupAltConst$fApplicativeAltConst$fWitheringForget $fEqAltConst $fOrdAltConst$fShowAltConst$fFunctorAltConstProfunctorWriter'tell'listen'pass'ProfunctorWritertelllistenpassWriterT$fProfunctorWriter'wWriterT$fCategoryTYPEWriterT$fProfunctorWriterTblur$fStrongCostar Kaleidoscope' Kaleidoscope pointWiseLens'Lenslens_1_2achromMiso$fProfunctorMisoPrism'Prismprismprism'_Just_Nothing_Left_Right_Show withPrismmatchingSetter'Settersetoversetssettermapped%~.~CoindexedOptic'CoindexedOptic IndexedOptic' IndexedOpticOptical'OpticalOptic'OpticcatparrallelisingCoPrismLoop'LooploopiterMtester$fCochoiceCoPrism$fProfunctorCoPrismindexing itraversed itoListOfioverisetZippingGrate'Grategrate distributedboth zipWithOf zipFWithOf IntersectionalignMaybeWithDefaultaligneralignMapalignMapWithDefault alignListalignListWithDefaultalignMapMonoidalignListMonoidxyll' fullAlignMap fullAlignListzipBy$fSemigroupIntersectionGettertoto'to''viewviewslike^.Reviewretaggedreview#reviewsreuntounExchangeIso'IsoisofromwithIsoundermapping involuted$fProfunctorExchange$fFunctorExchangeGlassedGlass'Glassglassedglass glassListextendOf traversed'FoldfoldingfoldedfoldOf foldMapOftoListOfpreview^?^.. Traversal' Traversal traversedfiltered traverseOf%%~beside unsafePartsOfpartsOftakingdroppingGrid'Grid Feedback'FeedbackfeedbackfibdiffractvViewvPrism_Just' coindexingvOvervFirstMChoicemleft'mright' Coalgebraic' Coalgebraic swapEithercoprism coalgPrism_Right'$fMChoiceCostar$fMChoiceForget $fMChoiceStar $fMChoice->AlgebraicLens' AlgebraicLens algebraiclistLensaltLens?.>-Flowerspecies measurements MeasurementsgetMeasurementsSpeciesSetosa Versicolor VirginicameasurementDistanceclassify aggregatemeasureNearestflower1flower2flowersmean aggOnIndextest $fShowSpecies$fShowMeasurements $fShowFlowerthingcollatz factorialaccumwhile imgLayersforwardback lookup'er flowerSpeciesflowerMeasurements versicolorsetosa>-- aggregateWithavgMeasurement applyWeight partitionedonFirst selectingOnindexOfallMeasurementsmeasurementMapsplitsplitterexamplepad padLengthWither'WitherguardingguardedfilterOf witherPrismversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName