!τ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None"#.79;=>?@AMPSUVX_`dk   None"#.79;=>?@AMPSUVX_`dklaunchdarkly-server-sdk(The status of the client initialization.launchdarkly-server-sdk;The client has not yet finished connecting to LaunchDarkly.launchdarkly-server-sdk?The client attempted to connect to LaunchDarkly and was denied.launchdarkly-server-sdk5The client has successfuly connected to LaunchDarkly.launchdarkly-server-sdkThe client is being terminated None"#.79;=>?@AMPSUVX_`dk" None"#.79;=>?@AMPSUVX_`dkI None "#.79;=>?@AMPSUVX_`dk=launchdarkly-server-sdkJDefines the possible values of the errorKind property of EvaluationReason.launchdarkly-server-sdktIndicates that there was an internal inconsistency in the flag data, e.g. a rule specified a nonexistent variation.launchdarkly-server-sdkQIndicates that the caller provided a flag key that did not match any known flag.launchdarkly-server-sdkIndicates that the result value was not of the requested type, e.g. you called boolVariationDetail but the value was an integer.launchdarkly-server-sdkcIndicates that the caller tried to evaluate a flag before the client had successfully initialized.launchdarkly-server-sdkEIndicates that some error was returned by the external feature store.launchdarkly-server-sdkEDefines the possible values of the Kind property of EvaluationReason.launchdarkly-server-sdkQIndicates that the flag was off and therefore returned its configured off value. launchdarkly-server-sdkDindicates that the user key was specifically targeted for this flag.!launchdarkly-server-sdk8Indicates that the user matched one of the flag's rules."launchdarkly-server-sdkIndicates that the flag was considered off because it had at least one prerequisite flag that either was off or did not return the desired variation.#launchdarkly-server-sdkPIndicates that the flag was on but the user did not match any targets or rules.$launchdarkly-server-sdkIndicates that the flag could not be evaluated, e.g. because it does not exist or due to an unexpected error. In this case the result value will be the default value that the caller passed to the client.%launchdarkly-server-sdk;The index of the rule that was matched (0 being the first).&launchdarkly-server-sdk3The unique identifier of the rule that was matched.'launchdarkly-server-sdkWhether the evaluation was part of an experiment. Is true if the evaluation resulted in an experiment rollout *and* served one of the variations in the experiment. Otherwise false.(launchdarkly-server-sdk-The flag key of the prerequisite that failed.)launchdarkly-server-sdkDescribes the type of error.*launchdarkly-server-sdkWCombines the result of a flag evaluation with an explanation of how it was calculated.,launchdarkly-server-sdkThe result of the flag evaluation. This will be either one of the flag's variations or the default value passed by the application.-launchdarkly-server-sdkThe index of the returned value within the flag's list of variations, e.g. 0 for the first variation - or Nothing if the default value was returned..launchdarkly-server-sdkDDescribes the main factor that influenced the flag evaluation value.$#"! )('&%*+.-, None"#.79;=>?@AMPSUVX_`dk?# None"#.79;=>?@AMPSUVX_`dk@zM     None"#.79;=>?@AMPSUVX_`dk/launchdarkly-server-sdk1A builder for feature flag rules to be used with 5.In the LaunchDarkly model, a flag can have any number of rules, and a rule can have any number of clauses. A clause is an individual test such as "name is 'X'". A rule matches a user if all of the rule's clauses match the user.DTo start defining a rule, use one of the matching functions such as ; or <~. This defines the first clause for the rule. Optionally, you may add more clauses with the rule builder functions such as = and >. Finally, call 4 to finish defining the rule.0launchdarkly-server-sdkSpecifies the fallthrough variation. The fallthrough is the value that is returned if targeting is on and the user was not matched by a more specific target or rule.If the flag was previously configured with other variations and the variation specified is a boolean, this also changes it to a boolean flag.1launchdarkly-server-sdkjSpecifies the off variation for a flag. This is the variation that is returned whenever targeting is off.If the flag was previously configured with other variations and the variation specified is a boolean, this also changes it to a boolean flag.2launchdarkly-server-sdkESets the flag to always return the specified variation for all users.The variation is specified, Targeting is switched on, and any existing targets or rules are removed. The fallthrough variation is set to the specified value. The off variation is left unchanged.If the flag was previously configured with other variations and the variation specified is a boolean, this also changes it to a boolean flag.3launchdarkly-server-sdk^Sets the flag to return the specified variation for a specific user key when targeting is on.=This has no effect when targeting is turned off for the flag.If the flag was previously configured with other variations and the variation specified is a boolean, this also changes it to a boolean flag.4launchdarkly-server-sdk\Finishes defining the rule, specifying the result as either a boolean or a variation index.If the flag was previously configured with other variations and the variation specified is a boolean, this also changes it to a boolean flag.5launchdarkly-server-sdk:A builder for feature flag configurations to be used with )LaunchDarkly.Server.Integrations.TestData.see  and 7launchdarkly-server-sdkJA shortcut for setting the flag to use the standard boolean configuration.3This is the default for all new flags created with &. The flag will have two variations, True and False" (in that order); it will return False whenever targeting is off, and True> when targeting is on if no other settings specify otherwise.8launchdarkly-server-sdk-Sets targeting to be on or off for this flag.The effect of this depends on the rest of the flag configuration, just as it does on the real LaunchDarkly dashboard. In the default configuration that you get from calling + with a new flag key, the flag will return False" whenever targeting is off, and True when targeting is on.launchdarkly-server-sdkSRemoves any existing rules from the flag. This undoes the effect of methods like ; or <launchdarkly-server-sdkZRemoves any existing user targets from the flag. This undoes the effect of methods like 39launchdarkly-server-sdkKSets the flag to always return the specified variation value for all users.-The value may be of any type that implements . This method changes the flag to have only a single variation, which is this value, and to return the same variation regardless of whether targeting is on or off. Any existing targets or rules are removed.:launchdarkly-server-sdk4Changes the allowable variation values for the flag.1The value may be of any JSON type, as defined by . For instance, a boolean flag normally has [toJSON True, toJSON False]; a string-valued flag might have [toJSON "red", toJSON "green"]; etc.;launchdarkly-server-sdk<Starts defining a flag rule, using the "is one of" operator..For example, this creates a rule that returns True# if the name is "Patsy" or "Edina": gtestData & flag "flag" & ifMatch "name" [toJSON "Patsy", toJSON "Edina"] & thenReturn True <launchdarkly-server-sdk@Starts defining a flag rule, using the "is not one of" operator..For example, this creates a rule that returns True. if the name is neither "Saffron" nor "Bubble" mtestData & flag "flag" & ifNotMatch "name" [toJSON "Saffron", toJSON "Bubble"] & thenReturn True =launchdarkly-server-sdk4Adds another clause, using the "is one of" operator..For example, this creates a rule that returns True1 if the name is "Patsy" and the country is "gb": testData & flag "flag" & ifMatch "name" [toJSON "Patsy"] & andMatch "country" [toJSON "gb"] & thenReturn True >launchdarkly-server-sdk8Adds another clause, using the "is not one of" operator..For example, this creates a rule that returns True5 if the name is "Patsy" and the country is not "gb": testData & flag "flag" & ifMatch "name" [toJSON "Patsy"] & andNotMatch "country" [toJSON "gb"] & thenReturn True 0launchdarkly-server-sdkTrue or FalseT or the desired fallthrough variation index: 0 for the first, 1 for the second, etc.1launchdarkly-server-sdkTrue or FalseT or the desired fallthrough variation index: 0 for the first, 1 for the second, etc.2launchdarkly-server-sdkTrue or FalseT or the desired fallthrough variation index: 0 for the first, 1 for the second, etc.3launchdarkly-server-sdka user key to targetlaunchdarkly-server-sdkTrue or FalseT or the desired fallthrough variation index: 0 for the first, 1 for the second, etc.4launchdarkly-server-sdkTrue or FalseT or the desired fallthrough variation index: 0 for the first, 1 for the second, etc.8launchdarkly-server-sdkisOn True if targeting should be on:launchdarkly-server-sdkthe desired variations;launchdarkly-server-sdk-attribute the user attribute to match againstlaunchdarkly-server-sdkvalues to compare tolaunchdarkly-server-sdkcall 4, to finish the rule, or add more tests with = or > <launchdarkly-server-sdk-attribute the user attribute to match againstlaunchdarkly-server-sdkvalues to compare tolaunchdarkly-server-sdkcall 4, to finish the rule, or add more tests with = or > =launchdarkly-server-sdk#the user attribute to match againstlaunchdarkly-server-sdkvalues to compare to>launchdarkly-server-sdk#the user attribute to match againstlaunchdarkly-server-sdkvalues to compare to/4321056 789:;<=>None"#.79;=>?@AMPSUVX_`dk ?launchdarkly-server-sdk-An abstract representation of a store object.Alaunchdarkly-server-sdkLA serialized item. If the item is deleted or does not exist this should be !.Blaunchdarkly-server-sdkMThe version of a given item. If the item does not exist this should be zero.Claunchdarkly-server-sdk@The interface implemented by external stores for use by the SDK.Elaunchdarkly-server-sdk=A map of all features in a given namespace including deleted.Flaunchdarkly-server-sdk)Return the value of a key in a namespace.Glaunchdarkly-server-sdkUpsert a given feature. Versions should be compared before upsert. The result should indicate if the feature was replaced or not.Hlaunchdarkly-server-sdklChecks if the external store has been initialized, which may have been done by another instance of the SDK.Ilaunchdarkly-server-sdkkA map of namespaces, and items in namespaces. The entire store state should be replaced with these values.Jlaunchdarkly-server-sdk0Represents a namespace such as flags or segmentsKlaunchdarkly-server-sdk'Represents the key for a given feature.Llaunchdarkly-server-sdkThe result type for every CT function. Instead of throwing an exception, any store related error should return ":. Exceptions unrelated to the store should not be caught.4?@ABCDEFGHIJK#$%&'()*+,-./0123456789L:;<=>?@ABCDEFGHNone"#.79;=>?@AMPSUVX_`dkm?@ABCDEFGHIJKLLKJCDEFGHI?@ABNone"#.79;=>?@AMPSUVX_`dkIJKLMNOPQRSTUVWXNone"#.79;=>?@AMPSUVX_`dkOOlaunchdarkly-server-sdk/Creates a new instance of the test data source.Plaunchdarkly-server-sdkCreates or copies a 5( for building a test flag configuration.2If this flag key has already been defined in this Mf instance, then the builder starts with the same configuration that was last provided for this flag.LOtherwise, it starts with a new default configuration in which the flag has True and False variations, is True1 for all users when targeting is turned on and False otherwise, and currently has targeting turned on. You can change any of those properties, and provide more complex behavior, using the 5 methods.AOnce you have set the desired configuration, pass the builder to Q.see QQlaunchdarkly-server-sdk<Updates the test data with the specified flag configuration.This has the same effect as if a flag were added or modified on the LaunchDarkly dashboard. It immediately propagates the flag change to any < instance(s) that you have already configured to use this M. If no Clienta has been started yet, it simply adds this flag to the test data which will be provided to any Client# that you subsequently configure.Any subsequent changes to this 59 instance do not affect the test data, unless you call Qsee POlaunchdarkly-server-sdk#a new configurable test data sourcePlaunchdarkly-server-sdk the flag keylaunchdarkly-server-sdka flag configuration builderQlaunchdarkly-server-sdka flag configuration builder/4321056789:;<=>MNOPQMOPQN57801293:;<6/=>4None"#.79;=>?@AMPSUVX_`dk Rlaunchdarkly-server-sdk Creates a DataSourceFactory which uses the configured the file data sources. This allows you to use local files as a source of feature flag state, instead of using an actual LaunchDarkly connection.1To use the file dataSource you can add it to the  using  Glet config = configSetDataSourceFactory (FileData.dataSourceFactory [".testDataNflags.json"]) $ makeConfig "sdk-key" client <- makeClient config This will cause the client not to connect to LaunchDarkly to get feature flags. The client may still make network connections to send analytics events, unless you have disabled this with  to False. IMPORTANT: Do not set  to True; doing so would not just put the SDK "offline" with regard to LaunchDarkly, but will completely turn off all flag data sources to the SDK including the file data source.cFlag data files can be either JSON or YAML. They contain an object with three possible properties: flagsFeature flag definitions. flagValues3Simplified feature flags that contain only a value.segmentsUser segment definitions.The format of the data in flags and segments3 is defined by the LaunchDarkly application and is subject to change. Rather than trying to construct these objects yourself, it is simpler to request existing flags directly from the LaunchDarkly server in JSON format, and use this output as the starting point for your file. In Linux you would do this: (curl -H "Authorization: {your sdk key}"  +https://app.launchdarkly.com/sdk/latest-all IThe output will look something like this (but with many more properties): { "flags": { "flag-key-1": { "key": "flag-key-1", "on": true, "variations": [ "a", "b" ] }, "flag-key-2": { "key": "flag-key-2", "on": true, "variations": [ "c", "d" ] } }, "segments": { "segment-key-1": { "key": "segment-key-1", "includes": [ "user-key-1" ] } } } Data in this format allows the SDK to exactly duplicate all the kinds of flag behavior supported by LaunchDarkly. However, in many cases you will not need this complexity, but will just want to set specific flag keys to specific values. For that, you can use a much simpler format: { "flagValues": { "my-string-flag-key": "value-1", "my-boolean-flag-key": true, "my-integer-flag-key": 3 } }  Or, in YAML: HflagValues: my-string-flag-key: "value-1" my-boolean-flag-key: true $It is also possible to specify both flags and  flagValues, if you want some flags to have simple values and others to have complex behavior. However, it is an error to use the same flag key or segment key more than once, either in a single file or across multiple files.If the data source encounters any error in any file(malformed content, a missing file) it will not load flags from that file. If the data source encounters a duplicate key it will ignore that duplicate entry.RRNone"#.79;=>?@AMPSUVX_`dk`launchdarkly-server-sdk<An object that allows configuration of application metadata.Application metadata may be used in LaunchDarkly analytics or other product features, but does not affect feature flag evaluations.GTo use these properties, provide an instance of ApplicationInfo to the a with configSetApplicationInfo.alaunchdarkly-server-sdk@Config allows advanced configuration of the LaunchDarkly client.blaunchdarkly-server-sdkCreate a default instanceclaunchdarkly-server-sdk?Set a new name / value pair into the application info instance.Values have the following restrictions: - Cannot be empty - Cannot exceed 64 characters in length - Can only contain a-z, A-Z, 0-9, period (.), dash (-), and underscore (_).3Invalid values or unsupported keys will be ignored. `YZ[\]^_`abcdefghijklmnopaqrsbctNone"#.79;=>?@AMPSUVX_`dkSddlaunchdarkly-server-sdk4Create a default configuration from a given SDK key.elaunchdarkly-server-sdk7Set the SDK key used to authenticate with LaunchDarkly.flaunchdarkly-server-sdkgThe base URI of the main LaunchDarkly service. This should not normally be changed except for testing.glaunchdarkly-server-sdklThe base URI of the LaunchDarkly streaming service. This should not normally be changed except for testing.hlaunchdarkly-server-sdkThe base URI of the LaunchDarkly service that accepts analytics events. This should not normally be changed except for testing.ilaunchdarkly-server-sdk7Configures a handle to an external store such as Redis.jlaunchdarkly-server-sdkyWhen a store backend is configured, control how long values should be cached in memory before going back to the backend.klaunchdarkly-server-sdkSets whether streaming mode should be enabled. By default, streaming is enabled. It should only be disabled on the advice of LaunchDarkly support.llaunchdarkly-server-sdkSets whether or not all user attributes (other than the key) should be hidden from LaunchDarkly. If this is true, all user attribute values will be private, not just the attributes specified in PrivateAttributeNames.mlaunchdarkly-server-sdkMarks a set of user attribute names private. Any users sent to LaunchDarkly with this configuration active will have attributes with these names removed.nlaunchdarkly-server-sdkThe time between flushes of the event buffer. Decreasing the flush interval means that the event buffer is less likely to reach capacity.olaunchdarkly-server-sdk2The polling interval (when streaming is disabled).plaunchdarkly-server-sdkThe number of user keys that the event processor can remember at any one time, so that duplicate user details will not be sent in analytics events.qlaunchdarkly-server-sdkOSet to true if you need to see the full user details in every analytics event.rlaunchdarkly-server-sdkThe capacity of the events buffer. The client buffers up to this many events in memory before flushing. If the capacity is exceeded before the buffer is flushed, events will be discarded.slaunchdarkly-server-sdk(Set the logger to be used by the client.tlaunchdarkly-server-sdkSets whether to send analytics events back to LaunchDarkly. By default, the client will send events. This differs from Offline in that it only affects sending events, not streaming or polling for events from the server.ulaunchdarkly-server-sdkSets whether this client is offline. An offline client will not make any network connections to LaunchDarkly, and will return default values for all feature flags.vlaunchdarkly-server-sdkKSets how long an the HTTP client should wait before a response is returned.wlaunchdarkly-server-sdkSets whether this client should use the LaunchDarkly Relay Proxy in daemon mode. In this mode, the client does not subscribe to the streaming or polling API, but reads data only from the feature store. See: .https://docs.launchdarkly.com/home/relay-proxyxlaunchdarkly-server-sdkPSets a data source to use instead of the default network based data source see )LaunchDarkly.Server.Integrations.FileDataylaunchdarkly-server-sdk Sets the u6 to use with the client. If not set explicitly a new u* will be created when creating the client.zlaunchdarkly-server-sdk<An object that allows configuration of application metadata.Application metadata may be used in LaunchDarkly analytics or other product features, but does not affect feature flag evaluations.qIf you want to set non-default values for any of these fields, provide the appropriately configured dict to the a object.`abcdefghijklmnopqrstuvwxyzadefghklmnopqrsytuvijwxz`bcNone"#.79;=>?@AMPSUVX_`dkZ{launchdarkly-server-sdk?User contains specific attributes of a user of your applicationThe only mandatory property is the Key, which must uniquely identify each user. For authenticated users, this may be a username or e-mail address. For anonymous users, this could be an IP address or session ID.vwxyz{|}~{None"#.79;=>?@AMPSUVX_`dki |launchdarkly-server-sdk/Creates a new user identified by the given key.}launchdarkly-server-sdkSet the primary key for a user.~launchdarkly-server-sdk!Set the secondary key for a user.launchdarkly-server-sdkSet the IP for a user.launchdarkly-server-sdkSet the country for a user.launchdarkly-server-sdkSet the email for a user.launchdarkly-server-sdkSet the first name for a user.launchdarkly-server-sdkSet the last name for a user.launchdarkly-server-sdkSet the avatar for a user.launchdarkly-server-sdkSet the name for a user.launchdarkly-server-sdk$Set if the user is anonymous or not.launchdarkly-server-sdkSet custom fields for a user.launchdarkly-server-sdkThis contains list of attributes to keep private, whether they appear at the top-level or Custom The attribute "key" is always sent regardless of whether it is in this list, and "custom" cannot be used to eliminate all custom attributes{|}~{|}~None"#.79;=>?@AMPSUVX_`dkkcmNone"#.79;=>?@AMPSUVX_`dkqlaunchdarkly-server-sdkClient is the LaunchDarkly client. Client instances are thread-safe. Applications should instantiate a single instance for the lifetime of their application.launchdarkly-server-sdk$The version string for this library.None"#.79;=>?@AMPSUVX_`dksUNone"#.79;=>?@AMPSUVX_`dkt None"#.79;=>?@AMPSUVX_`dku  None"#.79;=>?@AMPSUVX_`dkv !None"#.79;=>?@AMPSUVX_`dkw   !"#$%&'()None"#.79;=>?@AMPSUVX_`dklaunchdarkly-server-sdkAllFlagsState captures the state of all feature flag keys as evaluated for a specific user. This includes their values, as well as other metadata.launchdarkly-server-sdk1Create a new instance of the LaunchDarkly client.launchdarkly-server-sdk.Return the initialization status of the Clientlaunchdarkly-server-sdkReturns an object that encapsulates the state of all feature flags for a given user. This includes the flag values, and also metadata that can be used on the front end.uThe most common use case for this method is to bootstrap a set of client-side feature flags from a back-end service.The first parameter will limit to only flags that are marked for use with the client-side SDK (by default, all flags are included).BThe second parameter will include evaluation reasons in the state.The third parameter will omit any metadata that is normally only used for event generation, such as flag versions and evaluation reasons, unless the flag has event tracking or debugging turned on0For more information, see the Reference Guide: <https://docs.launchdarkly.com/sdk/features/all-flags#haskelllaunchdarkly-server-sdkReturns a map from feature flag keys to values for a given user. If the result of the flag's evaluation would result in the default value, *U will be returned. This method does not send analytics events back to LaunchDarkly.launchdarkly-server-sdk&Identify reports details about a user.launchdarkly-server-sdkvTrack reports that a user has performed an event. Custom data can be attached to the event, and / or a numeric value.The numeric value is used by the LaunchDarkly experimentation feature in numeric custom metrics, and will also be returned as part of the custom event for Data Export.launchdarkly-server-sdkFAlias associates two users for analytics purposes with an alias event.kThe first parameter should be the new version of the user, the second parameter should be the old version.launchdarkly-server-sdkFlush tells the client that all pending analytics events (if any) should be delivered as soon as possible. Flushing is asynchronous, so this method will return before it is complete.launchdarkly-server-sdkClose shuts down the LaunchDarkly client. After calling this, the LaunchDarkly client should no longer be used. The method will block until all pending analytics events have been sent.launchdarkly-server-sdkEvaluate a Boolean typed flag.launchdarkly-server-sdk9Evaluate a Boolean typed flag, and return an explanation.launchdarkly-server-sdkEvaluate a String typed flag.launchdarkly-server-sdk8Evaluate a String typed flag, and return an explanation.launchdarkly-server-sdk6Evaluate a Number typed flag, and truncate the result.launchdarkly-server-sdkNEvaluate a Number typed flag, truncate the result, and return an explanation.launchdarkly-server-sdkEvaluate a Number typed flag.launchdarkly-server-sdk8Evaluate a Number typed flag, and return an explanation.launchdarkly-server-sdkEvaluate a JSON typed flag.launchdarkly-server-sdk6Evaluate a JSON typed flag, and return an explanation.2 !"#$%&'()*+,-.2*+,-. !"#$%&'()None"#.79;=>?@AMPSUVX_`dk[ !"#$%&'()*+,-.`abcdefghijklmnopqrstuvwxyz{|}~[adefghklmnopqrsytuvijwxz`bc{|}~*+,-. !"#$%&'()"None"#.79;=>?@AMPSUVX_`dk+,-./0123#$%&'()*+,-./0123456789: ; < = > ? @ A B C D E F G H I J K L M M N O PQRSTUVWXYZ[\]^_`aabcddefghijklmnonpqrstuvwxyz{|}~                                                                  !"W#$%&'()*+,-./-012234556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVVWXYZ[\]]^_`abcddefghijklmnopqrstuvwxyz{|}~ !!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$%"&"'"(")"*"+","-.4launchdarkly-server-sdk-3.1.1-IlRc3YEG2sUC9SNN08fKtmLaunchDarkly.AesonCompatLaunchDarkly.Server.Client)LaunchDarkly.Server.Integrations.TestDataLaunchDarkly.Server.Store)LaunchDarkly.Server.Integrations.FileDataLaunchDarkly.Server.ConfigLaunchDarkly.Server.User!LaunchDarkly.Server.Client.Status,LaunchDarkly.Server.Config.HttpConfiguration(LaunchDarkly.Server.Config.ClientContextLaunchDarkly.Server.DetailsLaunchDarkly.Server.OperatorsLaunchDarkly.Server.Features5LaunchDarkly.Server.Integrations.TestData.FlagBuilderflagupdate"LaunchDarkly.Server.Store.Internal'LaunchDarkly.Server.DataSource.InternalClientLaunchDarkly.ServerConfigconfigSetDataSourceFactoryconfigSetSendEventsconfigSetOffline#LaunchDarkly.Server.Config.Internal!LaunchDarkly.Server.User.InternalLaunchDarkly.Server.Events#LaunchDarkly.Server.Client.Internal"LaunchDarkly.Server.Network.Common%LaunchDarkly.Server.Network.Streaming#LaunchDarkly.Server.Network.Polling$LaunchDarkly.Server.Network.EventingLaunchDarkly.Server.EvaluatePaths_launchdarkly_server_sdkKeyMapnull emptyObject singletonfromListtoList deleteKey lookupKey objectKeys objectValues keyToText insertKey filterKeys filterObject adjustKey mapValues mapWithKeymapMaybeValues keyMapUnionStatus Uninitialized Unauthorized Initialized ShuttingDown EvalErrorKindEvalErrorKindMalformedFlagEvalErrorFlagNotFoundEvalErrorWrongTypeEvalErrorClientNotReadyEvalErrorExternalStoreEvaluationReasonEvaluationReasonOffEvaluationReasonTargetMatchEvaluationReasonRuleMatch"EvaluationReasonPrerequisiteFailedEvaluationReasonFallthroughEvaluationReasonError"$sel:ruleIndex:EvaluationReasonOff$sel:ruleId:EvaluationReasonOff%$sel:inExperiment:EvaluationReasonOff($sel:prerequisiteKey:EvaluationReasonOff"$sel:errorKind:EvaluationReasonOffEvaluationDetail$sel:value:EvaluationDetail$$sel:variationIndex:EvaluationDetail$sel:reason:EvaluationDetailFlagRuleBuilderfallthroughVariation offVariationvariationForAllUsersvariationForUser thenReturn FlagBuilderVariationIndex booleanFlagonvalueForAllUsers variationsifMatch ifNotMatchandMatch andNotMatch RawFeature $sel:rawFeatureBuffer:RawFeature!$sel:rawFeatureVersion:RawFeatureStoreInterface-$sel:storeInterfaceAllFeatures:StoreInterface,$sel:storeInterfaceGetFeature:StoreInterface/$sel:storeInterfaceUpsertFeature:StoreInterface/$sel:storeInterfaceIsInitialized:StoreInterface,$sel:storeInterfaceInitialize:StoreInterfaceFeatureNamespace FeatureKey StoreResultTestDatadataSourceFactory newTestData$fMonoidFileBody$fSemigroupFileBody$fGenericFileFlag$fFromJSONFileFlag$fShowFileFlag $fEqFileFlag$fGenericFileSegment$fFromJSONFileSegment$fShowFileSegment$fEqFileSegment$fGenericFileBody$fShowFileBody$fFromJSONFileBodyApplicationInfomakeApplicationInfowithApplicationValue makeConfig configSetKeyconfigSetBaseURIconfigSetStreamURIconfigSetEventsURIconfigSetStoreBackendconfigSetStoreTTLconfigSetStreamingconfigSetAllAttributesPrivateconfigSetPrivateAttributeNamesconfigSetFlushIntervalSecondsconfigSetPollIntervalSecondsconfigSetUserKeyLRUCapacityconfigSetInlineUsersInEventsconfigSetEventsCapacityconfigSetLoggerconfigSetRequestTimeoutSecondsconfigSetUseLddconfigSetManagerconfigSetApplicationInfoUsermakeUser userSetKeyuserSetSecondary userSetIPuserSetCountry userSetEmailuserSetFirstNameuserSetLastName userSetAvatar userSetNameuserSetAnonymous userSetCustomuserSetPrivateAttributeNames clientVersion AllFlagsState makeClient getStatus allFlagsStateallFlagsidentifytrackalias flushEventsclose boolVariationboolVariationDetailstringVariationstringVariationDetail intVariationintVariationDetaildoubleVariationdoubleVariationDetail jsonVariationjsonVariationDetail$fToJSONFlagState$fToJSONAllFlagsState$fShowFlagState$fGenericFlagState$fShowAllFlagsState$fGenericAllFlagsStatetransitionStatusHttpConfiguration,$sel:defaultRequestHeaders:HttpConfiguration,$sel:defaultRequestTimeout:HttpConfiguration!$sel:tlsManager:HttpConfigurationprepareRequest ClientContext$sel:runLogger:ClientContext$$sel:httpConfiguration:ClientContextisInExperimentOpOpSegmentMatchOpIn OpEndsWith OpStartsWith OpMatches OpContains OpLessThanOpLessThanOrEqual OpGreaterThanOpGreaterThanOrEqualOpBeforeOpAfter OpSemVerEqualOpSemVerLessThanOpSemVerGreaterThan OpUnknown getOperationClause$sel:attribute:Clause$sel:values:Clause$sel:op:Clause$sel:negate:ClauseSegment$sel:excluded:Segment$sel:included:Segment$sel:rules:Segment$sel:deleted:Segment$sel:salt:Segment$sel:version:Segment$sel:key:Segment SegmentRule$sel:bucketBy:SegmentRule$sel:weight:SegmentRule$sel:clauses:SegmentRule$sel:id:SegmentRule Prerequisite$sel:variation:Prerequisite$sel:key:PrerequisiteFlag $sel:clientSideAvailability:Flag$sel:debugEventsUntilDate:Flag$sel:fallthrough:Flag$sel:rules:Flag$sel:targets:Flag$sel:prerequisites:Flag$sel:deleted:Flag $sel:trackEventsFallthrough:Flag$sel:trackEvents:Flag$sel:salt:Flag$sel:variations:Flag$sel:offVariation:Flag$sel:version:Flag $sel:key:Flag $sel:on:FlagClientSideAvailability$$sel:explicit:ClientSideAvailability*$sel:usingMobileKey:ClientSideAvailability.$sel:usingEnvironmentId:ClientSideAvailabilityVariationOrRollout$sel:rollout:VariationOrRollout!$sel:variation:VariationOrRolloutRollout$sel:bucketBy:Rollout$sel:kind:Rollout$sel:seed:Rollout$sel:variations:Rollout RolloutKindRolloutKindRolloutRolloutKindExperimentWeightedVariation $sel:untracked:WeightedVariation$sel:weight:WeightedVariation $sel:variation:WeightedVariationRule$sel:trackEvents:Rule$sel:variationOrRollout:Rule$sel:clauses:Rule $sel:id:RuleTarget$sel:variation:Target$sel:values:TargetisClientSideOnlyFlag clearRulesclearUserTargets$aeson-1.4.4.0-1fGrbMT85MxLFyTOIpx2QjData.Aeson.Types.ToJSONToJSONData.Aeson.Types.InternalValue UserAttribute Variation$sel:fbKey:FlagBuilder$sel:fbOffVariation:FlagBuilder$sel:fbOn:FlagBuilder'$sel:fbFallthroughVariation:FlagBuilder$sel:fbVariations:FlagBuilder$sel:fbTargetMap:FlagBuilder$sel:fbRules:FlagBuilderUserKey buildFlagnewFlagBuilderbase GHC.MaybeNothing Data.EitherLeft Versioned$sel:value:Versioned$sel:version:Versioned StoreHandle#$sel:storeHandleGetFlag:StoreHandle&$sel:storeHandleGetSegment:StoreHandle$$sel:storeHandleAllFlags:StoreHandle'$sel:storeHandleInitialized:StoreHandle&$sel:storeHandleInitialize:StoreHandle)$sel:storeHandleUpsertSegment:StoreHandle&$sel:storeHandleUpsertFlag:StoreHandle%$sel:storeHandleExpireAll:StoreHandleLaunchDarklyStoreWritestoreInitializeCupsertSegmentC upsertFlagCLaunchDarklyStoreRead getAllFlagsCgetInitializedCgetFlagC getSegmentC StoreResultMinitializeStore insertFlag deleteFlag insertSegment deleteSegment makeStoreIO initializeversionedToRawgetFlag getSegment upsertFlag upsertSegment getAllFlags isInitializedDataSourceUpdates,$sel:dataSourceUpdatesInit:DataSourceUpdates2$sel:dataSourceUpdatesInsertFlag:DataSourceUpdates5$sel:dataSourceUpdatesInsertSegment:DataSourceUpdates2$sel:dataSourceUpdatesDeleteFlag:DataSourceUpdates5$sel:dataSourceUpdatesDeleteSegment:DataSourceUpdates1$sel:dataSourceUpdatesSetStatus:DataSourceUpdates DataSource'$sel:dataSourceIsInitialized:DataSource$sel:dataSourceStart:DataSource$sel:dataSourceStop:DataSourceDataSourceFactorynullDataSourceFactorydefaultDataSourceUpdatesConfigI$sel:key:ConfigI$sel:dataSourceFactory:ConfigI$sel:logger:ConfigI$sel:baseURI:ConfigI$sel:streamURI:ConfigI$sel:eventsURI:ConfigI$sel:storeBackend:ConfigI$sel:storeTTLSeconds:ConfigI$sel:streaming:ConfigI!$sel:allAttributesPrivate:ConfigI"$sel:privateAttributeNames:ConfigI!$sel:flushIntervalSeconds:ConfigI $sel:pollIntervalSeconds:ConfigI$sel:userKeyLRUCapacity:ConfigI $sel:inlineUsersInEvents:ConfigI$sel:eventsCapacity:ConfigI$sel:sendEvents:ConfigI$sel:offline:ConfigI"$sel:requestTimeoutSeconds:ConfigI$sel:useLdd:ConfigI$sel:manager:ConfigI$sel:applicationInfo:ConfigI mapConfigshouldSendEventsgetApplicationInfoHeader(http-client-0.6.4-24Cd5mIgHrTK1iSdVqHybxNetwork.HTTP.Client.TypesManagerUserI $sel:ip:UserI$sel:key:UserI$sel:name:UserI $sel:privateAttributeNames:UserI$sel:secondary:UserI$sel:country:UserI$sel:email:UserI$sel:firstName:UserI$sel:lastName:UserI$sel:avatar:UserI$sel:anonymous:UserI$sel:custom:UserI$sel:unwrapUser:UsermapUservalueOfuserSerializeRedacted EventTypeEventTypeAliasEventTypeDebugEventTypeIndexEventTypeCustomEventTypeFeatureEventTypeIdentifyEventTypeSummary BaseEvent$sel:creationDate:BaseEvent$sel:event:BaseEvent AliasEvent#$sel:previousContextKind:AliasEvent$sel:previousKey:AliasEvent$sel:contextKind:AliasEvent$sel:key:AliasEvent CustomEvent$sel:metricValue:CustomEvent$sel:contextKind:CustomEvent$sel:userKey:CustomEvent$sel:key:CustomEvent$sel:value:CustomEvent$sel:user:CustomEvent DebugEvent FeatureEvent$sel:defaultValue:FeatureEvent$sel:contextKind:FeatureEvent$sel:userKey:FeatureEvent$sel:variation:FeatureEvent$sel:reason:FeatureEvent$sel:version:FeatureEvent$sel:key:FeatureEvent$sel:value:FeatureEvent$sel:user:FeatureEvent IndexEvent$sel:user:IndexEvent IdentifyEvent$sel:key:IdentifyEvent$sel:user:IdentifyEventCounterContext$sel:variation:CounterContext$sel:unknown:CounterContext$sel:version:CounterContext$sel:value:CounterContext$sel:count:CounterContextFlagSummaryContext $sel:counters:FlagSummaryContext$$sel:defaultValue:FlagSummaryContext SummaryEvent$sel:features:SummaryEvent$sel:endDate:SummaryEvent$sel:startDate:SummaryEvent EventKind eventKind EventState$sel:userKeyLRU:EventState$sel:startDate:EventState$sel:summary:EventState#$sel:lastKnownServerTime:EventState$sel:events:EventState$sel:flush:EventState EvalEvent$sel:debug:EvalEvent!$sel:forceIncludeReason:EvalEvent$sel:prereqOf:EvalEvent$sel:defaultValue:EvalEvent#$sel:debugEventsUntilDate:EvalEvent$sel:trackEvents:EvalEvent$sel:variation:EvalEvent$sel:reason:EvalEvent$sel:version:EvalEvent$sel:key:EvalEvent$sel:value:EvalEvent ContextKindContextKindAnonymousUserContextKindUseruserGetContextKindmakeEventStateconvertFeatures queueEventunixMilliseconds makeBaseEventprocessSummaryaddUserToEventforceUserInlineInEventmakeFeatureEvent fromObjectnewUnknownFlagEventnewSuccessfulEvalEventmakeSummaryKeysummarizeEventputIfEmptyMVar runSummaryprocessEvalEventprocessEvalEventsmaybeIndexUser noticeUserClientI$sel:config:ClientI$sel:status:ClientI$sel:store:ClientI$sel:events:ClientI$sel:eventThreadPair:ClientI$sel:dataSource:ClientI setStatus getStatusItryHTTPaddToALwithResponseGenerichandleUnauthorized tryAuthorizedcheckAuthorization getServerTimeisHttpUnrecoverablestreamingThread pollingThread eventThread setFallbacksetValueisError evaluateTypedevaluateInternalClient getOffValue getVariationevaluateDetailstatuscheckPrerequisite sequenceUntilcheckPrerequisitesevaluateInternal errorDefault errorDetailgetValueForVariationOrRolloutsetInExperimentruleMatchesUservariationIndexForUserhexCharToNumberhexStringToNumber bucketUserfloatingOrInteger'bucketableStringValue maybeNegatematchAnyclauseMatchesUserNoSegmentsclauseMatchesUsersegmentRuleMatchesUsersegmentContainsUserNullversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName