úÎ@>"      !=The values stored in the Map of the LRU cache. They embed a . doubly-linked list through the values of the ". The actual value %the key of the value before this one $the key of the value after this one 2Stores the information that makes up an LRU cache ,the key of the most recently accessed entry -the key of the least recently accessed entry "the maximum size of the LRU cache  the backing " :Make an LRU. The LRU is guaranteed to not grow above the  specified number of entries. the maximum size of the LRU BBuild a new LRU from the given maximum size and list of contents, B in order from most recently accessed to least recently accessed. the maximum size of the LRU ;Retrieve a list view of an LRU. The items are returned in ? order from most recently accessed to least recently accessed. >Add an item to an LRU. If the key was already present in the < LRU, the value is changed to the new value passed in. The @ item added is marked as the most recently accessed item in the  LRU returned. <If this would cause the LRU to exceed its maximum size, the 5 least recently used item is dropped from the cache. ?Look up an item in an LRU. If it was present, it is marked as 0 the most recently accesed in the returned LRU. BRemove an item from an LRU. Returns the new LRU, and if the item  was present to be removed. ;Returns the number of elements the LRU currently contains. =Internal function. The key passed in must be present in the ; LRU. Moves the item associated with that key to the most  recently accessed position. An internal function used by  (when the cache is full)  and 0. This function has strict requirements on its & arguments in order to work properly. CAs this is intended to be an internal function, the arguments were E chosen to avoid repeated computation, rather than for simplicity of  calling this function. (The key must be present in the provided   This is the  to modify  this is the " from the  previous argument, but with  the key already removed from  it. This isn' t consistent  yet, as it still might  contain LinkedVals with  pointers to the removed key.  This is the  that & corresponds to the key in the passed & in LRU. It is absent from the passed  in map. ,Internal function. This is very similar to #, with " two major differences. First, it's strict in the application of E the function, which is a huge win when working with this structure. BSecond, it requires that the key be present in order to work. If  the key isn' t present, $ will be inserted into the ", " which will cause problems later. @Internal function. This checks the three structural invariants  of the LRU cache structure:  The cache'/s size does not exceed the specified max size. E The linked list through the nodes is consistent in both directions. A The linked list contains the same number of nodes as the cache.           The opaque wrapper type 2Make a new AtomicLRU with the given maximum size. the maximum size 8Build a new LRU from the given maximum size and list of  contents. See   for the semantics. the maximum size +Retreive a list view of an AtomicLRU. See   for the  semantics.  Insert a key/#value pair into an AtomicLRU. See  for  the semantics. #Look up a key in an AtomicLRU. See  for the  semantics. @Remove an item from an AtomicLRU. Returns whether the item was  present to be removed. AReturns the number of elements the AtomicLRU currently contains.  A version of % that applies the modification  function strictly. ! A version of & that applies the modification B function strictly. The returned value is not evaluated strictly.  !  !  !  '        ! "#$%#&'#&()lrucache-0.2.0.1Data.Cache.LRU.InternalData.Cache.LRUData.Cache.LRU.IOData.Cache.LRU.IO.Internal LinkedValLinkvalueprevnextLRUfirstlastmaxSizecontentnewLRUfromListtoListinsertlookupdeletesizehit'delete'adjust'valid AtomicLRUC newAtomicLRU modifyMVar_' modifyMVar'containers-0.3.0.0Data.MapMapadjustbaseGHC.Err undefinedControl.Concurrent.MVar modifyMVar_ modifyMVar