!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None-7C75The data for a session with the Orchestrate database.%The base URL for the Orchestrate API."The API key for accessing the API.The version of the API. The baseline set of 3 for making wreq calls. This includes the API key. #This represents the end of a range. 5The end should be inclusive. I.e., it should include a. 9The end should be exclusive. I.e., it should not include a. There is no bound on this end.<This is a range tuple. Each end can be specified separately.A richer type than " for specifying conditional calls..Only perform the action if the ref does exist.2Only perform the action if the ref does not exist.Always perform the action.VThis represents a function that makes a call to the Orchestrate API server. It takes , a URL , and returns a . HThis represents the unique access information for a value in the store."#The collection containing the data.#!The data's key in the collection.$3The reference to the current version of the value.%' over , the way God intended.&' over #. Only the most useless monad ever.'The type for the Orchestrate monad. All interactions with the Orchestrate API are run in this monad. It combines a reader over  data with error handling using EitherT .*?This is a class for data that can be stored in an Orchestrate  "http://orchestrate.io/api/keyvalue Key/Value store. See Database.Orchestrate.KeyValue for where this is used.+>This is the name of the collection to store this data type in.,&This is the key to store the value in.18A parameterized list of results returned by an API call. ithe type of the data contained.:DA parameterized single item returned in a collection by an API call. p'the type of the path data to this data.v$the type of the value for this data.B&The data necessary to access an event.D The base   to this data.EThe kind of event.FThe event's timestamp.GThe event's ordinal number.JOne item in an q.#This data type uses two parameters: a,The type of data being stored for the event.bxA phantom type for the type of data associated with the event. This data must also be stored in Orchestrate using the Database.Orchestrate.KeyValue API.L#The data itself and the path to it.MThe event's timestamp.NThe event's ordinal number.SS1 data represents the data values in the database.TSE data are no longer alive. They are simply markers for deleted data.UThe path to the deleted data.VThe timestamp of this data.WW data are still in the database.XThe path to the data.Y5If values are requested, this will contain the data.ZThe timestamp for the data.^A single search item.`)The path to the item and the item itself.a"The item's relevancy to the query.gA  into data created with the S constructor.hA  into data created with the W constructor.i!The collection of search results.kThe list of search results.l_The total number of hits for the search. This may be more than the number of results returned.oA list of data returned by listV. v+The type of the data contained in the list.pA list of edges returned by getRel."This datatype uses two parameters: a)The data type for the edge's origin node.b)The data type for the edge's target node.qA list of events returned by  listEvents.#This data type uses two parameters: a,The type of data being stored for the event.bxA phantom type for the type of data associated with the event. This data must also be stored in Orchestrate using the Database.Orchestrate.KeyValue API.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst oSTWUVXYZghbcdefqBCDEFGORQPJKLMN[]\pijklrs^_`amn /-0.*+,'()%&123456>?A@:;<=HI !"#$789Q   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTWUVXYZ[\]^_`abcdefghijklmnopqrsNonet=This takes a response and checks that the status code passes.AIf the HTTP status code is not OK, this returns an error in the ' monad.utThis checks the status code. Currently 200 and 204 are OK. Everything else is bad. Bad codes throw an exception in '.tutututuNone47INvPings the Orchestrate API.wRun an ' action with a  that does notb include authentication. This function will add proper authentication before running the action.xRun an ' action with a ' that already includes authentication.!This is the most minimal handler.yLifts an IO action into the ' monad.z Lifts an  value into the ' monad.{6Create the base Orchestrate API URL given the current .| Adds the API key to the default .}"Adds the API key to a set of wreq .~&Builds a URL from its assembled parts.(This assembles and performs an API call.{This assembles and peforms an API call, lifting any status code errors out of the monad and returning them in an explicit .KThis assembles and performs an API call and checks that the status passes t.lThis assembles and performs an API call. Afterward it checks the status code and decodes the JSON response.4This assembles and performs an API call. It returns ( if the call returns a 404 status code.This returns the " with the API key taken from the ORCHESTRATE_API environment variable. The value of . will include authentication.|This takes a three-parameter function and rotates the parameters to return a function that takes the third parameter first. Takes an ' and returns a list of request headers. Takes an ' and returns a list of request headers.&A prism over the collection part of a  URL.A prism over the key part of a  URL.A prism over the ref part of a  URL. A prism over the type part of a  URL from an event operation.%A prism over the timestamp part of a  URL from an event operation.#A prism over the ordinal part of a  URL from an event operation.Retrieves the  from a response's headers.Given a starting  , return the form parameter.Given an ending  , return the form parameter. Show data as .4Returns both the last item in a list and the list's .%If the list is empty, it will return  (Nothing, [])(. Otherwise, it's an optimized call to (lastMay &&& initSafe). vwxyz{|}~/The parts of the URL path. These are joined by /.Returns the URL as a .Additional HTTP headers.The parts of the URL path.The form parameters.#The wreq function to make the call.Returns the call's response.Additional HTTP headers.The parts of the URL path.The form parameters.#The wreq function to make the call.1Returns either the error status or the response.Additional HTTP headers.The parts of the URL path.The form parameters.#The wreq function to make the call.Returns the verified response.Additional HTTP headers.The parts of the URL path.The form parameters.#The wreq function to make the call.'Returns the verified, decoded response.Additional HTTP headers.The parts of the URL path.The form parameters.#The wreq function to make the call.Returns maybe the response."The suffix for the form parameter.The  .Returns the form parameter."The suffix for the form parameter.The  .Returns the form parameter.vwxyz{|}~wxzyv{~|} vwxyz{|}~None/This retrieves a ref associated with some data. #getRef "coll-name" "key" "43214321"sThis lists all the values that have been associated with a key in the database. Values are returned last to first. 0listRefs "coll-name" "key" Nothing Nothing False$This is the collection for the data.This is the key for the data.&The maximum number of items to return.-The offset into the total sequence of values.0Should the values be returned also, or just the   data?Returns the list of results.None0This performs the query and returns the results. +query "coll-name" "query" (Just 25) NothingThe collection to query. The query.&The maximum number of items to return.#The offset into the search results.3Returns the results of the query with their scores.None7 )This retrieves a value from a collection. lookup "contacts" "mom"[This inserts data into the database or updates existing data using a key generated by the * instance. putV data NoMatchyThis inserts data into the database or updates data in the database. This overrides the key provided by the data type's *d instance. However, it still requires an implementation of that data type for the collection name. putKV "key" data NoMatchIThis inserts data in the database, generating a new database key for it.  postV data$This removes data from the database. deleteV data Nothing$This removes data from the database. deleteKV "key" data NothingxThis purges data from the database. Purging not only removes the data, but also all history and secondary items for it. purgeV data NothingxThis purges data from the database. Purging not only removes the data, but also all history and secondary items for it. purgeKV "key" data NothingAThis lists all the data in the collection within the range given. )listVals "coll-name" Nothing (Open, Open) "The data to store in the database.qIf specified, this operation only succeeds if the ref specified matches the currently stored ref for this data.!Returns the location of the data. The key to store the data under.The data to store.qIf specified, this operation only succeeds if the ref specified matches the currently stored ref for this data.!Returns the location of the data.The data to store.The  and key for the data.The data to remove.mIf given, this operation only succeeds if the ref specified matches the currently stored ref for this data.!The key the data is stored under.The data to remove.mIf given, this operation only succeeds if the ref specified matches the currently stored ref for this data.The data to remove.mIf given, this operation only succeeds if the ref specified matches the currently stored ref for this data.!The key the data is stored under.The data to remove.mIf given, this operation only succeeds if the ref specified matches the currently stored ref for this data.!The collection to list data from.(The maximum number of items to retrieve.The range of keys to query.Returns a collection of data. NoneBThis retrieves a list of target nodes from edges originating from a. For more information see  http://orchestrate.io/api/graphthe API documentation.qIf the third parameter is not empty, it represents additional edges that will be traversed to get to the target. For example: "getRel data "friend" ["last_name"]DCreates a relationship (an edge) between two nodes. The edge has a  type. See the  http://orchestrate.io/api/graphAPI documentation for more information. For example: createRel start "parent" child8This removes a relationship (an edge) between two nodes. For example: deleteRel start "parent" childThe originating node.The first edge to traverse.!Any additional edges to traverse.!A list of nodes originating from a.The originating node.The label for the edge.The target, destination node.The originating node.The label for the edge.The target, destination node.None#This retrieves a single event. See  http://orchestrate.io/api/eventsthe API documentation for more information.0For example, this retrieves a transaction event. +getEvent data "transaction" 784111777000 79&This creates an event and returns its . See  http://orchestrate.io/api/events API document for more information.SFor example, this creates a transaction, using the current time for the timestamp. 6createEvent data "transaction" transactionData NothingThis updates the data for an event. The storage is keyed by type, timestamp, and ordinal, so the event data can change. See the  http://orchestrate.io/api/eventsAPI documentation for more information. For example: uupdateEvent data "transaction" updatedTransactionData <$> loc ^? locationTimestamp <*> loc ^? locationOrdinalThis deletes an event. See the  http://orchestrate.io/api/eventsAPI documentation for more information. For example: ^deleteEvent data "transaction" <$> loc ^? locationTimestamp <*> loc ^? locationOrdinalDThis lists all the events within a given range for a data. See the  http://orchestrate.io/api/eventsAPI documentation for more information. For example: 4listEvents data "transaction" (Just 25) (Open, Open) This takes a $ and an event datum and returns the J representing it.This takes an J and returns the datum and  associated with that item.+The data that the event is associated with.The kind of event.The event's timestamp.The event's ordinal number. the event or .+The data that the event is associated with.The kind of event.The event data.>The event's timestamp. If not given, the current time is used.Returns the event's location.+The data that the event is associated with.The kind of event.The updated event data.The timestamp for the event.The ordinal for the event.QIf given, will only succeed if the ref matches the event's currently stored ref. Returns the  for the new event data.+The data that the event is associated with.The kind of event.The timestamp for the event.The ordinal for the event.QIf given, will only succeed if the ref matches the event's currently stored ref.+The data the events are to associated with.The type of events to retrieve.WThe maximum number of event data to return. The default is 10, and the maximum is 100.TThe range of events to retrieve. Each range is the timestamp and maybe the ordinal. None This deletes a collection. See  ,http://orchestrate.io/api/collections#deletethe API documentation for more information. "deleteCollection "collection-name" None    !"#$%&'()*+,,-./01223456789:;;<=>?@ABCCDEFGHIJJKLMNOPQQRSTUVWXYYZ[\]^_`abccdefghijklmmnopqrstuvwxyz{|}~ orche_JP1i4gYIu7Y3xOicyhKcfODatabase.Orchestrate.TypesDatabase.Orchestrate.NetworkDatabase.Orchestrate.UtilsDatabase.Orchestrate.RefDatabase.Orchestrate.SearchDatabase.Orchestrate.KeyValueDatabase.Orchestrate.GraphDatabase.Orchestrate.EventsDatabase.Orchestrate.CollectionDatabase.Orchestratemtl_KMpng31YRYc5JfMWFZ3FCUControl.Monad.Reader.ClassaskControl.Monad.Error.Class throwError catchErrorasksSession _sessionURL _sessionKey_sessionVersion_sessionOptionsRangeEnd Inclusive ExclusiveOpenRangeIfMatch IfNoneMatchNoMatchRestCall QueryTextRelKind EventTypeOffsetLimitIfMatch'Location TimestampRefKey CollectionAPIKeyPath_itemCollection_itemKey_itemRef OrchestrateIO Orchestrate OrchestrateTrunOrchestrateOrchestrateData tableNamedataKey sessionKeysessionOptions sessionURLsessionVersion ResultList _resultCount _resultList _resultPrev _resultNextitemCollectionitemKeyitemRef ResultItem _itemPath _itemValue resultCount resultList resultNext resultPrev EventPath _eventPath_eventPathType_eventPathTime _eventPathOrditemPath itemValue EventItem _eventItem _eventTime _eventOrd eventPath eventPathOrd eventPathTime eventPathType TombstoneItem_tombstonePath_tombstoneTimeLiveItem _livePath _liveValue _liveTime eventItemeventOrd eventTime SearchItem _searchItem _searchScorelivePathliveTime liveValue tombstonePath tombstoneTime_TombstoneItem _LiveItem SearchList_searchResults _searchTotal searchItem searchScoreKVListRelList EventList searchResults searchTotal checkResponsecheckStatusCodepingrunOrunO'ioorchestrateEitherbaseUrl withAuth'withAuthbuildUrlapiapi'apiCheckapiCheckDecodeapi404 envSessionrotifMatch'ifMatchlocationCollection locationKey locationRef locationTypelocationTimestamplocationOrdinal getLocation rangeStartrangeEndtshowinitTailgetReflistRefsquerylookupputVputKVpostVdeleteVdeleteKVpurgeVpurgeKVlistValsgetRel createRel deleteRelgetEvent createEvent updateEvent deleteEvent listEventslocationEventItemeventItemLocationdeleteCollectionwreq_4xv0H7CgHJe2F0LiHI30yHNetwork.Wreq.Internal.TypesOptionsbaseGHC.BaseStringhttpc_35VMWFsO3XvCrV6Pehk963Network.HTTP.Client.TypesResponseghc-prim GHC.TypesIOData.Functor.IdentityIdentity GHC.Exception SomeExceptionlens_BBKVmbIgBVRGLrvymHXj6MControl.Lens.TypePrism'handler'%$fMonadErrorSomeExceptionOrchestrateT $fMonadReaderSessionOrchestrateT$fMonadIOOrchestrateT$fMonadTransOrchestrateT$fDefaultSession $fToJSONPath$fFromJSONPath$fFromJSONResultList$fToJSONResultItem$fFromJSONResultItem$fToJSONEventPath$fFromJSONEventPath$fFromJSONEventItem emptyObject$fFromJSONTombstoneItem$fFromJSONSearchItem$fFromJSONSearchList Data.EitherEitherNothingtext_1l1AN4I48k37RaQ6fm6CEhData.Text.InternalTextGHC.ListinitaugmentOptionsloclocinturlPathJust