!ZxP9      !"#$%&'()*+,-./0123456789:;<=>?@ABC D E F G H I J K L M N O P Q R S TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz { | } ~        !"#$%&'()*+,-./012345678Optics for working with s.None&'/48=>?@ACHPSUVX_ki9 optics-extraConstruct a hash map from an 9.%The construction is left-biased (see :T), i.e. the first occurrences of keys in the fold or traversal order are preferred."toMapOf ifolded ["hello", "world"]"fromList [(0,"hello"),(1,"world")]8toMapOf (folded % ifolded) [('a',"alpha"),('b', "beta")]%fromList [('a',"alpha"),('b',"beta")]KtoMapOf (folded % ifolded) [('a', "hello"), ('b', "world"), ('a', "dummy")]&fromList [('a',"hello"),('b',"world")]99Optics for working with ;s.None&'/48=>?@ACHPSUVX_k : optics-extraThis <% can be used to change the type of a ;( by mapping the elements to new values. Sadly, you can't create a valid  for a ;., but you can manipulate it by reading using = and reindexing it via :.(over setmapped (+1) (fromList [1,2,3,4])fromList [2,3,4,5]; optics-extra Construct a ; from a fold.setOf folded ["hello","world"]fromList ["hello","world"]7setOf (folded % _2) [("hello",1),("world",2),("!!!",3)]fromList [1,2,3]:;:;Optics for working with lazy >.None%&'/48=>?@ACHPSUVX_gk6 = optics-extra This isomorphism can be used to ? (or @) lazy >."hello" ^. packed -- :: Text"hello" ? x "a x  = @ x "a x  A = = "a A > > optics-extra This isomorphism can be used to @ (or ?) lazy >.*Text.pack "hello" ^. unpacked -- :: String"hello" ? x "a x  A > @ x "a x  = This BM is provided for notational convenience rather than out of great need, since > "a A = ? optics-extraThis is an alias for >+ that makes it clearer how to use it with (). ? = A = _Text # "hello" -- :: Text"hello"@ optics-extraConvert between lazy > and C . D x "a x  @ E x "a x  A @ A optics-extra(Traverse the individual characters in a >.'anyOf text (=='c') $ Text.pack "chello"True A = > % F @When the type is unambiguous, you can also use the more general  . A "a   $Note that when just using this as a <, G   can be more efficient.B optics-extraEncode/Decode a lazy > to/from lazy H , via UTF-8.yNote: This function does not decode lazily, as it must consume the entire input before deciding whether or not it fails.(ByteString.unpack (utf8 # Text.pack "&") [226,152,131]I optics-extraInternal implementation of >.J optics-extraInternal implementation of A.K optics-extraIndexed fold for J.L optics-extraIndexed setter for J.<=>?@AB=>?A@B< Optics for working with strict M.None%&'/48=>?@ACHPSUVX_gkK& D optics-extra This isomorphism can be used to N (or O ) strict M."hello" ^. packed -- :: Text"hello" N x "a x  D O x "a x  A D D "a A E D "a P N O E optics-extra This isomorphism can be used to O (or N ) strict M.,Strict.pack "hello" ^. unpacked -- :: String"hello"This BM is provided for notational convenience rather than out of great need, since E "a A D N x "a x  A E O x "a x  D E "a P O N F optics-extraThis is an alias for E0 that makes it more obvious how to use it with  > _Text # "hello" -- :: Text"hello"G optics-extraConvert between strict M and C . Q x "a x  G R (E x) "a x  A G H optics-extra-Traverse the individual characters in strict M.(anyOf text (=='o') (Strict.pack "hello")True@When the type is unambiguous, you can also use the more general  . H "a E % F H "a   $Note that when just using this as a <, G !  can be more efficient.I optics-extraEncode/Decode a strict M to/from strict S , via UTF-8.utf8 # Strict.pack "&""\226\152\131"T optics-extraInternal implementation of E.U optics-extraInternal implementation of H.V optics-extraIndexed fold for U.W optics-extraIndexed setter for U.CDEFGHIDEGHIFC 'Optics for working with strict or lazy N.None%&'/48=>?@ACHPSUVX_gkWJ optics-extraTraversals for strict or lazy NK optics-extra This isomorphism can be used to N (or O) strict or lazy N. N x "a x  K O x "a x  A K K "a A O L optics-extraConvert between strict or lazy N and a C. Q x "a x  L M optics-extra5Traverse the individual characters in strict or lazy N. M = O . F O optics-extra This isomorphism can be used to O (or N) both strict or lazy N. O x "a x  O N x "a x  A O This BM is provided for notational convenience rather than out of great need, since O "a A K P optics-extraThis is an alias for O+ that makes it clearer how to use it with (). P = A K _Text # "hello" :: Strict.Text"hello"JMLKNOPJMLKOPN Optics for " and #$-like containers.None&'/48=>?@ACHPSUVX_kY   :Optics to access the left or right element of a container.None&'/48=>?@ACHPSUVX_gk[ !"#$&%('&%"! #('$A X for a type that may be *.None&'/48=>?@ACHPSUVX_gk])+*+*) None&'/48=>?@ACHPSUVX_kuz optics-extraTraverse a strict Sb in a relatively balanced fashion, as a balanced tree with biased runs of elements at the leaves.{ optics-extraTraverse a strict S in a relatively balanced fashion, as a balanced tree with biased runs of elements at the leaves, pretending the bytes are chars.| optics-extraAn Y# of the individual bytes in a lazy H.} optics-extraAn Y# of the individual bytes in a lazy H! pretending the bytes are chars.Z optics-extraInternal version of z.[ optics-extraIndexed setter for Z.\ optics-extraIndexed fold for Z.] optics-extraInternal version of {.^ optics-extraIndexed setter for ]._ optics-extraIndexed fold for ].` optics-extraInternal version of |.a optics-extraIndexed setter for `.b optics-extraIndexed fold for `.c optics-extraInternal version of }.d optics-extraIndexed setter for c.e optics-extraIndexed fold for c.f optics-extraConversion between g and h. Should compile to a no-op.i optics-extraUnsafe conversion between h and g<. This is a no-op and silently truncates to 8 bits Chars > '\255'=. It is provided as convenience for ByteString construction.j optics-extra8A way of creating ByteStrings outside the IO monad. The Int: argument gives the final size of the ByteString. Unlike  createAndTrimV the ByteString is not reallocated if the final size is less than the estimated size.k optics-extraCreate ByteString of size l and use action f to fill it's contents.z{|}z{|} None%&'/48=>?@ACHPSUVX_gk optics-extra%& (or %') a list of bytes into a S  "a A  %& x "a x l  %' x "a x l A  $[104,101,108,108,111] ^. packedBytes"hello" optics-extra%' (or %&) a S into a list of bytes.  "a A  %' x "a x l  %& x "a x l A  &"hello" ^. packedChars % unpackedBytes[104,101,108,108,111] optics-extraTraverse each g in a S.This m walks the S in a tree-like fashion enable zippers to seek to locations in logarithmic time and accelerating many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  "a  n F *anyOf bytes (== 0x80) (Char8.pack "hello")False$Note that when just using this as a <, G %  can be more efficient. optics-extra(& (or (') a list of characters into a SWhen writing back to the S it is assumed that every h lies between '\x00' and '\xff'.  "a A  (& x "a x l  (' x "a x l A  sfoldOf (packedChars % each % to (\w -> let x = showHex w "" in if Prelude.length x == 1 then '0':x else x)) "hello" "68656c6c6f" optics-extra(' (or (&) a list of characters into a SWhen writing back to the S it is assumed that every h lies between '\x00' and '\xff'.  "a A  (' x "a x l  (& x "a x l A  4[104,101,108,108,111] ^. packedBytes % unpackedChars"hello" optics-extra#Traverse the individual bytes in a S as characters.When writing back to the S it is assumed that every h lies between '\x00' and '\xff'.This m walks the S in a tree-like fashion enable zippers to seek to locations in logarithmic time and accelerating many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  =  n F )anyOf chars (== 'h') $ Char8.pack "hello"True~~ None%&'/48=>?@ACHPSUVX_gk2 optics-extra)& (or )') a list of bytes into a H.  "a A  %& x "a x l  %' x "a x l A  :[104,101,108,108,111] ^. packedBytes == Char8.pack "hello"True optics-extra)' (or )&) a H into a list of bytes.  "a A  %' x "a x l  %& x "a x l A  &"hello" ^. packedChars % unpackedBytes[104,101,108,108,111] optics-extra#Traverse the individual bytes in a H.This m walks each strict H chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  "a  n F *anyOf bytes (== 0x80) (Char8.pack "hello")False$Note that when just using this as a <, G )  can be more efficient. optics-extra*& (or *') a list of characters into a H.When writing back to the H it is assumed that every h lies between '\x00' and '\xff'.  "a A  (& x "a x l  (' x "a x l A  sfoldOf (packedChars % each % to (\w -> let x = showHex w "" in if Prelude.length x == 1 then '0':x else x)) "hello" "68656c6c6f" optics-extra*' (or *&) a list of characters into a HWhen writing back to the H it is assumed that every h lies between '\x00' and '\xff'.  "a A  (' x "a x l  (& x "a x l A  4[104,101,108,108,111] ^. packedBytes % unpackedChars"hello" optics-extra#Traverse the individual bytes in a H as characters.When writing back to the H it is assumed that every h lies between '\x00' and '\xff'.This m walks each strict H chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to:  =  n F )anyOf chars (== 'h') $ Char8.pack "hello"TrueNone%&'/48=>?@ACHPSUVX_gk optics-extraTraversals for ByteStrings. optics-extra%& (or %')) a list of bytes into a strict or lazy S. %& x "a x l  %' x "a x l A   "a A   optics-extra(& (or ('.) a list of characters into a strict or lazy S.When writing back to the S it is assumed that every h lies between '\x00' and '\xff'. (& x "a x l  (' x "a x l A   "a A   optics-extraTraverse each g in a strict or lazy SThis m walks each strict S chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  "a  o F p  (q 0x80) :: S -> r  optics-extra2Traverse the individual bytes in a strict or lazy S as characters.When writing back to the S it is assumed that every h lies between '\x00' and '\xff'.This m walks each strict S chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  "a  o F p  (q 'c') :: S -> r  optics-extra%' (or %&) a S into a list of bytes.  "a A  %' x "a x l  %& x "a x l A   :: s %+ [g]  :: s )+ [g]  optics-extra(' (or (&0) a list of characters into a strict (or lazy) SWhen writing back to the S it is assumed that every h lies between '\x00' and '\xff'.  "a A  (' x "a x l  (& x "a x l A   :: s %+ t  :: s )+ t Safe&'/48=>?@ACHPSUVX_kΠ optics-extrahReturn the the subset of given ordinals within a given bound and in order of the first occurrence seen.Bound:  0 <= x < lordinalNub 3 [-1,2,1,4,2,3][2,1] optics-extrastrict upper bound  optics-extraordinals  optics-extra)unique, in-bound ordinals, in order seen None&'/48=>?@ACHPSUVX_kX  optics-extra sliced i n provides a u that edits the n elements starting at index i from a u.This is only a valid u3 if you do not change the length of the resulting v.RAttempting to return a longer or shorter vector will result in violations of the u laws.DVector.fromList [1..10] ^. sliced 2 5 == Vector.fromList [3,4,5,6,7]True^(Vector.fromList [1..10] & sliced 2 5 % mapped .~ 0) == Vector.fromList [1,2,0,0,0,0,0,8,9,10]True optics-extra Similar to w, but returning a v.G(toVectorOf each (8,15) :: Vector.Vector Int) == Vector.fromList [8,15]True optics-extraConvert a list to a v (or back.)C([1,2,3] ^. vector :: Vector.Vector Int) == Vector.fromList [1,2,3]True%Vector.fromList [0,8,15] ^. re vector[0,8,15] optics-extra Convert a v to a finite x (or back.) optics-extra Convert a v to a finite x from right to left (or back.) optics-extra Convert a vH back and forth to an initializer that when run produces a copy of the v. optics-extra Convert a v3 to a version that doesn't retain any extra memory. optics-extraThis m= will ignore any duplicates in the supplied list of indices.>toListOf (ordinals [1,3,2,5,9,10]) $ Vector.fromList [2,4..40][4,8,6,12,20,22] optics-extraLike $ but polymorphic in the vector type. optics-extra.Indexed vector traversal for a generic vector. optics-extra>Different vector implementations are isomorphic to each other. optics-extrai starting index optics-extran length None&'/48=>?@ACHPSUVX_k+ optics-extra sliced i n provides a u that edits the n elements starting at index i from a u.This is only a valid u3 if you do not change the length of the resulting y.RAttempting to return a longer or shorter vector will result in violations of the u laws.DVector.fromList [1..10] ^. sliced 2 5 == Vector.fromList [3,4,5,6,7]True^(Vector.fromList [1..10] & sliced 2 5 % mapped .~ 0) == Vector.fromList [1,2,0,0,0,0,0,8,9,10]True optics-extra Similar to w, but returning a y.0toVectorOf each (8,15) == Vector.fromList [8,15]True optics-extraConvert a list to a y (or back),[1,2,3] ^. vector == Vector.fromList [1,2,3]True[1,2,3] ^. vector % re vector[1,2,3]JVector.fromList [0,8,15] ^. re vector % vector == Vector.fromList [0,8,15]True optics-extra Convert a y4 to a version that doesn't retain any extra memory. optics-extraThis m= will ignore any duplicates in the supplied list of indices.>toListOf (ordinals [1,3,2,5,9,10]) $ Vector.fromList [2,4..40][4,8,6,12,20,22] optics-extrai starting index optics-extran lengthNone&'/48=>?@ACHPSUVX_k optics-extra,Wrap a monadic effect. Used when magnifying ,-. optics-extraWrap a monadic effect. optics-extraMake a z out of { for error handling. optics-extraMake a z out of | for error handling. optics-extraUsed by . to / into ,-. optics-extraUsed by . to / into 01.Definitions of indexed optics.None&'/48=>?@ACHPSUVX_kOs }~Y9,-./105432768 8105432/.-76,An Y for  2 element of a (potentially monomorphic) container.None&'/48=>?@ACHPSUVX_k .  optics-extra   :: Y  H H g g optics-extra   :: Y  S S g g optics-extra   :: Y  > > h h optics-extra   :: Y  M M h h optics-extra   :: ( a,  b) => Y  ( a) ( b) a b optics-extra   :: ( a,  b) => Y  ( a) ( b) a b optics-extra   :: ( a,  b) => Y Int (23 a) (23 b) a b optics-extra   :: Y Int (y a) (y b) a b optics-extra   :: Y k ( k a) ( k b) a b  < utilities for working with .None&'/48=>?@ACHPSUVX_k optics-extraMap over the target(s) of an  in our monadic state.BexecState (do modifying _1 (*10); modifying _2 $ stimes 5) (6,"o") (60,"ooooo")/execState (modifying each $ stimes 2) ("a","b") ("aa","bb") optics-extra Version of B that is strict in both optic application and state modification.Gflip evalState ('a','b') $ modifying _1 (errorWithoutStackTrace "oops")()Hflip evalState ('a','b') $ modifying' _1 (errorWithoutStackTrace "oops")*** Exception: oops optics-extraReplace the target(s) of an A in our monadic state with a new value, irrespective of the old.5execState (do assign _1 'c'; assign _2 'd') ('a','b') ('c','d')%execState (assign each 'c') ('a','b') ('c','c') optics-extra Version of B that is strict in both optic application and state modification.Dflip evalState ('a','b') $ assign _1 (errorWithoutStackTrace "oops")()Eflip evalState ('a','b') $ assign' _1 (errorWithoutStackTrace "oops")*** Exception: oops optics-extraUse the target of a u, B, or  in the current state.evalState (use _1) ('a','b')'a'$evalState (use _2) ("hello","world")"world" optics-extraUse the target of a AffineTraveral or  in the current state.0evalState (preuse $ _1 % _Right) (Right 'a','b')Just 'a'None&'/48=>?@ACHPSUVX_k5 optics-extra*Generalized view (even more powerful than view from the lens library).)View the value(s) pointed to by an optic.5The type of the result depends on the optic. You get:Exactly one result a with B, u,  and .At most one result Maybe a with X,  and . Monoidal summary of all results  Monoid a => a with m and .mWhen in doubt, use specific, flavour restricted versions. This function is mostly useful for things such as 4. optics-extraUse the target of a u, B, or . in the current state, or use a summary of a  or m! that points to a monoidal value.evalState (guse _1) ('a','b')'a'%evalState (guse _2) ("hello","world")"world" optics-extraUse the target of a u, B or . in the current state, or use a summary of a  or m! that points to a monoidal value.-evalState (guses _1 length) ("hello","world")5 optics-extraThis is a generalized form of D that only extracts the portion of the log that is focused on by a  . If given a  or a mU then a monoidal summary of the parts of the log that are visited will be returned. optics-extraThis is a generalized form of D that only extracts the portion of the log that is focused on by a  . If given a  or a mU then a monoidal summary of the parts of the log that are visited will be returned.None&'/48=>?@ACHPSUVX_k8N optics-extraModify the target of an % returning extra information of type r.+Infix operators for state-modifying optics.None&'/48=>?@ACHPSUVX_kN  optics-extraReplace the target(s) of an A in our monadic state with a new value, irrespective of the old.This is an infix version of . optics-extraReplace the target(s) of an  in our monadic state with ' a new value, irrespective of the old. optics-extraMap over the target(s) of an  in our monadic state.This is an infix version of . optics-extraModify the target of an X in the current state returning some extra information of type depending on the optic (r, Maybe r or monoidal summary). optics-extraModify the target of a  into your Monad';s state by a user supplied function and return the result. optics-extraSet  a value with pass-through.LThis is useful for chaining assignment without round-tripping through your  stack. optics-extraSet with pass-through.LThis is useful for chaining assignment without round-tripping through your  stack.  optics-extraModify the target of a  into your Monad'4s state by a user supplied function and return the old value that was replaced.  optics-extraReplace the target of a  into your Monad's state with & a user supplied value and return the old value that was replaced.  optics-extraReplace the target of a  into your Monad'3s state with a user supplied value and return the old value that was replaced.       4444444 4 4 4None&'/48=>?@ACHPSUVX_kp  optics-extraExtends $ with an ability to magnify using a o over multiple targets so that actions for each one are executed sequentially and the results are aggregated.)There is however no sensible instance of   for . optics-extraThis class allows us to O part of the environment, changing the environment supplied by many different  transformers. Unlike 5 this can change the environment of a deeply nested  transformer.kIts functions can be used to run a monadic action in a larger environment than it was defined in, using a  or an .They act like 56D, but can in many cases change the type of the environment as well.3They're commonly used to lift actions in a simpler   into a  with a larger environment type.)They can be used to edit pretty much any . transformer stack with an environment in it:(1,2) & magnify _2 (+1)3,flip runReader (1,2) $ magnify _1 Reader.ask1Dflip runReader (1,2,[10..20]) $ magnifyMaybe (_3 % _tail) Reader.ask$Just [11,12,13,14,15,16,17,18,19,20] optics-extraThis class allows us to  in, changing the f supplied by many different monad transformers, potentially quite deep in a monad transformer stack.>Its functions can be used to run a monadic action in a larger " than it was defined in, using a , an  or a .3This is commonly used to lift actions in a simpler   into a   with a larger  type.When used with a m over multiple values, the actions for each target are executed sequentially and the results are aggregated.)This can be used to edit pretty much any  transformer stack with a  in it!3flip L.evalState ('a','b') $ zoom _1 $ use equality'a'6flip S.execState ('a','b') $ zoom _1 $ equality .= 'c' ('c','b')Aflip L.execState [(1,2),(3,4)] $ zoomMany traversed $ _2 %= (*10)[(1,20),(3,40)]Rflip S.runState [('a',"b"),('c',"d")] $ zoomMany traversed $ _2 <%= (\x -> x <> x) ("bbdd",[('a',"bb"),('c',"dd")])9flip S.evalState ("a","b") $ zoomMany each (use equality)"ab"- optics-extra  =   =  8 optics-extra   =        2222227None&'/48=>?@ACHPSUVX_kr0 }~YFm      lG< !"#$&%(')+* !"#$%&'()*+,-./0123456789:;<=>?@APBsBCDEFGHIJKLMANOPQRSTUVWXYXZ[\]^_`abcude9fghijklmnopqrstupvwxyz{|}~=w,-./105432768n  89:89;89<89=89>89?89@89A89B89C89D8EF8EG8HI8HJ8HK8HL8HM8HN8HO8HP8HQ8HR8HS8HT8UV8UW8UX8UY8UZ8U[8U\8U]8U^8U_8U`8Ua8Ub8Uc8Ud8Ue8fg8fh8fi8jk8jl8jm8jn8jo8jp8jq8jr8js8jt8ju8jv8wxyz{|}~ | } ~   } | ~            4 !"#$%&'./()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM8NOPQRPST8UV8WXYZ|Y&Y'8[\8]^Y_`Y_aY_b8c8Udef+ghijYk|Y!&Yl'8]mY_nYoep+ g h q r8st8uv w x y z { | } ~        8888W8]838W38u8u8u8u8u8u8u8u8u8u8u8u8u8u8u8u8u8u8u8u8u88888888888888888888888N8N8N8N8N8N8N8N8N8N8N8N8N8N8N8N8N8N8N8N8N8N8888888888888888888888883  3  2PQ 888888W 1 !"8#8$8%8&8'8W()*+,8-8.8/808182838485868788898:8;8<8=>8=?8=@8A8B8C8D8E8F88G8H8UI8UJ8UK8UL8UM8UN8OP8OQ8OR8OS8OT8OU8OV8OW8OX8OY8OZ8O[8O\8O]8O^8O_8O`8Oa8Ob8Oc8Od8Oe8Of8Og8Oh8Oi8Oj8kl8km8kn8]o8]p8]q8]r8]s8]t8]u8]v8]w8]x8]y8]z8]{8]|8]}8]~8]888888888[8[88888s8s8s8s8s8s8s8s8s888888888888W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8W8888888888888888888888w8w8w888888888888888888888&optics-extra-0.3-9gnd7ilW6aQK56r84peWlOptics.Indexed Optics.Each Optics.AtData.HashMap.Optics Optics.Cons Optics.EmptyData.HashSet.OpticsData.Text.Lazy.OpticsData.Text.Strict.OpticsData.Text.Optics Optics.Extra.Internal.ByteStringData.ByteString.Strict.OpticsData.ByteString.Lazy.OpticsData.ByteString.OpticsOptics.Extra.Internal.VectorData.Vector.Generic.OpticsData.Vector.OpticsOptics.Extra.Internal.Zoom Optics.State Optics.ViewOptics.PassthroughOptics.State.Operators Optics.ZoomData.MapHashMapOptics.Traversal TraversalOptics.Operators^.#Data.Text.Lazymap Data.TextMapData.SetSetData.ByteStringpackunpackData.ByteString.Char8Data.ByteString.LazyData.ByteString.Lazy.Char8 ByteStringControl.Monad.RWSRWSTZoomzoomControl.Monad.StateStateTPrimVector passthroughControl.Monad.Reader.Classlocal Optics.Extra&optics-core-0.3-AO2AfMctsnL4QbkxVQq6eFOptics.Indexed.Core icomposeN icompose5 icompose4 icompose3icompose reindexed<%%><%>noIxIxOpticOptics.Each.CoreeachEachOptics.At.Coresansat'ixAtIndexcontainsContainsIxValueixIxKindIxedatAtOptics.Cons.Coreunsnocsnoc|>_last_init_tail_headunconscons<|:<:>_ConsCons_SnocSnocOptics.Empty.CoreEmpty_EmptyAsEmptyOptics.Internal.Indexed.ClassesiforitoListifor_ itraverse_imapFunctorWithIndexifoldl'ifoldrifoldMapFoldableWithIndex itraverseTraversableWithIndexOptics.Internal.Indexed conjoinedtoMapOf setmappedsetOfTextpackedunpacked_Textbuildertextutf8IsText $fIsTextText $fIsTextText0 $fIsText[] $fAtHashSet $fAtHashMap$fIxedByteString$fIxedByteString0 $fIxedText $fIxedText0 $fIxedVector $fIxedVector0 $fIxedVector1 $fIxedVector2 $fIxedHashSet $fIxedHashMap$fContainsHashSet$fSnocTextTextCharChar$fSnocTextTextCharChar0$$fSnocByteStringByteStringWord8Word8%$fSnocByteStringByteStringWord8Word80$fSnocVectorVectorab$fSnocVectorVectorab0$fSnocVectorVectorab1$fSnocVectorVectorab2$fConsVectorVectorab$fConsVectorVectorab0$fConsVectorVectorab1$fConsVectorVectorab2$fConsTextTextCharChar$fConsTextTextCharChar0$$fConsByteStringByteStringWord8Word8%$fConsByteStringByteStringWord8Word80 $fAsEmptyText$fAsEmptyText0$fAsEmptyByteString$fAsEmptyByteString0$fAsEmptyVector$fAsEmptyVector0$fAsEmptyVector1$fAsEmptyHashSet$fAsEmptyHashMaptraversedStrictTreetraversedStrictTree8 traversedLazytraversedLazy8CharsBytes packedBytes unpackedBytesbytes packedChars unpackedCharschars IsByteString$fIsByteStringByteString$fIsByteStringByteString0 ordinalNubsliced toVectorOfvectorasStream asStreamRclonedforcedordinalsvectorIxvectorTraverse converted EffectRWS getEffectRWSEffect getEffectErrgetErrMaygetMay FocusingWithunfocusingWithFocusing unfocusing stateZoomstateZoomMaybe stateZoomManyrwsZoom rwsZoomMaybe rwsZoomMany shuffleMay shuffleErr rwsMagnifyrwsMagnifyMayberwsMagnifyManyshuffleSshuffleW$fApplicativeFocusing$fFunctorFocusing$fApplicativeFocusingWith$fFunctorFocusingWith $fMonoidMay$fSemigroupMay $fMonoidErr$fSemigroupErr$fMonoidEffect$fSemigroupEffect$fMonoidEffectRWS$fSemigroupEffectRWS$fTraversableWithIndexIntVector$fFoldableWithIndexIntVector$fFunctorWithIndexIntVector$fTraversableWithIndexkHashMap$fFoldableWithIndexkHashMap$fFunctorWithIndexkHashMap!$fEachInt64ByteStringByteStringab"$fEachInt64ByteStringByteStringab0$fEachIntTextTextab$fEachIntTextTextab0$fEachIntVectorVectorab$fEachIntVectorVectorab0$fEachIntVectorVectorab1$fEachIntVectorVectorab2$fEachkHashMapHashMapab modifying modifying'assignassign'usepreuse ViewableOptic ViewResultgviewgviewsguseguses glistening glistenings$fViewableOpticA_Foldr$fViewableOpticA_Traversalr$fViewableOpticAn_AffineFoldr"$fViewableOpticAn_AffineTraversalr$fViewableOpticA_Prismr$fViewableOpticA_Getterr$fViewableOpticA_ReversedPrismr$fViewableOpticA_Lensr$fViewableOpticAn_IsorPermeableOptic$fPermeableOpticA_Traversalr#$fPermeableOpticAn_AffineTraversalr$fPermeableOpticA_Prismr$fPermeableOpticA_Lensr$fPermeableOpticAn_Isor.=?=%=%%=<%=->ba$fMagnifyManyExceptTExceptTba$fMagnifyManyErrorTErrorTba$fMagnifyManyMaybeTMaybeTba$fMagnifyManyListTListTba$fMagnifyManyWriterTWriterTba$fMagnifyManyWriterTWriterTba0!$fMagnifyManyIdentityTIdentityTba$fMagnifyManyRWSTRWSTba$fMagnifyManyRWSTRWSTba0$fMagnifyManyReaderTReaderTba$fMagnifyMany->->ba Optics.IxFoldIxFold3unordered-containers-0.2.10.0-b9YJCQLkMeLUf311RZkQDData.HashMap.BaseunionData.HashSet.BaseHashSet Optics.SetterSetter Optics.Foldfolded text-1.2.3.1Data.Text.Internal.Lazy Optics.Rere Optics.IsoIsoData.Text.Internal.BuilderBuilder fromLazyText toLazyText traversedsetsbytestring-0.10.8.2Data.ByteString.Lazy.Internal unpacked__text__ ifoldrLazyimapLazyData.Text.InternalData.Text.ShowisofromTexttoStrictData.ByteString.Internal ifoldrStrict imapStrict Optics.PrismPrismOptics.IxTraversal IxTraversaltraversedStrictTree__imapBifoldrBtraversedStrictTree8__imapB8ifoldrB8traversedLazy__imapBLifoldrBLtraversedLazy8__imapBL8 ifoldrBL8w2cbaseGHC.WordWord8ghc-prim GHC.TypesCharc2w unsafeCreatecreateOptics.Internal.Optic%GHC.Base.anyOf GHC.Classes==BoolIso'String Optics.LensLens&vector-0.12.1.2-E9YBdJZ4ywF23gc9L8wAxpData.Vector.Generic.BasetoListOfData.Vector.Fusion.BundleBundle Data.VectorMonoid Data.EitherEither GHC.MaybeMaybe isingularipartsOfelement elementOfelements elementsOf ibackwardsindices itraversed ifailover' ifailover iscanr1Of iscanl1Of imapAccumROf imapAccumLOfiforOf itraverseOf itraversalVL IxTraversal' IxTraversalVLIxTraversalVL'Optics.IxSetterimappedisetsiset'isetiover'ioverIxSetter IxSetter' Optics.IxLensdevoid withIxLensVL toIxLensVLilensVLilensIxLensIxLens'IxLensVL IxLensVL'Optics.IxGetteriviewsiview selfIndexitoIxGetterifindMOfifindOfinoneOfiallOfianyOfilastOfiheadOfifailingisumming ibackwards_ ifilteredipre ifoldringifoldingifoldediforOf_ itraverseOf_ itoListOf ifoldlOf'ifoldrOf ifoldMapOfifoldVLOptics.IxAffineTraversalignoredunsafeFilteredBy iatraverseOf iatraversalVL iatraversalIxAffineTraversalIxAffineTraversal'IxAffineTraversalVLIxAffineTraversalVL'Optics.IxAffineFold iafailing filteredBy iafolding iatraverseOf_ ipreviewsipreviewiafoldVL IxAffineFoldOptics.Internal.Optic.TypesA_LensAn_AffineTraversal A_TraversalA_SetterA_Getter An_AffineFoldA_FoldGHC.IntInt64IntData.Vector.Unboxed.BaseUnboxForeign.StorableStorableData.Vector.Storable'primitive-0.7.0.1-4OYEE8uw8FE1Ko7THF1ebData.Primitive.Types mtl-2.2.2Control.Monad.State.Class MonadStateOptic Optics.GetterGetterOptics.AffineFold AffineFoldOptics.ReversedPrism ReversedPrismOptics.AffineTraversalAffineTraversalFoldControl.Monad.Writer.ClasslistenJustMonadtransformers-0.5.5.0 Control.Monad.Trans.State.StrictControl.Monad.Trans.ReaderReaderStateLens'AffineTraversal' Traversal'viewspreviews foldMapOf Data.Function& Data.Functor<&>singularpartsOf backwards failover'failoverscanr1Ofscanl1Of mapAccumROf mapAccumLOf transposeOf sequenceOfforOf traverseOf traversalVL TraversalVL TraversalVL' Optics.ArrowassignA ArrowOpticoverA?!~?~!~.~%!~%~^..^?mappedset'setover'overSetter'Data.Tuple.Optics_9'_8'_7'_6'_5'_4'_3'_2'_1'Field1_1Field2_2Field3_3Field4_4Field5_5Field6_6Field7_7Field8_8Field9_9Optics.Mapping MappingOptic MappedOpticmapping involutedflipped uncurriedcurriedanonnon'noncoerced1 coercedTocoercedsimpleequalityunderauwithIsoSwappedswapped Optics.ReviewuntoreviewReviewReversedPrism'Optics.ReversedLens ReversedLens ReversedLens'Optics.ReadOnly ToReadOnlygettingReversibleOptic ReversedOpticData.Either.Optics_Right_LeftData.Maybe.Optics_Just_Nothingnearlyonlybelowwithoutaside withPrismprism'prismPrism'united alongsidechosen equality' withLensVLtoLensVLlensVLwithLenslensLensVLLensVL'lookupOffindMOffindOf minimumByOf maximumByOf minimumOf maximumOflengthOf notElemOfelemOfmsumOfasumOfsumOf productOfnoneOfallOforOfandOflastOfheadOfhasn'thasfailingsumming backwards_preunfoldedfoldringfolding sequenceOf_forOf_ traverseOf_foldlOf'foldrOffoldOffoldVLisn'tafailingfilteredafolding atraverseOf_previewafoldVLunsafeFilteredmatching atraverseOf atraversalVLwithAffineTraversal atraversalAffineTraversalVLAffineTraversalVL' Optics.CoercecoerceBcoerceAcoerceTcoerceStoviewAcceptsEmptyIndicesNonEmptyIndicesHasSingleIndex%&%% castOpticOptic' LabelOptic labelOptic LabelOptic'Optics.Internal.Optic.SubtypingIsJoin OpticKindAn_IsoA_PrismA_ReversedPrismA_ReversedLensA_ReviewOptics.Internal.Optic.TypeLevelIxListNoIxWithIxCurryAppend CurryCompose