From 3502d8bca41be705b9833cd062bca6d439ce1666 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 9 Aug 2023 18:35:53 -0400 Subject: [PATCH 01/37] First draft of threshold propagation proposal --- .../0235-sampling-threshold-in-trace-state.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 text/trace/0235-sampling-threshold-in-trace-state.md diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md new file mode 100644 index 000000000..d44de4439 --- /dev/null +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -0,0 +1,85 @@ +# Sampling Threshold Propagation in TraceState + +## Motivation + +Sampling can theoretically take place at nearly any point in a distributed tracing system. If sampling is to be performed at multiple points in the process, the only way to reason about it effectively is to make sure that the sampling decisions are **consistent**. In this context consistency is the property that allows different points in the sampling chain to make the same sampling decisions, based on information included with the trace. + +## Explanation + +The existing, experimental [specification for probability sampling using TraceState](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/tracestate-probability-sampling.md) is limited to powers-of-two probabilities, and is designed to work without making assumptions about TraceID randomness. +This system can only achieve non-power-of-two sampling using interpolation between powers of two, which is unnecessarily restrictive. +In existing sampling systems, sampling probabilities like 1%, 10%, and 75% are common, and it should be possible to express these without interpolation. +There is also a need for consistent sampling in the collection path (outside of the head-sampling paths) and using inherent randomness in the traceID is a less-expensive solution than referencing a custom `r-value` from the tracestate in every span. +This proposal allows for the continued expression of randomness using `r-value` as specified there using the key `r`. +However, that value is limited to powers of two, while this proposal is not; to distinguish the cases, this proposal uses the key `rv`. + + +In order to make consistent sampling decisions across the entire path of the trace, two values SHOULD be propagated with the trace: + +1. A random (or pseudo-random) value of at least 56 bits, called `R` below. +2. A 56-bit trace threshold as expressed in the TraceState, called `T` below. + +The sampling decision is propagated with the following algorithm: +* If the `th` key is not specified, then no previous sampling decision has been made. +* If the value of the `th` key is `!`, always sample. +* Else parse the `th` key as a hex value as described below. +* Compare the 56 bits of `T` with the 56 bits of `R`. If `T <= R`, then do not sample. +* This implies that if `T` is 0, then never sample. + +The `R` value MUST be derived as follows: +* If the Random Trace ID Flag is `true` in the traceparent header, then `R` is the lowest-order 56 bits of the trace-id. +* Else if the key `rv` is present in the Tracestate header, then `R = rv`. +* Else if the key `r` is present in the Tracestate header, then `R = 2**(56-r)`. +* Else `R` should be generated as a random value in the range `(0, (2**56)-1)` and added to the Tracestate header with key `rv`. + +The preferred way to propagate this value is as the lowest 56 bits of the trace-id. If these bits are in fact random, the `random` trace-flag SHOULD be set as specified in [the W3C trace context specification](https://w3c.github.io/trace-context/#trace-id). + +The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal characters from the set `[0-9a-f]`. Trailing zeros (but not leading zeros) may be omitted. _Question: should we permit [A-F] as well, or instead?_ + +Examples: +`th=!` -- "Always Sample". +`th=8` -- equivalent to `th=80000000000000`, which is 50% probability. +`th=08` -- equivalent to `th=08000000000000`, which is 3.125% probability. +`th=0` -- equivalent to `th=00000000000000`, which means "Never Sample". + +The `T` value MUST be derived as follows: +* If the `th` key is not present in the Tracestate header, then `T` is effectively 2^56 (which doesn't fit in 56 bits). +* Else the value corresponding to the `th` key should be interpreted as above. + + +Sampling Decisions, once made, SHOULD be propagated by setting the value of the `th` key in the Tracestate header according to the above. + +In the case of a downstream sampler that is attempting to reduce the volume of traffic, the sampler MAY modify the `th` header. + +A sampler MAY introduce an R value to a trace that does not include one. It SHOULD use `rv` for this purpose. A sampler MAY NOT modify an existing R value or trace-id. + +## Internal details + +The trace state header SHOULD contain a field with the key `rv`, and a value that corresponds to a 56-bit sampling threshold. +This value will be compared to the 56-bit random value associated with the trace. + +From a technical perspective, how do you propose accomplishing the proposal? In particular, please explain: + +* How the change would impact and interact with existing functionality +* Likely error modes (and how to handle them) +* Corner cases (and how to handle them) + +While you do not need to prescribe a particular implementation - indeed, OTEPs should be about **behaviour**, not implementation! - it may be useful to provide at least one suggestion as to how the proposal *could* be implemented. This helps reassure reviewers that implementation is at least possible, and often helps them inspire them to think more deeply about trade-offs, alternatives, etc. + +## Trade-offs and mitigations + +This proposal is the result of long negotiations on the Sampling SIG over what is required and various alternative forms of expressing it. [This issue](https://github.com/open-telemetry/opentelemetry-specification/issues/3602) exhaustively covers the various formats that were discussed and their pros and cons. This proposal is the result of that decision. + +## Prior art and alternatives + +The existing specification for `r-value` and `p-value` attempted to solve this problem, but were limited to powers of 2, which is inadequate. + +## Open questions + +This specification leaves room for different implementation options. For example, comparing hex strings or converting them to numeric format are both viable alternatives for handling the threshold. + +We also know that some implementations prefer to use a sampling probability (in the range from 0-1.0) or a sampling rate (1/probability); this design permits conversion to and from these formats without loss up to at least 6 decimal digits of precision. + +## Future possibilities + +This permits sampling systems to propagate consistent sampling information downstream where it can be compensated for. For example, this will enable the tail-sampling processor in the OTel Collector to propagate its sampling decisions to backends in a standard way. From 0369c35683b2feb1cf64f4d45d67ad0e1158bf03 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 31 Aug 2023 10:05:36 -0400 Subject: [PATCH 02/37] Respond to feedback. --- .../0235-sampling-threshold-in-trace-state.md | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index d44de4439..d39e3f203 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -20,38 +20,39 @@ In order to make consistent sampling decisions across the entire path of the tra 2. A 56-bit trace threshold as expressed in the TraceState, called `T` below. The sampling decision is propagated with the following algorithm: -* If the `th` key is not specified, then no previous sampling decision has been made. -* If the value of the `th` key is `!`, always sample. -* Else parse the `th` key as a hex value as described below. +* If the `th` key is not specified, Always Sample. +* Else derive `T` by parsing the `th` key as a hex value as described below. +* If `T` is 0, Always Sample. This implies that non-probabalistic sampling is taking place. * Compare the 56 bits of `T` with the 56 bits of `R`. If `T <= R`, then do not sample. -* This implies that if `T` is 0, then never sample. -The `R` value MUST be derived as follows: -* If the Random Trace ID Flag is `true` in the traceparent header, then `R` is the lowest-order 56 bits of the trace-id. -* Else if the key `rv` is present in the Tracestate header, then `R = rv`. -* Else if the key `r` is present in the Tracestate header, then `R = 2**(56-r)`. -* Else `R` should be generated as a random value in the range `(0, (2**56)-1)` and added to the Tracestate header with key `rv`. +The `R` value SHALL be derived as follows: +* If the key `rv` is present in the Tracestate header, then `R = rv`. +* Else if the Random Trace ID Flag is `true` in the traceparent header, then `R` is the lowest-order 56 bits of the trace-id. +* Else `R` SHALL be generated as a random value in the range `(0, (2**56)-1)` and added to the Tracestate header with key `rv`. -The preferred way to propagate this value is as the lowest 56 bits of the trace-id. If these bits are in fact random, the `random` trace-flag SHOULD be set as specified in [the W3C trace context specification](https://w3c.github.io/trace-context/#trace-id). +The preferred way to propagate the `R` value is as the lowest 56 bits of the trace-id. +If these bits are in fact random, the `random` trace-flag SHOULD be set as specified in [the W3C trace context specification](https://w3c.github.io/trace-context/#trace-id). +There are circumstances where trace-id randomness is inadequate (for example, sampling a group of traces together); in these cases, an `rv` value is required. -The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal characters from the set `[0-9a-f]`. Trailing zeros (but not leading zeros) may be omitted. _Question: should we permit [A-F] as well, or instead?_ +The value of the `rv` and `th` keys SHALL be expressed as up to 14 hexadecimal characters from the set `[0-9a-f]`. Trailing zeros (but not leading zeros) may be omitted. _Question: should we permit [A-F] as well, or instead?_ Examples: -`th=!` -- "Always Sample". +`th` value is missing: Always Sample (probability = 100%). The AlwaysSample sampler in the OTel SDK should do this. `th=8` -- equivalent to `th=80000000000000`, which is 50% probability. `th=08` -- equivalent to `th=08000000000000`, which is 3.125% probability. -`th=0` -- equivalent to `th=00000000000000`, which means "Never Sample". +`th=0` -- equivalent to `th=00000000000000`, which means Always Sample; this is outside of probabalistic sampling. -The `T` value MUST be derived as follows: +The `T` value SHALL be derived as follows: * If the `th` key is not present in the Tracestate header, then `T` is effectively 2^56 (which doesn't fit in 56 bits). * Else the value corresponding to the `th` key should be interpreted as above. -Sampling Decisions, once made, SHOULD be propagated by setting the value of the `th` key in the Tracestate header according to the above. +Sampling Decisions SHOULD be propagated by setting the value of the `th` key in the Tracestate header according to the above. In the case of a downstream sampler that is attempting to reduce the volume of traffic, the sampler MAY modify the `th` header. +Note that the `T` value may be reduced by a downstream sampler, but should never be increased. -A sampler MAY introduce an R value to a trace that does not include one. It SHOULD use `rv` for this purpose. A sampler MAY NOT modify an existing R value or trace-id. +A sampler SHALL introduce an R value to a trace that does not include one and does not have the `Random` trace-id flag set. It SHALL use the `rv` key for this purpose. A sampler SHALL NOT modify an existing R value or trace-id. ## Internal details From 8c84f4de4eb346276e02da3ef638f0cdb87b1489 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 31 Aug 2023 10:07:50 -0400 Subject: [PATCH 03/37] appease linter --- text/trace/0235-sampling-threshold-in-trace-state.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index d39e3f203..7643b6046 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -13,19 +13,20 @@ There is also a need for consistent sampling in the collection path (outside of This proposal allows for the continued expression of randomness using `r-value` as specified there using the key `r`. However, that value is limited to powers of two, while this proposal is not; to distinguish the cases, this proposal uses the key `rv`. - In order to make consistent sampling decisions across the entire path of the trace, two values SHOULD be propagated with the trace: 1. A random (or pseudo-random) value of at least 56 bits, called `R` below. 2. A 56-bit trace threshold as expressed in the TraceState, called `T` below. The sampling decision is propagated with the following algorithm: + * If the `th` key is not specified, Always Sample. * Else derive `T` by parsing the `th` key as a hex value as described below. * If `T` is 0, Always Sample. This implies that non-probabalistic sampling is taking place. * Compare the 56 bits of `T` with the 56 bits of `R`. If `T <= R`, then do not sample. The `R` value SHALL be derived as follows: + * If the key `rv` is present in the Tracestate header, then `R = rv`. * Else if the Random Trace ID Flag is `true` in the traceparent header, then `R` is the lowest-order 56 bits of the trace-id. * Else `R` SHALL be generated as a random value in the range `(0, (2**56)-1)` and added to the Tracestate header with key `rv`. @@ -46,7 +47,6 @@ The `T` value SHALL be derived as follows: * If the `th` key is not present in the Tracestate header, then `T` is effectively 2^56 (which doesn't fit in 56 bits). * Else the value corresponding to the `th` key should be interpreted as above. - Sampling Decisions SHOULD be propagated by setting the value of the `th` key in the Tracestate header according to the above. In the case of a downstream sampler that is attempting to reduce the volume of traffic, the sampler MAY modify the `th` header. From e8e04961c002e29f024ff233cd53cf77881c7c8d Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 31 Aug 2023 10:11:35 -0400 Subject: [PATCH 04/37] One more linty list --- text/trace/0235-sampling-threshold-in-trace-state.md | 1 + 1 file changed, 1 insertion(+) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 7643b6046..5a1507291 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -44,6 +44,7 @@ Examples: `th=0` -- equivalent to `th=00000000000000`, which means Always Sample; this is outside of probabalistic sampling. The `T` value SHALL be derived as follows: + * If the `th` key is not present in the Tracestate header, then `T` is effectively 2^56 (which doesn't fit in 56 bits). * Else the value corresponding to the `th` key should be interpreted as above. From 23b0bea653b61740ce25fc8984b39232b1ef419b Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 6 Sep 2023 16:20:44 -0400 Subject: [PATCH 05/37] Respond to feedback --- .../0235-sampling-threshold-in-trace-state.md | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 5a1507291..3d8c2bb3d 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -2,7 +2,8 @@ ## Motivation -Sampling can theoretically take place at nearly any point in a distributed tracing system. If sampling is to be performed at multiple points in the process, the only way to reason about it effectively is to make sure that the sampling decisions are **consistent**. In this context consistency is the property that allows different points in the sampling chain to make the same sampling decisions, based on information included with the trace. +Sampling can theoretically take place at nearly any point in a distributed tracing system. If sampling is to be performed at multiple points in the process, the only way to reason about it effectively is to make sure that the sampling decisions are **consistent**. +In this context, consistency means that a positive sampling decision made at a particular point with probability p1 implies a positive sampling decision made at another point that samples a different piece of information from the same trace with probability p2 >= p1. ## Explanation @@ -10,32 +11,34 @@ The existing, experimental [specification for probability sampling using TraceSt This system can only achieve non-power-of-two sampling using interpolation between powers of two, which is unnecessarily restrictive. In existing sampling systems, sampling probabilities like 1%, 10%, and 75% are common, and it should be possible to express these without interpolation. There is also a need for consistent sampling in the collection path (outside of the head-sampling paths) and using inherent randomness in the traceID is a less-expensive solution than referencing a custom `r-value` from the tracestate in every span. -This proposal allows for the continued expression of randomness using `r-value` as specified there using the key `r`. -However, that value is limited to powers of two, while this proposal is not; to distinguish the cases, this proposal uses the key `rv`. +This proposal introduces a new value with the key `th` as a replacement for the `p` value in the previous specification. +The `p` value is limited to powers of two, while this proposal is not. +This allows for the continued expression of randomness using `r-value` as specified there using the key `r`. +To distinguish the cases, this proposal uses the key `rv`. In order to make consistent sampling decisions across the entire path of the trace, two values SHOULD be propagated with the trace: -1. A random (or pseudo-random) value of at least 56 bits, called `R` below. -2. A 56-bit trace threshold as expressed in the TraceState, called `T` below. +1. A _random_ (or pseudo-random) 56-bit value, called `R` below. +2. A 56-bit trace _threshold_ as expressed in the TraceState, called `T` below. The sampling decision is propagated with the following algorithm: * If the `th` key is not specified, Always Sample. * Else derive `T` by parsing the `th` key as a hex value as described below. -* If `T` is 0, Always Sample. This implies that non-probabalistic sampling is taking place. +* If `T` is 0, Always Sample. This implies that non-probabilistic sampling is taking place. * Compare the 56 bits of `T` with the 56 bits of `R`. If `T <= R`, then do not sample. -The `R` value SHALL be derived as follows: +The `R` value MUST be derived as follows: * If the key `rv` is present in the Tracestate header, then `R = rv`. * Else if the Random Trace ID Flag is `true` in the traceparent header, then `R` is the lowest-order 56 bits of the trace-id. -* Else `R` SHALL be generated as a random value in the range `(0, (2**56)-1)` and added to the Tracestate header with key `rv`. +* Else `R` MUST be generated as a random value in the range `(0, (2**56)-1)` and added to the Tracestate header with key `rv`. The preferred way to propagate the `R` value is as the lowest 56 bits of the trace-id. If these bits are in fact random, the `random` trace-flag SHOULD be set as specified in [the W3C trace context specification](https://w3c.github.io/trace-context/#trace-id). There are circumstances where trace-id randomness is inadequate (for example, sampling a group of traces together); in these cases, an `rv` value is required. -The value of the `rv` and `th` keys SHALL be expressed as up to 14 hexadecimal characters from the set `[0-9a-f]`. Trailing zeros (but not leading zeros) may be omitted. _Question: should we permit [A-F] as well, or instead?_ +The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal characters from the set `[0-9a-f]`. Trailing zeros (but not leading zeros) may be omitted. _Question: should we permit [A-F] as well, or instead?_ Examples: `th` value is missing: Always Sample (probability = 100%). The AlwaysSample sampler in the OTel SDK should do this. @@ -43,17 +46,24 @@ Examples: `th=08` -- equivalent to `th=08000000000000`, which is 3.125% probability. `th=0` -- equivalent to `th=00000000000000`, which means Always Sample; this is outside of probabalistic sampling. -The `T` value SHALL be derived as follows: +The `T` value MUST be derived as follows: * If the `th` key is not present in the Tracestate header, then `T` is effectively 2^56 (which doesn't fit in 56 bits). * Else the value corresponding to the `th` key should be interpreted as above. Sampling Decisions SHOULD be propagated by setting the value of the `th` key in the Tracestate header according to the above. -In the case of a downstream sampler that is attempting to reduce the volume of traffic, the sampler MAY modify the `th` header. -Note that the `T` value may be reduced by a downstream sampler, but should never be increased. +## Changing T and R values -A sampler SHALL introduce an R value to a trace that does not include one and does not have the `Random` trace-id flag set. It SHALL use the `rv` key for this purpose. A sampler SHALL NOT modify an existing R value or trace-id. +The T value MAY be modified. + +In the case of a downstream sampler -- a tail sampler on the collection path that is attempting to reduce the volume of traffic -- the sampler MAY modify the `th` header by reducing its value. +It MAY NOT increase it, as it is not possible to retroactively adjust the sampling probability upward. + +A non-root head sampler MAY raise or lower the T value. +Note that changing the probability of a trace in flight introduces inconsistency and may cause the trace to be incomplete. + +A sampler MUST introduce an R value to a trace that does not include one and does not have the `Random` trace-id flag set. It MUST use the `rv` key for this purpose. A sampler MUST NOT modify an existing R value or trace-id. ## Internal details @@ -84,4 +94,6 @@ We also know that some implementations prefer to use a sampling probability (in ## Future possibilities -This permits sampling systems to propagate consistent sampling information downstream where it can be compensated for. For example, this will enable the tail-sampling processor in the OTel Collector to propagate its sampling decisions to backends in a standard way. +This permits sampling systems to propagate consistent sampling information downstream where it can be compensated for. +For example, this will enable the tail-sampling processor in the OTel Collector to propagate its sampling decisions to backends in a standard way. +This permits backend systems to use the effective sampling probability in data presentations. \ No newline at end of file From 6866873121af986f95047dbbf35b861b31edaacd Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 6 Sep 2023 16:23:25 -0400 Subject: [PATCH 06/37] Remove embedded question. --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 3d8c2bb3d..caf872aa8 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -38,7 +38,7 @@ The preferred way to propagate the `R` value is as the lowest 56 bits of the tra If these bits are in fact random, the `random` trace-flag SHOULD be set as specified in [the W3C trace context specification](https://w3c.github.io/trace-context/#trace-id). There are circumstances where trace-id randomness is inadequate (for example, sampling a group of traces together); in these cases, an `rv` value is required. -The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal characters from the set `[0-9a-f]`. Trailing zeros (but not leading zeros) may be omitted. _Question: should we permit [A-F] as well, or instead?_ +The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal characters from the set `[0-9a-f]`. Trailing zeros (but not leading zeros) may be omitted. Examples: `th` value is missing: Always Sample (probability = 100%). The AlwaysSample sampler in the OTel SDK should do this. From f3fc7c26dadd67d8437a4c8371f5d604d4e0a574 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 6 Sep 2023 16:31:06 -0400 Subject: [PATCH 07/37] sampled flag --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index caf872aa8..00a1ffe4d 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -25,7 +25,7 @@ The sampling decision is propagated with the following algorithm: * If the `th` key is not specified, Always Sample. * Else derive `T` by parsing the `th` key as a hex value as described below. -* If `T` is 0, Always Sample. This implies that non-probabilistic sampling is taking place. +* If `T` is 0 and the _sampled_ flag is set, Always Sample. This implies that non-probabilistic sampling is taking place. * Compare the 56 bits of `T` with the 56 bits of `R`. If `T <= R`, then do not sample. The `R` value MUST be derived as follows: From 5a9e0d931e27dd98236da311334c4729f17a7054 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 6 Sep 2023 16:32:15 -0400 Subject: [PATCH 08/37] lint --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 00a1ffe4d..64f1c6c31 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -96,4 +96,4 @@ We also know that some implementations prefer to use a sampling probability (in This permits sampling systems to propagate consistent sampling information downstream where it can be compensated for. For example, this will enable the tail-sampling processor in the OTel Collector to propagate its sampling decisions to backends in a standard way. -This permits backend systems to use the effective sampling probability in data presentations. \ No newline at end of file +This permits backend systems to use the effective sampling probability in data presentations. From 38654af649501e9e9a4d00936152cc1a389b3c51 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 13 Sep 2023 19:28:11 -0400 Subject: [PATCH 09/37] More feedback --- text/trace/0235-sampling-threshold-in-trace-state.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 64f1c6c31..6842aa982 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -58,9 +58,10 @@ Sampling Decisions SHOULD be propagated by setting the value of the `th` key in The T value MAY be modified. In the case of a downstream sampler -- a tail sampler on the collection path that is attempting to reduce the volume of traffic -- the sampler MAY modify the `th` header by reducing its value. -It MAY NOT increase it, as it is not possible to retroactively adjust the sampling probability upward. +It MUST NOT increase it, as it is not possible to retroactively adjust the sampling probability upward. A non-root head sampler MAY raise or lower the T value. +This may be necessary in situations where a non-root sampler wishes to ensure that the remainder of the trace is sampled due to some exceptional occurrence. Note that changing the probability of a trace in flight introduces inconsistency and may cause the trace to be incomplete. A sampler MUST introduce an R value to a trace that does not include one and does not have the `Random` trace-id flag set. It MUST use the `rv` key for this purpose. A sampler MUST NOT modify an existing R value or trace-id. @@ -70,14 +71,6 @@ A sampler MUST introduce an R value to a trace that does not include one and doe The trace state header SHOULD contain a field with the key `rv`, and a value that corresponds to a 56-bit sampling threshold. This value will be compared to the 56-bit random value associated with the trace. -From a technical perspective, how do you propose accomplishing the proposal? In particular, please explain: - -* How the change would impact and interact with existing functionality -* Likely error modes (and how to handle them) -* Corner cases (and how to handle them) - -While you do not need to prescribe a particular implementation - indeed, OTEPs should be about **behaviour**, not implementation! - it may be useful to provide at least one suggestion as to how the proposal *could* be implemented. This helps reassure reviewers that implementation is at least possible, and often helps them inspire them to think more deeply about trade-offs, alternatives, etc. - ## Trade-offs and mitigations This proposal is the result of long negotiations on the Sampling SIG over what is required and various alternative forms of expressing it. [This issue](https://github.com/open-telemetry/opentelemetry-specification/issues/3602) exhaustively covers the various formats that were discussed and their pros and cons. This proposal is the result of that decision. From de457b19d6873099c355f9d9409d4de02f35c586 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 13 Sep 2023 21:04:01 -0400 Subject: [PATCH 10/37] Explain common algorithms --- .../0235-sampling-threshold-in-trace-state.md | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 6842aa982..fa252bbdd 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -71,6 +71,58 @@ A sampler MUST introduce an R value to a trace that does not include one and doe The trace state header SHOULD contain a field with the key `rv`, and a value that corresponds to a 56-bit sampling threshold. This value will be compared to the 56-bit random value associated with the trace. +## Algorithms + +The `th` and `rv` values may be represented and manipulated in a variety of forms depending on the capabilities of the processor and needs of the implementation. As 56-bit values, they are compatible with byte arrays and 64-bit integers, and can also be manipulated with 64-bit floating point with a truly negligible loss of precision. + +The following examples are in Python3. They are intended as examples only for clarity, and not as a suggested implementation. + +### Converting t-value to a 56-bit integer threshold + +To convert a t-value string to a 56-bit integer threshold, pad it on the right with 0s so that it is 14 digits in length, and then parse it as a hexadecimal value. + +```py +padded = (tvalue + "00000000000000")[:14] +threshold = int('0x' + padded, 16) +``` + +### Converting integer threshold to a t-value + +To convert a 56-bit integer threshold value to the t-value representation, emit it as a hexidecimal value (without a leading '0x'), optionally with trailing zeros omitted: + +```py +h = hex(tvalue).rstrip('0') +# remove leading 0x +tv = 'tv='+h[2:] +``` + +### Testing rv vs threshold + +Given rv and threshold as 64-bit integers, a sample should be taken if rv is strictly less than the threshold. + +``` +shouldSample = (rv < threshold) +``` + +### Converting threshold to a sampling probability + +The sampling probability is a value from 0.0 to 1.0, which can be calculated using floating point by dividing by 2^56: + +```py +# embedded _ in numbers for clarity (permitted by Python3) +maxth = 0x100_0000_0000_0000 # 2^56 +prob = float(threshold) / maxth +``` + +### Converting threshold to an adjusted count (sampling rate) + +The adjusted count is an integer value, indicating the quantity of items from the population that this sample represents. It is 1/probability converted to an integer. + +```py +maxth = 0x100_0000_0000_0000 # 2^56 +adjcount = int((maxth / float(threshold)) + 0.5) +``` + ## Trade-offs and mitigations This proposal is the result of long negotiations on the Sampling SIG over what is required and various alternative forms of expressing it. [This issue](https://github.com/open-telemetry/opentelemetry-specification/issues/3602) exhaustively covers the various formats that were discussed and their pros and cons. This proposal is the result of that decision. From 5e43b9bdd076a0d1867366aebd00425f1fd43ed7 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 28 Sep 2023 10:11:34 -0400 Subject: [PATCH 11/37] Incorporate further feedback --- .../0235-sampling-threshold-in-trace-state.md | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index fa252bbdd..934bf0e18 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -3,7 +3,7 @@ ## Motivation Sampling can theoretically take place at nearly any point in a distributed tracing system. If sampling is to be performed at multiple points in the process, the only way to reason about it effectively is to make sure that the sampling decisions are **consistent**. -In this context, consistency means that a positive sampling decision made at a particular point with probability p1 implies a positive sampling decision made at another point that samples a different piece of information from the same trace with probability p2 >= p1. +In this context, consistency means that a positive sampling decision made for a particular span with probability p1 implies a positive sampling decision for any span belonging to the same trace, if it is made with probability p2 >= p1. ## Explanation @@ -19,7 +19,11 @@ To distinguish the cases, this proposal uses the key `rv`. In order to make consistent sampling decisions across the entire path of the trace, two values SHOULD be propagated with the trace: 1. A _random_ (or pseudo-random) 56-bit value, called `R` below. -2. A 56-bit trace _threshold_ as expressed in the TraceState, called `T` below. +2. A 56-bit trace _threshold_ as expressed in the TraceState, called `T` below. `T` represents the minimum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a lower threshold than any stage before, it has to update (decrease) the threshold correspondingly. + +The system has the following invariant: + +`(T=0) OR ((R < T) = sampled flag)` The sampling decision is propagated with the following algorithm: @@ -32,7 +36,7 @@ The `R` value MUST be derived as follows: * If the key `rv` is present in the Tracestate header, then `R = rv`. * Else if the Random Trace ID Flag is `true` in the traceparent header, then `R` is the lowest-order 56 bits of the trace-id. -* Else `R` MUST be generated as a random value in the range `(0, (2**56)-1)` and added to the Tracestate header with key `rv`. +* Else `R` MUST be generated as a random value in the range `[0, (2**56)-1]` and added to the Tracestate header with key `rv`. The preferred way to propagate the `R` value is as the lowest 56 bits of the trace-id. If these bits are in fact random, the `random` trace-flag SHOULD be set as specified in [the W3C trace context specification](https://w3c.github.io/trace-context/#trace-id). @@ -51,7 +55,7 @@ The `T` value MUST be derived as follows: * If the `th` key is not present in the Tracestate header, then `T` is effectively 2^56 (which doesn't fit in 56 bits). * Else the value corresponding to the `th` key should be interpreted as above. -Sampling Decisions SHOULD be propagated by setting the value of the `th` key in the Tracestate header according to the above. +Sampling Decisions MUST be propagated by setting the value of the `th` key in the Tracestate header according to the above. ## Changing T and R values @@ -60,9 +64,8 @@ The T value MAY be modified. In the case of a downstream sampler -- a tail sampler on the collection path that is attempting to reduce the volume of traffic -- the sampler MAY modify the `th` header by reducing its value. It MUST NOT increase it, as it is not possible to retroactively adjust the sampling probability upward. -A non-root head sampler MAY raise or lower the T value. -This may be necessary in situations where a non-root sampler wishes to ensure that the remainder of the trace is sampled due to some exceptional occurrence. -Note that changing the probability of a trace in flight introduces inconsistency and may cause the trace to be incomplete. +A consistent head sampler MUST set the T value corresponding to the sampling probability it actually uses. If it samples a non-root span, it MAY use the sampling probability of the parent span and use its T value. +Using different sampling probabilities for spans belonging to the same trace will lead to incomplete traces. A sampler MUST introduce an R value to a trace that does not include one and does not have the `Random` trace-id flag set. It MUST use the `rv` key for this purpose. A sampler MUST NOT modify an existing R value or trace-id. @@ -81,6 +84,10 @@ The following examples are in Python3. They are intended as examples only for cl To convert a t-value string to a 56-bit integer threshold, pad it on the right with 0s so that it is 14 digits in length, and then parse it as a hexadecimal value. +NOTES +**** INTERMEDIATE SPAN SAMPLING might be a useful term to explain "in the process of..." **** + + ```py padded = (tvalue + "00000000000000")[:14] threshold = int('0x' + padded, 16) From ac0b11c61c66956f791bc7523892839f740cfa2b Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 4 Oct 2023 11:04:17 -0400 Subject: [PATCH 12/37] fix lint errors --- text/trace/0235-sampling-threshold-in-trace-state.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 934bf0e18..9226b600b 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -84,10 +84,6 @@ The following examples are in Python3. They are intended as examples only for cl To convert a t-value string to a 56-bit integer threshold, pad it on the right with 0s so that it is 14 digits in length, and then parse it as a hexadecimal value. -NOTES -**** INTERMEDIATE SPAN SAMPLING might be a useful term to explain "in the process of..." **** - - ```py padded = (tvalue + "00000000000000")[:14] threshold = int('0x' + padded, 16) @@ -95,7 +91,7 @@ threshold = int('0x' + padded, 16) ### Converting integer threshold to a t-value -To convert a 56-bit integer threshold value to the t-value representation, emit it as a hexidecimal value (without a leading '0x'), optionally with trailing zeros omitted: +To convert a 56-bit integer threshold value to the t-value representation, emit it as a hexadecimal value (without a leading '0x'), optionally with trailing zeros omitted: ```py h = hex(tvalue).rstrip('0') From 12aa163fb2189cbbbab68f486c0b156377297b8c Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 4 Oct 2023 11:15:20 -0400 Subject: [PATCH 13/37] Update with image --- .../0235-sampling-threshold-calculation.png | Bin 0 -> 127427 bytes .../0235-sampling-threshold-in-trace-state.md | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 text/img/0235-sampling-threshold-calculation.png diff --git a/text/img/0235-sampling-threshold-calculation.png b/text/img/0235-sampling-threshold-calculation.png new file mode 100644 index 0000000000000000000000000000000000000000..c557d5b54fcd473a061ff827d67ca41aaf613626 GIT binary patch literal 127427 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 `M{tX4^!O#+|M}&5EFgY_6^Gkh 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 literal 0 HcmV?d00001 diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 9226b600b..44e700fe0 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -74,6 +74,10 @@ A sampler MUST introduce an R value to a trace that does not include one and doe The trace state header SHOULD contain a field with the key `rv`, and a value that corresponds to a 56-bit sampling threshold. This value will be compared to the 56-bit random value associated with the trace. +## Visual + +![Sampling decision flow](../img/0235-sampling-threshold-calculation.png) + ## Algorithms The `th` and `rv` values may be represented and manipulated in a variety of forms depending on the capabilities of the processor and needs of the implementation. As 56-bit values, they are compatible with byte arrays and 64-bit integers, and can also be manipulated with 64-bit floating point with a truly negligible loss of precision. From 4698ae5941e20c2d4936e70d69f687ebb6ae38c5 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 5 Oct 2023 11:25:23 -0400 Subject: [PATCH 14/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Joshua MacDonald --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 44e700fe0..779f4a9ae 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -2,7 +2,7 @@ ## Motivation -Sampling can theoretically take place at nearly any point in a distributed tracing system. If sampling is to be performed at multiple points in the process, the only way to reason about it effectively is to make sure that the sampling decisions are **consistent**. +Sampling is a broad topic; here it refers to the independent decisions made at points in a distributed tracing system of whether to collect a span or not. Multiple sampling decisions can be made before a span is finally consumed. When sampling is to be performed at multiple points in the process, the only way to reason about it effectively is to make sure that the sampling decisions are **consistent**. In this context, consistency means that a positive sampling decision made for a particular span with probability p1 implies a positive sampling decision for any span belonging to the same trace, if it is made with probability p2 >= p1. ## Explanation From 5ad5630130e18e2b541814fe5a21c2da68a8aa47 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 12 Oct 2023 09:44:28 -0400 Subject: [PATCH 15/37] respond to some feedback --- .../0235-sampling-threshold-in-trace-state.md | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 779f4a9ae..05d2af525 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -12,8 +12,8 @@ This system can only achieve non-power-of-two sampling using interpolation betwe In existing sampling systems, sampling probabilities like 1%, 10%, and 75% are common, and it should be possible to express these without interpolation. There is also a need for consistent sampling in the collection path (outside of the head-sampling paths) and using inherent randomness in the traceID is a less-expensive solution than referencing a custom `r-value` from the tracestate in every span. This proposal introduces a new value with the key `th` as a replacement for the `p` value in the previous specification. -The `p` value is limited to powers of two, while this proposal is not. -This allows for the continued expression of randomness using `r-value` as specified there using the key `r`. +The `p` value is limited to powers of two, while the `th` value in this proposal supports a large range of values. +This proposal allows for the continued expression of randomness using `r-value` as specified there using the key `r`. To distinguish the cases, this proposal uses the key `rv`. In order to make consistent sampling decisions across the entire path of the trace, two values SHOULD be propagated with the trace: @@ -21,6 +21,25 @@ In order to make consistent sampling decisions across the entire path of the tra 1. A _random_ (or pseudo-random) 56-bit value, called `R` below. 2. A 56-bit trace _threshold_ as expressed in the TraceState, called `T` below. `T` represents the minimum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a lower threshold than any stage before, it has to update (decrease) the threshold correspondingly. +Here is an example involving three participants A, B, and C: + +A -> B -> C + +where -> indicates a parent -> child relationship. + +A uses consistent probability sampling with a sampling rate of 0.25. +B uses consistent probability sampling with a sampling rate of 0.5. +C uses a parent-based sampler. + +When A samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to 0x40 0000 0000 0000. +When A does not sample a span, its outgoing traceparent will have the 'sampled' flag UNSET but the 'th' in its outgoing tracestate will still be set to 0x40 0000 0000 0000. +When B samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to 0x80 0000 0000 0000. +C (being a parent based sampler) samples a span purely based on its parent (B in this case), it will use the sampled flag to make the decision. Its outgoing 'th' value will continue to reflect what it got from B (0x80 0000 0000 0000), and this is useful to understand its adjusted count. + +This design requires that as a given span progresses along its collection path, `th` is non-increasing (and, in particular, must be decreased at stages that apply lower sampling probabilities). +It does not, however, restrict a span's initial `th` in any way (e.g., relating it to that of its parent, if it has one). +It is acceptable for B to have a greater initial `th` than A has. It would not be ok if some later-stage sampler increased A's `th`. + The system has the following invariant: `(T=0) OR ((R < T) = sampled flag)` @@ -42,10 +61,10 @@ The preferred way to propagate the `R` value is as the lowest 56 bits of the tra If these bits are in fact random, the `random` trace-flag SHOULD be set as specified in [the W3C trace context specification](https://w3c.github.io/trace-context/#trace-id). There are circumstances where trace-id randomness is inadequate (for example, sampling a group of traces together); in these cases, an `rv` value is required. -The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal characters from the set `[0-9a-f]`. Trailing zeros (but not leading zeros) may be omitted. +The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal digits from the set `[0-9a-f]`. For `th` keys only, trailing zeros (but not leading zeros) may be omitted. `rv` keys MUST always be exactly 14 hex digits. Examples: -`th` value is missing: Always Sample (probability = 100%). The AlwaysSample sampler in the OTel SDK should do this. +`th` value is missing: Always Sample (probability = 100%). The AlwaysOn sampler in the OTel SDK should do this. `th=8` -- equivalent to `th=80000000000000`, which is 50% probability. `th=08` -- equivalent to `th=08000000000000`, which is 3.125% probability. `th=0` -- equivalent to `th=00000000000000`, which means Always Sample; this is outside of probabalistic sampling. From 52179165a416c4a1cfb9122701bb1ea2d8b61e21 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 12 Oct 2023 09:51:26 -0400 Subject: [PATCH 16/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Spencer Wilson <5624115+spencerwilson@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 05d2af525..d296e5c45 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -142,12 +142,11 @@ prob = float(threshold) / maxth ### Converting threshold to an adjusted count (sampling rate) -The adjusted count is an integer value, indicating the quantity of items from the population that this sample represents. It is 1/probability converted to an integer. +The adjusted count is an integer value, indicating the approximate quantity of items from the population that this sample represents. It is 1/probability, [rounded half-up](https://en.wikipedia.org/wiki/Rounding#Rounding_half_up) to the nearest integer. It is not defined for spans that were obtained via non-probabilistic sampling (a sampled span with integer threshold = 0). ```py maxth = 0x100_0000_0000_0000 # 2^56 -adjcount = int((maxth / float(threshold)) + 0.5) -``` +adjcount = math.floor((maxth / float(threshold)) + 0.5) ## Trade-offs and mitigations From 65b9a7b41b1213e2384dfaa1e3b04c8716a92005 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 30 Nov 2023 09:02:00 -0500 Subject: [PATCH 17/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Clarification for consistency Co-authored-by: Spencer Wilson <5624115+spencerwilson@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index d296e5c45..2711bb6c0 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -16,7 +16,7 @@ The `p` value is limited to powers of two, while the `th` value in this proposal This proposal allows for the continued expression of randomness using `r-value` as specified there using the key `r`. To distinguish the cases, this proposal uses the key `rv`. -In order to make consistent sampling decisions across the entire path of the trace, two values SHOULD be propagated with the trace: +In the general case, in order to make consistent sampling decisions across the entire path of the trace, two values MUST be present in the `SpanContext`: 1. A _random_ (or pseudo-random) 56-bit value, called `R` below. 2. A 56-bit trace _threshold_ as expressed in the TraceState, called `T` below. `T` represents the minimum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a lower threshold than any stage before, it has to update (decrease) the threshold correspondingly. From 66bc0d21944b05038a9e2aa4b49af0473532906b Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 30 Nov 2023 09:03:55 -0500 Subject: [PATCH 18/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Rewrite for clarity Co-authored-by: Spencer Wilson <5624115+spencerwilson@users.noreply.github.com> --- .../0235-sampling-threshold-in-trace-state.md | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 2711bb6c0..41a5924c6 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -76,17 +76,34 @@ The `T` value MUST be derived as follows: Sampling Decisions MUST be propagated by setting the value of the `th` key in the Tracestate header according to the above. -## Changing T and R values +## Initializing and updating T and R values -The T value MAY be modified. +There are two categories of sampler: +- **Head samplers:** Implementations of [`Sampler`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.25.0/specification/trace/sdk.md#sampler), called by a `Tracer` during span creation. +- **Downstream samplers:** Any component that, given an ended Span, decides whether to drop or forward ("sample") it on to the next component in the system. Also known as "collection-path samplers" or "sampling processors". _Tail samplers_ are a special class of downstream samplers that buffer the spans in a trace and select a sampling probability for the trace as a whole using data from any span in the buffered trace. -In the case of a downstream sampler -- a tail sampler on the collection path that is attempting to reduce the volume of traffic -- the sampler MAY modify the `th` header by reducing its value. -It MUST NOT increase it, as it is not possible to retroactively adjust the sampling probability upward. +This section defines behavior for each kind of sampler. -A consistent head sampler MUST set the T value corresponding to the sampling probability it actually uses. If it samples a non-root span, it MAY use the sampling probability of the parent span and use its T value. -Using different sampling probabilities for spans belonging to the same trace will lead to incomplete traces. +### Head samplers -A sampler MUST introduce an R value to a trace that does not include one and does not have the `Random` trace-id flag set. It MUST use the `rv` key for this purpose. A sampler MUST NOT modify an existing R value or trace-id. +A head sampler is responsible for computing a new span's initial [`TraceState`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.25.0/specification/trace/api.md#tracestate) (among other data). Notable inputs to that computation include the parent span's trace state (if a parent span exists) and the new span's trace ID. + +First, a consistent `Sampler` decides which sampling probability to use. The sampler MAY select any value of T. If a valid `SpanContext` is provided in the call to `ShouldSample` (indicating that the span being created will be a child span), +- Choosing a T less than the parent span's is expected to result in partial traces (the parent may be sampled but the child dropped). +- Choosing a T greater than or equal to the parent span is expected to result in complete traces (this is definition of consistent probability sampling). + +For the output TraceState, +- The `th` key MUST be defined, with value describing the sampling probability the sampler actually used. +- The `rv` value, if present on the input TraceState, MUST be defined and equal to the parent span's `rv`. Otherwise, `rv` MUST be defined if and only if the effective R was _generated_ during the decision, per the "derive R" algorithm given earlier. + +TODO: For _new_ spans, `ShouldSample` doesn't currently have a way to know the new Span's `TraceFlags`, so it can't determine whether the Random Trace ID Flag is set, and in turn can't execute the "derive R" algorithm. Maybe it should take `TraceFlags` as an additional parameter, just like it takes `TraceId`? + +### Downstream samplers + +A downstream sampler, in contrast, may output a given ended Span with a _modified_ trace state, complying with following rules: + +- If the chosen sampling probability is 1, the sampler MUST NOT modify any existing `th`, nor set any `th`. +- Otherwise, the chosen sampling probability is in `(0, 1)`. In this case the sampler MUST output the span with a `th` equal to `min(input th, chosen th)`. In other words, `th` MUST NOT be increased (as it is not possible to retroactively adjust an earlier stage's sampling probability), and it MUST be decreased if a lower sampling probability was used. This case represents the common case where a downstream sampler is reducing span throughput in the system. ## Internal details From a0b4bf086affdd8d80036f1ccac80755d9dea465 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 30 Nov 2023 09:05:41 -0500 Subject: [PATCH 19/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Spencer Wilson <5624115+spencerwilson@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 41a5924c6..e96e32dae 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -19,7 +19,7 @@ To distinguish the cases, this proposal uses the key `rv`. In the general case, in order to make consistent sampling decisions across the entire path of the trace, two values MUST be present in the `SpanContext`: 1. A _random_ (or pseudo-random) 56-bit value, called `R` below. -2. A 56-bit trace _threshold_ as expressed in the TraceState, called `T` below. `T` represents the minimum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a lower threshold than any stage before, it has to update (decrease) the threshold correspondingly. +2. A 56-bit _drop threshold_ (or just "threshold") as expressed in the TraceState, called `T` below. `T` represents the minimum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a lower threshold than any stage before, it MUST update (decrease) the threshold correspondingly. Here is an example involving three participants A, B, and C: From bbdf1af88f873ec72f0c91b60d2f7ffa78fc6bcc Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 30 Nov 2023 09:10:55 -0500 Subject: [PATCH 20/37] Fix adjusted count language --- text/trace/0235-sampling-threshold-in-trace-state.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index e96e32dae..a8964ccf0 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -159,11 +159,7 @@ prob = float(threshold) / maxth ### Converting threshold to an adjusted count (sampling rate) -The adjusted count is an integer value, indicating the approximate quantity of items from the population that this sample represents. It is 1/probability, [rounded half-up](https://en.wikipedia.org/wiki/Rounding#Rounding_half_up) to the nearest integer. It is not defined for spans that were obtained via non-probabilistic sampling (a sampled span with integer threshold = 0). - -```py -maxth = 0x100_0000_0000_0000 # 2^56 -adjcount = math.floor((maxth / float(threshold)) + 0.5) +The adjusted count indicates the approximate quantity of items from the population that this sample represents. It is equal to `1/probability`. It is not defined for spans that were obtained via non-probabilistic sampling (a sampled span with integer threshold = 0). ## Trade-offs and mitigations From 84077b576177b7119a45b3bf38b2152d2499d44c Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 30 Nov 2023 09:15:35 -0500 Subject: [PATCH 21/37] Appease the linter --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index a8964ccf0..837fa2704 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -89,10 +89,12 @@ This section defines behavior for each kind of sampler. A head sampler is responsible for computing a new span's initial [`TraceState`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.25.0/specification/trace/api.md#tracestate) (among other data). Notable inputs to that computation include the parent span's trace state (if a parent span exists) and the new span's trace ID. First, a consistent `Sampler` decides which sampling probability to use. The sampler MAY select any value of T. If a valid `SpanContext` is provided in the call to `ShouldSample` (indicating that the span being created will be a child span), + - Choosing a T less than the parent span's is expected to result in partial traces (the parent may be sampled but the child dropped). - Choosing a T greater than or equal to the parent span is expected to result in complete traces (this is definition of consistent probability sampling). For the output TraceState, + - The `th` key MUST be defined, with value describing the sampling probability the sampler actually used. - The `rv` value, if present on the input TraceState, MUST be defined and equal to the parent span's `rv`. Otherwise, `rv` MUST be defined if and only if the effective R was _generated_ during the decision, per the "derive R" algorithm given earlier. From 106aa2d5117ad9df46990c964eddffd89524f284 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 30 Nov 2023 09:18:35 -0500 Subject: [PATCH 22/37] Cmon, lint. Tell me all the problems at once! --- text/trace/0235-sampling-threshold-in-trace-state.md | 1 + 1 file changed, 1 insertion(+) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 837fa2704..bed1803a3 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -79,6 +79,7 @@ Sampling Decisions MUST be propagated by setting the value of the `th` key in th ## Initializing and updating T and R values There are two categories of sampler: + - **Head samplers:** Implementations of [`Sampler`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.25.0/specification/trace/sdk.md#sampler), called by a `Tracer` during span creation. - **Downstream samplers:** Any component that, given an ended Span, decides whether to drop or forward ("sample") it on to the next component in the system. Also known as "collection-path samplers" or "sampling processors". _Tail samplers_ are a special class of downstream samplers that buffer the spans in a trace and select a sampling probability for the trace as a whole using data from any span in the buffered trace. From 9d2c5e9ba890af26b0731dbc811eb51765202472 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 10 Jan 2024 21:08:57 -0500 Subject: [PATCH 23/37] Try to convert to rejection threshold --- .../0235-sampling-threshold-in-trace-state.md | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index bed1803a3..9ec42f7d6 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -11,7 +11,7 @@ The existing, experimental [specification for probability sampling using TraceSt This system can only achieve non-power-of-two sampling using interpolation between powers of two, which is unnecessarily restrictive. In existing sampling systems, sampling probabilities like 1%, 10%, and 75% are common, and it should be possible to express these without interpolation. There is also a need for consistent sampling in the collection path (outside of the head-sampling paths) and using inherent randomness in the traceID is a less-expensive solution than referencing a custom `r-value` from the tracestate in every span. -This proposal introduces a new value with the key `th` as a replacement for the `p` value in the previous specification. +This proposal introduces a new value with the key `th` as an alternative to the `p` value in the previous specification. The `p` value is limited to powers of two, while the `th` value in this proposal supports a large range of values. This proposal allows for the continued expression of randomness using `r-value` as specified there using the key `r`. To distinguish the cases, this proposal uses the key `rv`. @@ -19,37 +19,37 @@ To distinguish the cases, this proposal uses the key `rv`. In the general case, in order to make consistent sampling decisions across the entire path of the trace, two values MUST be present in the `SpanContext`: 1. A _random_ (or pseudo-random) 56-bit value, called `R` below. -2. A 56-bit _drop threshold_ (or just "threshold") as expressed in the TraceState, called `T` below. `T` represents the minimum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a lower threshold than any stage before, it MUST update (decrease) the threshold correspondingly. +2. A 56-bit _rejection threshold_ (or just "threshold") as expressed in the TraceState, called `T` below. `T` represents the maximum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a greater-valued threshold than any stage before, it MUST update (increase) the threshold correspondingly. -Here is an example involving three participants A, B, and C: +Here is an example involving three participants `A`, `B`, and `C`: -A -> B -> C +`A` -> `B` -> `C` where -> indicates a parent -> child relationship. -A uses consistent probability sampling with a sampling rate of 0.25. -B uses consistent probability sampling with a sampling rate of 0.5. -C uses a parent-based sampler. +`A` uses consistent probability sampling with a sampling probability of 0.25 (this corresponds to a rejection probability of .75). +`B` uses consistent probability sampling with a sampling probability of 0.5. +`C` uses a parent-based sampler. -When A samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to 0x40 0000 0000 0000. -When A does not sample a span, its outgoing traceparent will have the 'sampled' flag UNSET but the 'th' in its outgoing tracestate will still be set to 0x40 0000 0000 0000. -When B samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to 0x80 0000 0000 0000. -C (being a parent based sampler) samples a span purely based on its parent (B in this case), it will use the sampled flag to make the decision. Its outgoing 'th' value will continue to reflect what it got from B (0x80 0000 0000 0000), and this is useful to understand its adjusted count. +When `A` samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to `0xc0_0000_0000_0000`. +When `A` does not sample a span, its outgoing traceparent will have the 'sampled' flag UNSET but the 'th' in its outgoing tracestate will still be set to 0xc0_0000_0000_0000. +When B samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to 0x80_0000_0000_0000. +C (being a parent based sampler) samples a span purely based on its parent (B in this case), it will use the sampled flag to make the decision. Its outgoing 'th' value will continue to reflect what it got from B (0x80_0000_0000_0000), and this is useful to understand its adjusted count. -This design requires that as a given span progresses along its collection path, `th` is non-increasing (and, in particular, must be decreased at stages that apply lower sampling probabilities). +This design requires that as a given span progresses along its collection path, `th` is non-decreasing (and, in particular, must be increased at stages that apply lower sampling probabilities). It does not, however, restrict a span's initial `th` in any way (e.g., relating it to that of its parent, if it has one). -It is acceptable for B to have a greater initial `th` than A has. It would not be ok if some later-stage sampler increased A's `th`. +It is acceptable for B to have a lesser initial `th` than A has. It would not be ok if some later-stage sampler decreased A's `th`. The system has the following invariant: -`(T=0) OR ((R < T) = sampled flag)` +`(R >= T) = sampled flag)` The sampling decision is propagated with the following algorithm: * If the `th` key is not specified, Always Sample. * Else derive `T` by parsing the `th` key as a hex value as described below. -* If `T` is 0 and the _sampled_ flag is set, Always Sample. This implies that non-probabilistic sampling is taking place. -* Compare the 56 bits of `T` with the 56 bits of `R`. If `T <= R`, then do not sample. +* If `T` is 0, Always Sample. This implies that non-probabilistic sampling is taking place. +* Compare the 56 bits of `T` with the 56 bits of `R`. If `T >= R`, then do not sample. The `R` value MUST be derived as follows: @@ -65,13 +65,14 @@ The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal di Examples: `th` value is missing: Always Sample (probability = 100%). The AlwaysOn sampler in the OTel SDK should do this. -`th=8` -- equivalent to `th=80000000000000`, which is 50% probability. -`th=08` -- equivalent to `th=08000000000000`, which is 3.125% probability. -`th=0` -- equivalent to `th=00000000000000`, which means Always Sample; this is outside of probabalistic sampling. +`th=4` -- equivalent to `th=40000000000000`, which is a 25% rejection threshold, corresponding to a 75% sampling probability. +`th=c` -- equivalent to `th=c0000000000000`, which is a rejection threshold of 75%, corresponding to a sampling probability of 25%. +`th=08` -- equivalent to `th=08000000000000`, which is a rejection threshold of 3.125%, corresponding to a sampling probability of 96.875%. +`th=0` -- equivalent to `th=00000000000000`, which is a 0% rejection threshold, which means Always Sample. The `T` value MUST be derived as follows: -* If the `th` key is not present in the Tracestate header, then `T` is effectively 2^56 (which doesn't fit in 56 bits). +* If the `th` key is not present in the Tracestate header, then `T` is effectively 0. * Else the value corresponding to the `th` key should be interpreted as above. Sampling Decisions MUST be propagated by setting the value of the `th` key in the Tracestate header according to the above. @@ -91,8 +92,8 @@ A head sampler is responsible for computing a new span's initial [`TraceState`]( First, a consistent `Sampler` decides which sampling probability to use. The sampler MAY select any value of T. If a valid `SpanContext` is provided in the call to `ShouldSample` (indicating that the span being created will be a child span), -- Choosing a T less than the parent span's is expected to result in partial traces (the parent may be sampled but the child dropped). -- Choosing a T greater than or equal to the parent span is expected to result in complete traces (this is definition of consistent probability sampling). +- Choosing a T greater than the parent span's is expected to result in partial traces (the parent may be sampled but the child dropped). +- Choosing a T less than or equal to the parent span is expected to result in complete traces (this is definition of consistent probability sampling). For the output TraceState, @@ -106,7 +107,7 @@ TODO: For _new_ spans, `ShouldSample` doesn't currently have a way to know the n A downstream sampler, in contrast, may output a given ended Span with a _modified_ trace state, complying with following rules: - If the chosen sampling probability is 1, the sampler MUST NOT modify any existing `th`, nor set any `th`. -- Otherwise, the chosen sampling probability is in `(0, 1)`. In this case the sampler MUST output the span with a `th` equal to `min(input th, chosen th)`. In other words, `th` MUST NOT be increased (as it is not possible to retroactively adjust an earlier stage's sampling probability), and it MUST be decreased if a lower sampling probability was used. This case represents the common case where a downstream sampler is reducing span throughput in the system. +- Otherwise, the chosen sampling probability is in `(0, 1)`. In this case the sampler MUST output the span with a `th` equal to `max(input th, chosen th)`. In other words, `th` MUST NOT be decreased (as it is not possible to retroactively adjust an earlier stage's sampling probability), and it MUST be increased if a lower sampling probability was used. This case represents the common case where a downstream sampler is reducing span throughput in the system. ## Internal details @@ -147,7 +148,7 @@ tv = 'tv='+h[2:] Given rv and threshold as 64-bit integers, a sample should be taken if rv is strictly less than the threshold. ``` -shouldSample = (rv < threshold) +shouldSample = (rv >= threshold) ``` ### Converting threshold to a sampling probability From e6991336f05cb344bb6f7516256d59a7dd49319d Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Tue, 16 Jan 2024 21:37:03 -0500 Subject: [PATCH 24/37] Incorporate Peter's comments --- text/trace/0235-sampling-threshold-in-trace-state.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 9ec42f7d6..76b3a7a7d 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -46,9 +46,9 @@ The system has the following invariant: The sampling decision is propagated with the following algorithm: -* If the `th` key is not specified, Always Sample. +* If the `th` key is not specified, this implies that non-probabilistic sampling is taking place. * Else derive `T` by parsing the `th` key as a hex value as described below. -* If `T` is 0, Always Sample. This implies that non-probabilistic sampling is taking place. +* If `T` is 0, Always Sample. * Compare the 56 bits of `T` with the 56 bits of `R`. If `T >= R`, then do not sample. The `R` value MUST be derived as follows: From eb55ac5fda32c6a0d8ae9160448283ea7da293c7 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Tue, 16 Jan 2024 21:44:09 -0500 Subject: [PATCH 25/37] incorporate Peter's comments --- .../0235-sampling-threshold-in-trace-state.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 76b3a7a7d..b99b8a9f8 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -46,10 +46,10 @@ The system has the following invariant: The sampling decision is propagated with the following algorithm: -* If the `th` key is not specified, this implies that non-probabilistic sampling is taking place. +* If the `th` key is not specified, this implies that non-probabilistic sampling may be taking place. * Else derive `T` by parsing the `th` key as a hex value as described below. * If `T` is 0, Always Sample. -* Compare the 56 bits of `T` with the 56 bits of `R`. If `T >= R`, then do not sample. +* Compare the 56 bits of `T` with the 56 bits of `R`. If `T > R`, then do not sample. The `R` value MUST be derived as follows: @@ -64,15 +64,15 @@ There are circumstances where trace-id randomness is inadequate (for example, sa The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal digits from the set `[0-9a-f]`. For `th` keys only, trailing zeros (but not leading zeros) may be omitted. `rv` keys MUST always be exactly 14 hex digits. Examples: -`th` value is missing: Always Sample (probability = 100%). The AlwaysOn sampler in the OTel SDK should do this. -`th=4` -- equivalent to `th=40000000000000`, which is a 25% rejection threshold, corresponding to a 75% sampling probability. -`th=c` -- equivalent to `th=c0000000000000`, which is a rejection threshold of 75%, corresponding to a sampling probability of 25%. -`th=08` -- equivalent to `th=08000000000000`, which is a rejection threshold of 3.125%, corresponding to a sampling probability of 96.875%. -`th=0` -- equivalent to `th=00000000000000`, which is a 0% rejection threshold, which means Always Sample. +- `th` value is missing: non-probabalistic sampling may be taking place. +- `th=4` -- equivalent to `th=40000000000000`, which is a 25% rejection threshold, corresponding to a 75% sampling probability. +- `th=c` -- equivalent to `th=c0000000000000`, which is a rejection threshold of 75%, corresponding to a sampling probability of 25%. +- `th=08` -- equivalent to `th=08000000000000`, which is a rejection threshold of 3.125%, corresponding to a sampling probability of 96.875%. +- `th=0` -- equivalent to `th=00000000000000`, which is a 0% rejection threshold, which means Always Sample. The `T` value MUST be derived as follows: -* If the `th` key is not present in the Tracestate header, then `T` is effectively 0. +* If the `th` key is not present in the Tracestate header, then non-probabalistic sampling may be in use. * Else the value corresponding to the `th` key should be interpreted as above. Sampling Decisions MUST be propagated by setting the value of the `th` key in the Tracestate header according to the above. @@ -145,7 +145,7 @@ tv = 'tv='+h[2:] ### Testing rv vs threshold -Given rv and threshold as 64-bit integers, a sample should be taken if rv is strictly less than the threshold. +Given rv and threshold as 64-bit integers, a sample should be taken if rv is greater than or equal to the threshold. ``` shouldSample = (rv >= threshold) @@ -158,12 +158,12 @@ The sampling probability is a value from 0.0 to 1.0, which can be calculated usi ```py # embedded _ in numbers for clarity (permitted by Python3) maxth = 0x100_0000_0000_0000 # 2^56 -prob = float(threshold) / maxth +prob = float(maxth - threshold) / maxth ``` ### Converting threshold to an adjusted count (sampling rate) -The adjusted count indicates the approximate quantity of items from the population that this sample represents. It is equal to `1/probability`. It is not defined for spans that were obtained via non-probabilistic sampling (a sampled span with integer threshold = 0). +The adjusted count indicates the approximate quantity of items from the population that this sample represents. It is equal to `1/probability`. It is not defined for spans that were obtained via non-probabilistic sampling (a sampled span with no `th` value). ## Trade-offs and mitigations From 56094a0f46f18a1b263b4fd97da4bf6771e25a03 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Tue, 16 Jan 2024 21:45:39 -0500 Subject: [PATCH 26/37] explain rejection threshold --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index b99b8a9f8..fdd0a56dd 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -21,6 +21,8 @@ In the general case, in order to make consistent sampling decisions across the e 1. A _random_ (or pseudo-random) 56-bit value, called `R` below. 2. A 56-bit _rejection threshold_ (or just "threshold") as expressed in the TraceState, called `T` below. `T` represents the maximum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a greater-valued threshold than any stage before, it MUST update (increase) the threshold correspondingly. +One way to think about _rejection threshold_ is that is the number of spans that would be discarded out of 2^56 considered spans. + Here is an example involving three participants `A`, `B`, and `C`: `A` -> `B` -> `C` From a4fb71890cccfb8db156a50400cd9d39d0d8a00d Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Tue, 16 Jan 2024 21:47:45 -0500 Subject: [PATCH 27/37] linters, amirite? --- text/trace/0235-sampling-threshold-in-trace-state.md | 1 + 1 file changed, 1 insertion(+) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index fdd0a56dd..e7787a9d2 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -66,6 +66,7 @@ There are circumstances where trace-id randomness is inadequate (for example, sa The value of the `rv` and `th` keys MUST be expressed as up to 14 hexadecimal digits from the set `[0-9a-f]`. For `th` keys only, trailing zeros (but not leading zeros) may be omitted. `rv` keys MUST always be exactly 14 hex digits. Examples: + - `th` value is missing: non-probabalistic sampling may be taking place. - `th=4` -- equivalent to `th=40000000000000`, which is a 25% rejection threshold, corresponding to a 75% sampling probability. - `th=c` -- equivalent to `th=c0000000000000`, which is a rejection threshold of 75%, corresponding to a sampling probability of 25%. From e3367ac371b65a516bbcc6f0b7e3e5138a8e4629 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Wed, 17 Jan 2024 15:07:54 -0500 Subject: [PATCH 28/37] Update graphic --- .../0235-sampling-threshold-calculation.png | Bin 127427 -> 131982 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/text/img/0235-sampling-threshold-calculation.png b/text/img/0235-sampling-threshold-calculation.png index c557d5b54fcd473a061ff827d67ca41aaf613626..86cf8a60c1831464177416bb587281e9872d96d8 100644 GIT binary patch delta 108574 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 z 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 delta 103985 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 Date: Thu, 18 Jan 2024 10:48:17 -0500 Subject: [PATCH 29/37] Remove extra paren Co-authored-by: Otmar Ertl --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index e7787a9d2..aa64b0be8 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -44,7 +44,7 @@ It is acceptable for B to have a lesser initial `th` than A has. It would not be The system has the following invariant: -`(R >= T) = sampled flag)` +`(R >= T) = sampled flag` The sampling decision is propagated with the following algorithm: From 108bca53e8172837ace4f74e217777b6bfc6d7f8 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 18 Jan 2024 20:40:38 -0500 Subject: [PATCH 30/37] update graphic to Josh's latest --- .../0235-sampling-threshold-calculation.png | Bin 131982 -> 122136 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/text/img/0235-sampling-threshold-calculation.png b/text/img/0235-sampling-threshold-calculation.png index 86cf8a60c1831464177416bb587281e9872d96d8..b4a9063b6d33623bca884d29b8160777dbc740d8 100644 GIT binary patch delta 52756 zcmce;cRber`#xM3SJ|78$evl*i7T73Gqa*HGom8n<&wS09#JB)rKs$LD6VXhS$0M! znfH0s`#V0L`+NU!KOVo|_rG`EyvFnSJkRqukK;IBv0+4Mua5^-A1$FmELGQQrf|Mt zHt~r#YL&>-L>h#2DzCK?VuLj1wHMAvENJf>FQikwptoQ|_2fj1#_B0TB_hd@)!PWt zR-gIxhNoF#X67$hmhSQN5xKMHdR%VUA3xcVz@k+Ze7N_r{FRrM5eE)!#{Lf8l{<(?nJGjYp>IgIk z{d~+x=}3n%^B0|ru21f5Eo$IidCoO8VMP2RwQ@Mdu+ba>Vx9)qW^4l7!*oJAKnUh4U z#|0yK-?T(Coo$WoN)`+YIoRLLG@S3So7J!$eXg48yR{fXh$f*ERafD`UA=l$JmPj3 z#VIo4^Esx1HGePo9DhM=72B9XLUW$MBhG^*Vu&hns))5tmP}=;Le8m!i8pu4WkYll zI8>=VKhdN$+=iPNKG9fTMxEh&`G80J-u}*QyKPuUe?PxVDDv00muB;Oh z-Vcj0!5|E0efW!-nqP|p#YWrt7gIB&-D1~B=mi)PeTl4k8vpK7d~l$k7BwjcO_vPy zJp5AR{jw`H-7HTx-kq@4Ksg{~vMc;>tFDLV-*9!MiRG1-yLBe$IOq2$1$B81cl4w%4W>`ktl^t3=S$Z*-pKD|3;y0^9MdCX4gS9Ev8Rqxvex78{@or{=D+t{gZm0c5wUxOcYR|JR6<1Dvc9IC-L zz!sdRg{Xa~9*ur&Rex_|_TyRn&B#tlmH7Tznbjk$6~g@uL(YhFjN6yjk|t#q>NjfFTw(yJ5|8s#66%kw<>-miHzAqul z`il%ddJsQ+7j?pSp;lD1N$$dh3k1h0EZ*EHg=fy%nCm$qVpXS|DK+?9NDWo`*^}p= z$57$Noe;JdZt&j?JWAl_?_X?E9smi$lZ569N*h_`=HlWyefsp3mo8u4+znfJT$pJn zV{4iFCxd7xoxX(?Hm%6@zPhuyF!v$dF7~HGcb4qNOq^nOjw13gLsHsxOjO<3+}nG5 z;pwG^@@B&Q&G(NRohG87kSZ^594fa~?|l8bLc$ zdgX+YMJTL^z+nUYjyH9~+25Wc!dH>!5eB*R#Mj6+;rAhxv$GPn-yC>m1Pk#_=(#=8mYTT8r^?!N?#p7j^%6Y#F&=ai(XlWuOX5`5Xn+i^20UL2Kvi?7Z! zBH>oKA$<=ONY$rWkdP_OZ(XU4x0g~#_O^zsRRvE_vw8hBR3 zNl8I*u=bYn`niV!xJpq{^*^~oYY%TLUHqg+~dF zc`wA}YflA{qR0U(*vEQCs$#nnINKEu_v|7Q=jM%yjU|u0bQ&PRnmxZ!@4x#}j73VM zr~kZBuAM#WeAh|d-`_qoT>CUMOHPg70nTtN#`)ncw^FzrB=t$nQ|InTw9CFjW8owt z8*u7BdgxU0;Z_@V%Vd@MUf=m1S*R33!bAWymMWajF88!@;dz5x%LAILDVLbIQ|*GS zA6oq9rPDF@0daiHl zu~(kOR4mU}&QgrWuOZ$Q2!`@M5)?dYa6BW89oFili`mxVz{f}HIcsZc37qN$nh(^z z_FhCTk5xPN!ON#VU=EK%`A@eJ%gzGyVWv5tq-2! zakBk}wYQfBp`?x@hyLl&N`)4$sxsz5(AC*K7_O5rOq;pE#Tpq5Jv1XjxS{nN3k%9dDa(5yEqrMeB8lFic z!KarSXhQb@>s^8IwR*)30j-fW8EN4CFdT5#G2UeH>z(0jEWZzSS5*^4EMH%XL}g0d zOdN*Pkuk$DsesxavCm-_)y|LrNO3lF;+5xd-}T2Bd|e1uiGeES!-0yslr8rnRbgyo zKIy4WHgfOxx77MgO52l(hwAR`6(5jaZ71Cd^;sbCMs6X99HC;U_8eQsr$Cvs`# zb{!lXaBC$si7Sa;>!<+Oyg{N%t&A2$9IdkfQ#3#QxM0hHO9<%vtO8g^i_H*wjP!(X zQXF-Vyw8u0tDIbrpRMQ|{+y9QsMqpFDimxA7L5V>N&JQan%dcNx1$)&=sc8n)Nz`G zP2b=Bm3n+w>9yAa$NpIM6=Dg~`g^xOJysn!7DdM&wBO0-0I5{&Ub_BglkI;L?J28J84u|WV?SmeCsYbFBD#t7U&AnzY8l{Y?no1)J$FC|m( zgHZm>7!6#3YtUVlpO1s}NVM#9mh0i(MjY7!WQRKbP6C@hTN!=^fC62@c6YL%3DnVX z-_`mnNR4Yz6TTw24C5}ceehqOR#m=5iT(RbFJbHTRHo0V$FjUn*o_;_B^G zB%2#eGhJukeUxmEnG6L6+vsEPtrr1(0F+8=ElbiJR;s+V-HvvdEWjSgY15< z(O8(7d4BDE;v5%lcoP10wkN02d8iDaczZQ+L)fAgDum+c_43Apoyleb&+3AZ;NYx5 zVn7h>j?86&tyYZzUsz7`tk>PT2zwka1CV;no4QgM2iT+I;rVk0EoMVymdI=0{?anQk?OhAxLk`@x1eb-oPtfz%#smnQQTcVtNa6D z696nmJ4G*OTzBVt1_>KPnT!2M)%DP?hvJUCT)}qEaO@M}J?FZoET~Ky1N_^oS%Xra zrv3?%Rtm^Z?NQFRW3G+W+j<$PJA%oJd~XhnKOHoVb~`n2p}!a>en2CS@G~ za2Z8K6okctVa0>(w-xD!SlVC-PALE?+sI;n(JUQna4Pa|i{gn5Sev|n@4rb?B}3bj zF>G>P8b6n^0DYd6+F*0a@`Bv+(c@vrzpthzmQ~c|$YaRv(1%;hJRgVtuEX4}ExNe} zU$KX(FGUmHn`rQ_n#hoJei@mOryj=)7ev->n0@K#SPALNL;?m-x7E*DuLT2TrHdVdi9Ff@54kt{j|Vw~q< z3Yp-sW5-rTUtCOqW9O_h$M5a;w+b)gt8iVo%!&EJ@M1AsE^>HawR8F8xjW0Ep`?8U z+ELqY7y+jQVPxqd{x;a{R@IvWFv@OfzH#1zxn8x~c_wFu@= zkJ%6DYB9_{s%g^9#9#9!;2`L;Nd~K#6dQlMn8UOK$hmFv;lG_NjXGKfDmpqY-J}cf z=YmGhk`$4E-@jW(MV3cjbfuZHO7UtX;rorYHAqSCiB|89`?PNyQ}*?__g}BXg=i*z zg>pHoN6Dc;Qe6<&34Q%>FEa{)Cl^y!9_T8(y0`UAY~<(n&p^IJ4hIGvv8!F{5^3zn z!r_xi`#XE6aM91D!tez!xRu3(aJ0RB?#H*TS-oi~09?lwk)2J)9^c4i@me0AA791( z>la@G#>|vLZi+*f+9q`6WeLE@Sv~w^;?rg#{~IhEOZyLi`4`!FT2Rmb?NBG`eEL`} zgkPxwbO)IN(q>&c^}S8VouIPXR_c&YJ7EL7oK{I2@4Lc z`+;-{=BdSqt5Z$uWGVRXNfJ3GW|%&ccpD$P88CWW6g8tn1R7H*dQw;5NU_E^_{$W=F>%X5vXHXqq zF15igxySMU@fi^OL;SBl!{n17NCu7@hOCH!pF`}OuK?~0BMyJhv3XW=LIq1s0>~xS ze*QSr15jnxd}_cd=heZo&ytJr)z8ff1faft zIjeeA7=z$X!5n>wPPUx!=3|eUwnQP1>DFyU)kr#apoUa*(?zcaas6ChC#Iy7R#!YO zZjpny@hjXl9!J-L+7D6R^Jno%tKDg`gPD3zwf$adcg3_nBYeTDr^!>|d} zXinrNXITQ07U(|dvhXjCpNKbsX2Cgk;LBzVH=}g+fCIMKF9q;JCh+h2MMPQ zL!c8$wCRXv5C0DD`{V2TQzl!_4Dw0j&Sog|A8*T&yX|C%x<QGNY3H@rGYnCo!G zqZzG31IXyWAEX=i3lT}k$#;mf$Ly2p(54DYNc7jCAW0to^m0`!2%k1T8H+j;XUzNt z4y|AqUg{#_+!4Bd~>@$~rm!f2+6{ka$JU!#dD1Y{2<|IpREiw_61 z+bz?ng=JqI!h3+f_zeq^hHJ*}2~OL+1EohP>F~2HAqgFyJ1`=B=99otxi#*;l-)AS z4FwpU@NM{ngB~E-5h9_VK-!AFgJ3tZZ3glxS|0(N18PocWK86*ao?WWlp9p@a2Tcx z&hZ?^!EXR5UkJR#Z1~gMxL{}Ju_~H*=rEFn%nb4Y=G*r^(Hzj-B;*LtZhM7MPKcq+ zQYYN6hvp{T1PYDx>CvC()&8U?Ewt}KeyYle6k$uJNQ1|D5*Ph1qhq}fkpq7_+uBqv zwWRmhr1rodG%3)nlW=K`jkz2|sRW>vpgt%M()C@1gmSROReFVb>>YZQw(oLhfaK_V z%z#(F3bc~79#=#zI2_f{l07dKm6zC_1L1l~F~ASN5qIa%&@VVl1-Gx((2z1qxrEyh z5fjS-C6k57dg5tL`fv2=DF5F-zPXH4y}tw0^v2iswDci@CBj`#a{`=97bff%7nv0O zyvAxhfOn>3QwaWX0CXYn+tRPMAP+<@31Cx}LS5ghv-wxw`EH&RnG>*6bn9EElWKYw z`o=_&Aum_cfSMZUXja@!k`k_F#MOJ;N3S5E+gh=?M32<6lr>^GI%0l%op z7eiKW#em>AWpZT5zA5nN;(|<>Rcrfq;I`&W9Vbea@tIqYo{W{V3Be?udxzKpU(rvRf)S}(;<*_O$F&hG{qgb8)?oS%%@Vhl8ObCGgjhC2&!)H9DhIPf| zVz0&=hV$X#pG!FQYS;i+VQV9(|ix?3K}keL-GF;s>K^It@QyDYfV&Esz;jdWmF7p(psu@ zfNbydBPJ`#!0gO}#{j@QVv~PudiuXYA(5H&>v6VCrW&j zDJ&}5CDO^jUG#b<-AGVlW24v@!iR%+YU8^K6;_~m0y(@HE9Le0bV-{#H;yl#I&6Uy zh)4qh*=WuL4tfVh&$ehLZa-KGfic3wqG(7(FYwrSnojWho7?!RZBrRkf3ULzdu~Tx z*j5Uw^*R3MMB~fixi?Oz<3bu5zP?n%;Za*&rX%#1cQqu!ZaAa%LAOd(zEA zBUqrDV-*mv)_hz%&q4*-d^X8rc1we$vknCKpyqNOtu6{?Y*d)JR_45wte%Q~4RlLs z$)|E_#SP>q{9x18bK=GY=}3`p)G5P+t;HHzaRsWhRYBNC=@H{)i z=etpV@~SQRK3g~+*(tfpO1WC%=T!$w%s8D2GYGZMcU*q%i4TsnTcEbkJj64{pT(+N zzsPB(gHpU@a+@1h(WHTtUOY?W1vPI9SGAnqc!JTR?nSOb`FwsHnHXu&QOWQ3tE45T z-+lGr0Y-=Gy#>R(y-x(L17D-=D}hiG%{iLw4sQbr@);08L`A8(Z)PZq3SeWs6jVN* z#*L4U&&r&tZQu&m%2oXRmDa8{0+PT*@tNU7a242dAy})O3BC_zu9)+UZoN+;%(L;$ zNYwW?s{icf%`dNwR31SGNK@r9BF?)g3j9ulQP1^(++HZ7Ck+DtY0<3A%-E5|g|ENL z&G3iBy3n(umV{B~ddB`-aewoHtfLpE{ko-v0kOWPoqFfg+c0jkEK-SkoNB+`A+JF0 zyS2By4g`1c3BEiIcycHC2%7mqEv0JI_pcY;+}I`!UB7Vq399r!#^#if2=s;86~hfz zg7IaYK`@OuIYGhyo{vsRfn$_c{5;4NTvFgfpfRYhxv+OBOJ*ICX$=2Brs=C&-^4@J zRqCG;^>Z3<<3#G#g6w`EhoZz1UqwVk^-?_K!zIge9lKIRq|0p4TU$Q>tz6W=qR=cg zi$^3bC%$`yVLN~CGWo0Z-nqB2i)IRp(ykV*l)2su=sZY1(2wht$E(4G8~3WjEWk2x z%Acsqphj);mHCJ}R+R*Z)$%LtKF`yE{eh~!juKFz-s%i>f^^poBr^xT{uu$)z{ zmzAjr2iU@|VB3=Mh8Gt-F^_2#Pq}P>D9Qv5?6b$IxL&i%Y*nS4WyyIF786>$XM2M z-(Rj~)c&D`vyFXZ$OE0$QjB1!%JBlg3sqV8FxhaC_g=$%EU8Kk-=aSpLNmW}#f^iC-EKYyV51k@rvBazTGh{IE@v)`cQ>U!!>_<1r0I zfhiA|$;UiP;fo$6YoIr`ESr>D0g3BKjCFXXTP?$+8{Nf$PqZG_`@Q;~-}p#EN(#+P z)}E05p#k+R{po;FAx=oZqXVrRiiJr`fOK-VHR+7K0kq1GTMGl#&u2@kk1Qh8R<~`9$CgC;=Q5V1+39)D?zFcHW zCJnD-w)LU~VxpG?HpnA#>*p5|d{GS7M>|8lK~fd8%f0P0BpkDlz*1NwtDVo-X(p=c z;G5EjGYvPPn=oj$dS+ZIKzzE{iG-%34du1z(F)C^i#$CBwOUFGWi}f z&XSJA+q0Q&WX^kWyiy16nzkQ30ACsM%v}}w zWMFQMGN5T;va?gqC8Za*wrMv7{mvq%LP62WV;Tp^B@T%8EHSO7_s?ojdS$NTb&fh0 z;C-~BM}Ijy!uMU#0%_}~#LI~$oMJnm1&CRQ(T&yaF9)FmU{oJqS={H zc#ajXnkAkFjNgW30a{%x3dMafMWv&-yy4lwoz;Bgx!m*v?<^$2;|}RE^LwxjBncP^ z5bO7dSTf9~iTnO^89|Mi)KhE^UU8FkJ+MC5+t9ro#1^pqh(tQz7Fs-pm97rBnpr2U z2XN4f-Bxnvs90D^24m3JHqD~9!p0?x!roIYA>W>+D%{j)W#85(t}ghM5Xo@nnXxV; z3{Wd7wX;f)oyk|J3VlA83Cux3q=?YpWj*ufcsim5K?^oG&Z{H@3MgS2X9Tn)cCmK| zUouls<&Ha^J=(ti^RwH>rD1m99yxMH^`RSz(TC1td7wDe&r^&;W)%87NHY_)k<&mB zKzSA|&+7x{-2J`x~1O3vE05_wu&6Edy9^r}B=q?Yyh!A0|S4J0V=;zS|zf`gzVhmf97+xhvZ zK#?x>JDwn8`IQ9Xjb;W^(~OyiKfn*EmBFqYnl{cu2r?6+q!TDAFGv`K!t**arA7Qm z`D5tTej~wR3jyv2QNLm4+zodC(+^A(&;SdBD*5RRF@grOO$dmXG;~o zfhP;;u+_Yg5k~kK(sLJ_jm6@b)zt}bfr3i*j8M?HB%VGdofT+ytbV=QQwpJHCGud| z;lfxkzKub})sx7@-8^jJPm*mJ!w1IfSe2a4_4Kd?Ezk?|FrD-pIj~1PY7)#4VC{!o&KNw(FpV( znSM@UqM|rFr$|iyzfA)p|BZ|OU#EeA4oCit5C7kO2ISv4`LBu;V70>Al8M$;aGjYa z15EJgz3FgdRGFKVlJt^N=quflrd!iI!~F_-jcsH-XqP_{{lnyk zx4%U_h`+i*D_D_LOZ@W&;XizQ>&#WGW{2pn2zpaQXN=JI>>r8>nEmPXiYBgWX}hf? zLcFd)^-RF3{-NjBy-jUs#6S4kqEl$4o5%kUeR!hZTV6<%m}yp_64e!vY2)^n>H)<- zo|Pdjn9MWB6#EUpvNY!(LRK1cUoFnY(4J|0)O3(Js+?)%tC!aMnu#eXx#mzGzKIP zV2IUgulFp>XugwtTm?-41Ftrkdaq3$jcu*PxHN07b15mT{ey9Bp>10DcTOoGz_ z*!OS(V}W64cC&>M%hv$-GdVd#1NOFod;(<{EJ#muvUflL5`9|H1b=3juayks1h9VI zK0eus$aq$ZF-S!+H%BFea%0+8#wxCd9Gz^^S#n~WgI7xzzy3o!9yDRR--uSV8LAWz zT6PpMLGVZjm~{&s2V5?t!gf<#P_ZAFIHA>(3{$(XKK%|l{%a(yH}Mcn3Qcp;!$9X4C98`thg@@W zvw$|#5-=wLcV_K0STX__+%Q+K+Tjz}%(_{$vTg+b(JqkFqa=9#cUaWb{S(P1u+>+4 zG(;3lO3l$>q4Z3BrdM0TsX;nvYXMhIdgutwG1nmLxa%F4?6HZ5~ZPhsIo z{RodAf2x)21Z&aO1dUPN_oQzCZYdZ=K?<}1&kp$DiLfTxX`)lx>ofZR$p=e6LoKGR z^_WpZki%3fo!|J^WE4KXwWF3jARn;{zkabH_d&LcAvs7_X%7;4Qoc`)Jyv z%`gQ=25Q|d^i&e{l!4#Df$j|dPBg8A^9h_IkY`T7b8z5xf332KU(-kxw!C(t1tj*7 zM&uAc!9GYap)U@Pt02ut5L!I1 z#v@lGXm9`51hPGKd>L&Y+4l;3+_QYRTCa(K-807R7dl6dy08sh1=YZ=JvP~SchB9* zCK^?`V8R0mfXoEmjN#|8QhOSd5H-3w2Bu&?{qw>IwZoGI+#>>#WAc|;zz-Zw_U@Z% zLE+rU_6Rs5+!}r#i}28>9nC0P<`b<2Cp3g@lyel?g2m$P!}Gq=N}8V%zgvK{3p}xH zQK7dQMyOr1-|@I-%{5RZW6G`Sne&;y*fDiuuK}N?B2GuV@HKaKngP2Qh{_v$_fB0J zA#=Q(OC+&^XLk5IBktXbSm^_+9o4xT9~dQVTlsK>X2UWoH~46%(ah+#Nvja@68Y>5 zl?FOl@K-0HiAOorkThq1hom#K`EU&+9KB!q0{#0I#GBx|1uVmZ<-3fxvR%KtA=0po za{ico?!+%z;>)1-wk2&L)K?mDDb&C%cKI3bc=PVeElxCOF(mH9>7$ex$+V( zR-l4?tsg0cK&uke1Uho_Ev+Oztket8zTu$VCp?MX0gBsdhbk6AALBUz5~9p?pnkx4 z6coyErO>#Pc_poil+hE^naTvJ-6IEdX}` zeHuB_&K>ef>5)4_2ebAG2aEF-5*BmNLve~FY4ja>MUe)PDdil^*Pu9p$_5z>1Vs+9 zA3F$;ZGBl3Q+lWvij!3sP5Q`ophY$|y${i6D$6>nY{^?mgD^=$Nt@@Xz4R7!r8c^Nt| z;s480yT<;SAp~dwNIjvZq{dGWCPL;@HvQBtM{g5y^FGGFFwA(;>io;}UaBZleqJ3y z=1s^Ku)K@B;>;_)kU!wuJg!UwuLsD|pRVP0Iv>NTmFqm85GJN5oEf0>JOn(WMfRod{>$=QFfCbamWJyfj}3`0%#@+3_yio z#|;Y|q^_BO_zdJmD@tC|kErG%^*ppbM}KKEbsc>a{7&wKLv4BV9dZf^$R?6cEPDNb zh0`-KGfoS2FEM|i)iPyNAuN-o*p$d%k!q)Em|z*fz1o3P$&ySji>Lhf=R zO}1D+kt~1uaBNM6M%@oacQPDtUFz%z0g?T}2;?p@{R2q++-tzxIklLqCT;X1}<)DiStS z<7Qo3L{=7vLGrvcn5%v7Y_cC!K8lWzKW@h8@bs%jS?OSq~|(RYnyKlMul4`{@pzK37VO>Q20bC=+iu+cL*lKZ0#adEm}Y<@xwz|Em^2M`T2ZL4+3H6-}2Y>^*i zMm-N8uPM@os|_>O4_O{ntmavGOpxIB+4F?Vr3EB@OQkiBY39KMfKfKm8Y4``=%$HY zKvjxxA>o*I;-1X~K_)w>qnIoHIJ!ctfs60@TEL`1C1k7dnK(_@{ zSp$q*vH)V#GS&RD@)S4j2cLN#+I&2@p9O7hKw{dKE`U{YfqE0I&hggsDlhm54V}-M zWSwB_qoP0)$|;AERSBKq&BNrekJbB13yl;?c3k(;0AeZ~;0l-(9=iaXMJGNX+Gr_=@55@L;|w}&V?57ihlO<>s>FMhlI5oV*pDt-@W05#SP|u2H(Jdvj8yVR9H1}pCP43;|MFY&4+># zlLpp_%0%ixe5)0hOmagt_W~Y7fs~~iA>nU60rHyJib^fzGaW^FBl4*VJ{&}(+6KRF z?587d3srLQx!nx6d7+FNy#qK)6EaHc#ekOU9`{qOqgP6&uO*O3FjTyN=+Hb(aqOHV ziG=y}j%E<*k#F`G3DIpvN#kOHz6vBzXtp$9;kzG+_k+C_`-y)U zn5n(Luq^MN!pn^V+T7qE=3FU}7u3oAoGm>ioFUCAT_V%>L`(m;0+6%B64!`M`PUZN z36O^#|9#)}C-5}Toq<{+07SOm4;x@jVBiNE2c?Ey`kbS7DXB!t(m-)oCMUDb*d=T4 zDKt|yS@}np$^vg*<@IIh$C&$%l*4XxrI0&Tc=%-Msp7@d;HT4vg@pIuU1hdG0d|4t zA3nD?j9m5CRyK?|-<>9A*Ah(pXW30f5kg8``;_-e8tuOW7F` zPrz7!Uql7?p@)ZH_`uz2IE0Kn#u|_=Q&>{%tUHf|7}H+lOR859hM+0yfOi9YhsVX_ z0`_F8iHFEdXwI;eT?0fTVVRr2h=|8@h0}0bp5{fxVEE{S45lo^Fv^^BcZEBZL4A9{N637ekR-O{z82sl!_C&O z{CW2xsIGr#Z$B=L1+^A?=2?^3)DtKThoehYUnHP07 z=myz$YiP7Szi{9q1%TC{*p1LjDIg6 zPjlSu<=rO(KiEE6&_w_p5cveXY7rTbxP$Y0VRobore*BFbHkAxEG#3lO?paJTk`ij zxL9hzWMQV@y=DU--(6Z=nRPuXkO;dsmGtKJQbB?I=XzhfMpI#!c69WX#*x@N01`Vz zuH%A)itXBnAq{SYu?0AMeuPun!zy=Z}px zAMAw&6*-e7ptt)4ZBfGLGRm^F3}Gr+(jl-VaF=aBZ)c>2X*jo7V%^9ZDP)-orN(Wz z;%Er@8E&oEBtFTQ?9uFuHl04Us~pDKdgu@X{ZO+>tiG~rsKZ-f#y7TwN!IR89jrl1!AbHC(>Va;`78SR z?<*=x$Y805vuZ=JzvbhY?N(UYNr42k`;4=my0f?i~nffUm7Y0$S(L| zOH?KIQlbJHs41R~PbqQ`i9PW}r+v@E;6Hl^%v9sCFT`}@#}^gdEP z?n$DHMV%sr)`9Cb7}3FeA*miezZN*gTY2PPc%+{eFmg3o=kq+nVuTasAzp4zE!A?c z(x(;5`2H-(ph;^bqU`XeA^rbkxBf?RtMV;mhigi<>GgB15eV&S{Vyx%%8~mh0h%T z0`P&)6P&&AK_+0&+p}6BFC8YyLC@>UzxZqA&1xs0NNByRbnyc+Gg_^d?hkh}6vDnB z&gJzyZ1W7D{-g++2rDPf^F!7ZAj8kYE_w=l3PR0(|9%s=BPd-kF8YOz==NJ3Jos{D zWtjA7<1gmDl(yE+hNKzmN3)(cZ&0`iV!%Jm5jAgs?44y(VAjtrfw)4lt7-$FAM97# z-RD*(7pLr@J|KFTqc3k3^IY}v%u1rY{F_p7kIIDpP<^o-Y$3Iy9qN0lPr5FYOmh9h zoBbgvW%xy59!QTZJ&=hf8}JZ}FrK7^8Fi{#oS_~t;tFa~cu;{N5ng?VeERLt3_zY} zXX;--=8;0{d`iM0en%F3kX~U3j4MkjyK86=)t!aGh#%-I2cJ7w3R2RyYB2qtjL9x*ku%#nk_29t-XVD5mcD1)d}ks`r&>^NEEUutIq^Z zFTsrGIRyNLd##%9=Q@pgXzig1F@~=m{2nRP&x66Gj;bSUUzWqy*Aa`UCs{6^U!H*@ z4CwMhrgV95)_LDMpj*lGsYWqO1x2Ka~9B58~?2(_FtK{i~0Snd}3#928w_u7XS|`b)lcCJg*Gz~g>^S<_3Dl=p*YI6eYkjJSrkc*s*8e0`u> zF#^5R)h?po$BwTtcBB9)cv>JKTKgj3C0QySu(N38g2fl;9rSP=3wtcNCE9Gf)&o8U zv3f|c&kwAgWrLqAg*VVS1$>;MZY%^0_@i>uR%Dxrh6dHxo;*?G#wIi-v3%61Z72aK zAtu^Z;_j{p(9dFlH6-?thFMq;#k^L>zhni;6AYeh`J;kYApe}LbeNZu*JrRf*_OjI zDGXI#)_{I1!_p^AA;t}&uG6ToGU;-`iB=TU^rmLd_06OD&pUcF`!&sZw2AKGneCMyQRyiMT$JB>5d!&c0} z*><{jRM`da3LK?WAiZEh+!1+=k#-r@<5tspQp1M>-rRJ&5mAig1xH<5x>_QyZUb~N zTYV%l?ZDU-VfhBr*^UnQgeya3;Dox<{wh;BLff>52*l#Q!y59eyyzQ1y@Q`zPZ4I~ zkLQWE9!Ax%gFeYVqt^}0@!QM+T}8!4(5{PeS`mNu#NCX87%#?W{5VOhR1B7()#3VV z3Ji~B63T&99%@_&=7f-`9-4w#VjkEsUl?vwDTUq+2zhImzpc3XHVJbw$^q_4KtKR3 z9+=lvfu`lv$ub4g@eArr$_LyRU&6>QJD8iA~gie8N6$HVFmj7aG)e!4=xWTq~Q zk>9+!P(K%@`CP)edLp-?D^UL_Sa}%OOiJ(@JRu?>Nz7SGhI}r^^T`|r#UU}l+!ZrH z7udVs+;uYxt>x0rxO_9XmR{!;TN4lbKUb1yt=w!I)!Y|E$}%*(I?*iz*wDsjKBCaL z%OFnueDgxam-EXYK!0FqmeHeUdhe``pLcUxg)ovmF%Rp`j~xe84fIK65vUhBN=-mZ zCJgWN4*}7wTC)N4hm?A&J$_4IARxKOTVnsrwXc>iO>IXrE%%?H_9xPOunREI1Bqzz zBUKR`4y4n195_FUq2?BV&QlC{IA_u?if#yxPJ5Ne4Y>_5HJsR~d`xWuBNeI5U1K1AM$jF)*zAl2p zJyNc$faC0Q_R=GT_)18ctmlz?nCx#|)UD@%YlEiieq5*Y2A$|94aK6FV6eRc`hUyv zjPhKHSf{`>V3D8;g6X`aNP0o8uVD1j6Z0B?nF_U7mZFDp%KfM9fy7a{y8`oPaL{}< z=c#`N-|6W(72wFr*xCB&`)lqWn)veRhc`XB$SNT3Zn*3Vy#f|M-6v*fFSK+u+1Jm;;MHgZY*>}jAd@Shq$ zJL&honVg)|Xpf&Ppk6iq&Ho>`w|VJn;bta#HV z5Rwr*;ZjfkfdiB>C?F6&rGQ&uW#FqK98=J7{1Ok8Ai_6@IXTv#hgkW3mrQRaDNYqK z>y@}-oV5nTH+=SmkyNC9GjZLHg!K|6_GuoOp8d5o_x=%(a)1XY1t9{0OzNpS$=51a ze=wyoiC^1>y4;W0OygCV&ztM(kX^!eCOg0+MM}pP51l*LLogc=g3t`=iw*o=+<34LOAi02mr?XuqMq?^?kRQNMTtF!?GeJRt@CJ0Q^s@{M zpE6GR@_Tnz@azHjS*q-NV!vGfh-7Sm)jS2matZh*_annf!0=a=1?$4FGYnA;pVB$* zo6rPBoKDzc8%9}GY_l2&+c+WB&^Z5>{%>{-j7AO=-x7L(zlRx_N|3aL;+W3PX5Sr` z-KR@`D+w+{W(^5N2cqk@x7MH40z(U`0&U9&0>qq!{_lE~H|&rw5E%wXzjXLCeV_JtzsmA$ikK0NkO6BO0r^PP%z{g&yKsRm8mS4Q{@wbF&wq`h0Mg#VuN%OMKv4 zhM6U(4FFocfb^<;XiB`Z2x)k5(`~2eE(CqdH_)l1Z;sMs25q+>#$ZOvUzpgzcEia2 zu`c+cPwSvWyFd-;SvD{UvyYZGKSeoDUTu}azz4b6z9k=&5rvMPj@##IU%BC6R8QB4fOT&643G-7p!45n2 zmQd>sFFx%9po$kMNgd)U{j2dGwRtWRFatXZSxS)3;`|*HEW>yFM^B7Pd33VE+bG%L zF7Md)p_|Yc0kIu{?(ebD3XsR$<{7=vVq&H}g5Xni^AnAYgign>55ZwCe;&Zz7zk$S zG0Y)9X-w4oX{SIa2TTo9+_Z`8gPUiTyj7~vq28k1o{jKRzRy);pDuwbZgB_(8_$84 zjaVKCaBu~FYZevw0-r&WyR#gAF1moS7tweqFZ(RwNia#?+mZ!qfeWQcO%TT*W47>r zngEdef_WcpwmR~hm%++^%jneuhu0*^=RNKRF{Sbws-cdqu+C%cz5osOj6drsjBmil zLu{t{bQRxyxrAb$mI;BQ%OdYh6)|w!Lhr@5IJ=79_+f_AE39kVAX84#AoxKKl;nPK zm@k$D zo+R31ZHXZ%L&1@?gh39WrZm_Y6Ji*bk&+7UK6|+V(6NA+s{>SJ1zC+e5ccg(TzcC8Y`b_$_Q>2_m^807#95lpUHAfH1w?CRKg=7fV)Tz zO(`g14^h09h@BAg1tyspDt7hp1oj+ob-=Fv3!&S4FbvxkgJ^4#+i*F};?~?b4#?1x zBDg<)Vdlh$MNz!OQwmUjNczbXy%!_awi6?5kv)%YToRCT{o;gFfzH#z!nQm^Q3j{6 zidV-b1`PpXTce}0AFet_qpYgk9U#z~oYB8RTBAT6uTb9D^(q@YZ9Evx81?Iz~c{j zmJNsN%^fyazFUm?uHPlzn#NP@ityxRRvyT|*zTObK8^(~z(AwFc52D<(Ux&^ihY8q zCy`#4)e+VI{Y#j9@AwSFE;piW2FPMFnRkAGwLcawj0XOPuZ##CJK_=08Wua@)0m>yR>_ParDSV&HxpaFcNQD$dVwE|K&AwX^ z^TR9ULN)5z7~O}z5rm87cN?6tQuIBaoVw?QUHFEn^5irUCxl{mZzyolwkI|kLBY$- zPIgS#YwJ9qL(XAC+UGME=H4O^3$|PFF1dvlLzyF5vA*?b zR>U?;Eb36B%k^*Y4B+-_t-H_Vx{($#PK=QBf?mj~xB*U(U7VIDmNhWD7v~7Us_2F8 zU*`fl>?;`dNi}qC)eCLpv7|}dpMstp&G6gNPwucr>a?gY=(>lFvhELQ;whfPBP>T< z?tv^OGLHJ5Nj6|&>na`KA0plJ*_51O+EMgJjS{60VNJvPa%HvxRiy9sf(AgT@HJ-l zYuJ*bZCI|ul!E?3>j9uiB(fST>Z^wbriVXT{>Wa&h}Dx4rj=Zm%D`GFC2YEl=#5Z z6FGu_o0HX`C7P%{?H`bPw}hs%s{u@3S5E$=1HLIM)c~ew8m1I)$eivZCpMR`*}Fh+ zO&zqCTNdr5AHWhw_jqLc6T+CDd9nu7@!#Tcu%=XFty9LC+z+;tGU2KB8UNCD?Re4Q z@2jJOHVB5!|D4Vwyi2>PNBcHdyix0wH$kcF6RgH*-Yc&cQt7aDt_0!d=LdB|+eB*P zCei2@M)Zqk|Efh7rG_+mE5F0V+;er<~iySO6z5tQ}3}OHnNjpY*@?}ae9Ma z^*gNN{wkYt(cq9O948ofDc88yBv%pYYcd0&Br#hh{o!|5KOg~r47rE7{4{OUZqaQC@;=3Eo!bbW+^?hGeLK1qC5ywu<+hKb=3sd>i-p5r{hAmueXTy0{Y zHE+J^cT`SCIR%DJ$@o*_nfj19=UoGyEc0$If%wlR;p$vo@OQ-0FVX}2#xe`+#HAyf zd#IO>B^cTPY4EqI{ZbU>dQs`iyDH;-;_b3BvbVRtU0ts+?}&uCg5+Tco(yaf4Egri zw{Jt&=^rQrXRdL#LFa`q#Ropkx<7zjl`2r`vmTCp`>^R?2H%2J5?x&N*KeXhe&Y7S zj|7m&5rX(#LmYc2ysPpZjyi1N!S-S^Q@@W7rnYsoW|g6`o4M*8=(Uz8%3XW!IQ#Gi zCdQg)Bl4SDl|!UIaq(?veL#T>V%GBo5)#yL2c8jU`{>L4`*<`@$GM*m%NfYcSv3K$ z6e=?wF0QccJt9ckIsl_J(C(|72AM=l&RzN6sP_JQsOtWKXkMaSbDHE}bs0BXw$*L> z799t#yam}k$2~M}CTwsQLW68>$WJ@bzhd#57%DH{kbCyykP%Tw?@q?RhHY)?{R@1{ z`4u;oKhFh4nq?uNg*`YO9?SfO*DrHN&|Zi&r)V4%h`Wy*jum3atR6mvrBJHQaTx^-y`yO7 zWZz2w0#(0@$p0Cn0g&rI(vTDX2@(0ft|3P#&0j?D#J~Fi{>}GK{B4T=H&p!p)E6*D z{CHwexqHvVYZqF2dW)0FTQQX{#FJ`DKmBs)yc-d(JHLE+B5%CMy{M+6qvLX^VN`m$ zSmw`Tx0W7D5z#rLuzyftmk}{?>ekaICkk$#+LgC5uCFVyc$fZof}sA|J?sbP)UZ9) zQhoHj4KIq|Rlh5zvH6aV%n_?O=hLB@T}cu7QiNHiWNI@Jq}hGtw{=#rKVGiMA; zz18O{Cm7W+cO_IG^;FD|<`SbuJ9_M!>-B%<=fwZ*7x@49_lf`ElV!cDF*P-fo-YS3 zr~%R9XfaGCZihd7Xl=}q|E}2U0f{huoKm}BOq^K$?*6g7saif1rrfOuYfwE)HdOI{ zYQk@MlFm2JB}fuF2w?5*o|oCz_g-Tu+kxsNsU?jmLKy%7c~EEMJ6~x5e^uf}#L?;U zppfm!4CZUG|;+!zxZw7ncBGoSQ&1+Wz5dJe25dKSm0|}{Qxg~u7ye?i4ey*$Ks`K zl?fqw=vmag;g&$_U3-G0m=1HEH8=KXKCL;ED4hZ{9?hUT+f@t(dY@mobz{oI;6*$W zfzE!pM{VT7n?PQk0wzUflU7S>n=Tv#2T8l)@1N5cad!Ln?=OA|zCSE!_UzfOf@YF| zYiVx2Y3|zGt~GwNwqD{rXE;Zuhchdn2>n|1w|a{T@Q-3@8|}9BX|H`1HVy6sot))nGjh=fNZvJU(*e2QP=fO8~Gw zJYdd_r(N>d!zRTn(73~O_Uq`7m$$+txsN&bCUXT@@P@<|B2Gh0*+Hg6-FA=I`N)&m z+#}F&F5P}_w7Y?KJeGgczT5d>e(^#I3|sg6KpM#YzcN=QdJ599Lhh1Vw{G3+1pv%k z?<^NUgJU7?UMQz zU7Z&gFjPva-y|+;Au^G5BA{5)s=5!0|83 zLx+U6T%Cnynh{~8C&shC`W-;mMYg#Z|8Cs4LGqG^p~pM5dw@%~`a(bOl$-U-nQJ8! z7=HGjfD0VB3}6L*Cww9Tauaj3gfcQRppznafcQT}KqQomp`_2GoCLIaP3grSRnGqy ze0LERT^Es^KY#vIj;o>M`*qbqT=H#bsKzvrOLvmHVhW>qv+0f{LQd>cnB)L0S(d}D zDv!YebZ3LD!OE4_q2G4m8UetGyD;o;5!D$?^=;}_%d_cId%To?y&UD22`qI!CF;?Z_k; zp|Z;^iBvg7sq^)>HnCUQfL-O@qGCQX{Ow!a+Z;PHUe=LRAK}G>U2^Y&Ep*E4kr0uE zsrmw0G1)R_!nE*(XaG8Sxaj62#4SA(n%Gy-AcIBH28*9dt})p+^7-}Y=j*~0Qx>PP zrZWwGM2B9`(vB{pxzlz^h;kZA^v+S9-||w^l&u3Jl8FxH$On?VJf?Y<(YuR&P%2NE zdn|fu<1+2F(!Or85#AayT#p+Ku)|A81NcI&>4Md5<*Wl z=!=7}UjlXEmNO{CEm8rpL2u-O2=op)M!dYzmhZ=K@fQ-NnM1u6^gNi*- zj~mD7GU=8_V(Nxu-?KqDW>is z-?aS%b0-kID-Hq43y!tPUnxo3Gk=O@Mpwx6yjZ8GP}6=aWpcixgvL}7hkw1xX*&^r z^IcgpZ|yFwmMw0q2REm!c&G)hKrb|*Grzl+qwuEosy&eKH_6nVO^ZGXuZUEieh^)! zZ$A82_NRByEW_@=!QxXA*9@%HBFt|@V&ws)>nrDNg?col_v~})isF=5`SKs};+l-b zPR=REmY#6PtSEQP=f2#3ga|pp`oJyh_19+MQpC1Wzu6xepp2qct)sAQ!vGC4Tc?u9 zno7CMOJbc{pXFH1_YbE@1An@^59$n1TOt~aDmPR-{y0HBf1a(l`9^@+E@aEvN|N~J zE@_`MCZ>T;#BDArU`aZDrmkWlcM8pT&3U-u0u0 z;){Z=VvU^t;t0ujH`bhU<>Nm-y8_#&%1o}gGOs+RfZIltEs+Nxenebl=#-T5s!@Jh zzuJgvOLmO`9Z20v<|VDmGTpat-zZOzI20O%gwb1ta>`&w#pzrRpLX_CU_ZH_tXwX_ zI`|aV(O92cn7x|jJvKhB`eN?0OI5-w4D(0&TP!wvo@FT~IMEwE*Mi)0IK5QX9!QH5 zSIKaCP^4(iJbZT~FH76_9 z8V}qs_ZzpSdg0V2?@&1)5i_qh;{A(9I1FAy3Mnr2<}ft>`^FDD+u&RzKF8&$g;LBx zTC~xQ$C+uNIvGpWFJ=)@qdXtVz_Z(d`36st?T15o?mQVvoYQmv3t&ERdqzZfI9&=k zgQ9DfMzkg%1@jTxw${lDgra@S<Hh-mPM@M`nuU`-Rr1m9~!{PWK+G6r5L_ z$XHii)fdlZ1W9+_EkmuVG%zq-u0ySq9c(hEA(|_R5A%p@h;u8|Z zu{QTM`0R>Pr&`fd`58o}K$Pp8^5QX*Noq`OX`FuI?a#0|`V~tSLyZfUYvTyOXYKg+ zcYg@5&?C4nDM|-Kn7w4TvB5Z7$JGsL1v4Ls7lm+R#aRN(KEYYcf+W-Z89~Rb?cn=h;XJ`Z{u3H)7;XdUx1n*s<4Z6qiv+rl8RS7x0z68Qs{`BAhHUQ z?@4x5f4OYs>OPp26L;)o4zF(G0(~jL3kB9i3O!iSzN~!J2`?Adf-0pM&EFnBP8>ePH2L$E zIzJD=OgF1SU6!uDv2|rCXh4D1%v}x^=H~R|P(hXIG7U7A`XQm?Biwl{P*e9npX9c> zgd*yv+I&iRJ`d)cwMV3T>N#IWn-Mu$*zW?qHq#BFQsPIPdmiy*Ij%0Aw;&y=z(*<2 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

O6jzdQ3wL?c|dk`SxQt$4!BC?@RS=+n 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

i6nHobk!Z;+!}e)@iB%${Z4_~#b zqTYQ*Wspy09Pd*ywhflfH+BK;l5jw*k|y`y09q{T5E=YG_(Dc3C!{m;W{r!3)G;@( zCPDu;R*#s?7Jz8k(JNVYyY!q?Wn=E9RXReMLiCurddIDk-k=P z`@EKd*M6m3cVIPNdwOPuvD)cu(7(66l$z~d6I0uW2F075>gy9Cq2)(+87zQ534J1d z3sBBN@3u*ei+=4}dw_qfwvaXr{&hYV5?GBP+tk|jZas4r(2i;UO*VwvBGFN#2>+u5 z_vcn(wn)wr>LR^~EMMJ|W_2|LXy1N%_K{JNcUIBT+XX#q6D^R|FIL4j-^^uL`IM#>WKhKm z#|91eDFNtJuw%hA$UN}p3kSxPuAA9zArTgN)fj>sT~)-bp)48QwD!e|MtC_!I2fw| zI#VWX_TfPo4qEeFqPTR#c2+dVSxWvZh}fPrho4G(;DBt?xmQj( z!$(zZPZ*|3jT=AQoyMW9>wuo)ghfYh8ucOE6!wsDK`F{LxzHTNQujSrb6r8s~Q78jsygI7>JH6$a$bDZdGSYIIzFELO zvi-!RgFQA}jf2A)3Ls;Ok@SYt&&KytzbKqe)kC@L*xMKjPE~09)&$7~K+CJ5@LywV zsbIn}tI+sgL_;6GjepM9*LRDNkd#RzGzOH8yw#Oj+tq@n9<&jBU%MaqL}(blJbRax zUz7Xf;_s{u&|eL$z9gNz>Ajbig73Az-nR4VC?5LpT>Slw4$*5>hq0$4?~SQ6c7X9B zCtETE`b4)m$`y7LK7M}{4L3$s==~_9$TpI0z_a@ccV9`jI1qc;pxzFzL;(s@X;!sJ3(h_7^Ag$w_MdW;ImoaJ0Ks#*Z3vnuW z3<1!ck(0jh&L+((hNTfjF`94kp)`}3$ZnqH?495n`Ui`YOHWtEu4f@^Lbs~kDPXTj zFpHSh7(Wz45n%nOl#DALy{?kM_)&p#FxBf!V+ee2HTM`#j*1eIJ(;-6n)zH&H$R*j zZ^1$JV;prtGeAT{v1n)chaiqjkg-c{3CgJtPf~PeY!p*4Gn<4a=|^|U5n!ns#pWu( z^-6uVR3Gmmd(f0g|ET=|Y#ObE?U0z|!~-C;dByRG$i?;(so{3q1$WZ5e8aAn5`sI6 zubn4+?0Bvy=kQ5FpEL**wXvvSCpc0_(W@D#sG&Ai%1nX7ye<(L&C) zbWc(>!dSsZf)jnkV}KS2EZ$lD@(08Lc^Vnq#*G1j6p_sTHzyn70y{}P9sCbYRUL=t zi5*)0!OQY;LY?%Nz5Nejl?K-ts2@}_O$!*`r2ZEZ9}&bLAlLj=(8^rVfv(^TF%CBYrytzbOiK6KVu4Pg zIJuH!fbkDC2gH2Kj731mm*TAu7GvEpf(K-Os3~Chr`L;{5Or%~YzujT;3MDngg~hN z5ewE`j4je7ggtK)4baInj`;q8I1sch3I$?4EOAQW_)8(L%pa=!A$dSLP~bF7m?yuO zlHjx5qElSXjmrl(0pS0^`jP+J2Y~+Wm5dz-fL{|>X@P{<{Pk-RXd*}(p|06Ld4GY5 zwgMF8;l68h%H9sa@#7a}+g{FrZ*{1INz{~Cf){^|;RkSlb7ph{q`Wc#4X95t`A*QCL^L$}6agLBn0XJGsfuy@ziDRw# zc-az!p8l-Sq2S|~V-SGCYbsZI=Tj-pUZf`kc7`CudjBW(&xv z*WkO${3cCa?N8Wl0@e!n!iUBI{v^m;mNGO0o(q1EX&(-keq?@=0iqXBq7vD1kmXJT zffIAr^0~Sjey9tvF^s8pq0H3#q`89#)*k`V*cH%S7$tMk)1yAs37k<38f@XV zlXV<G4U0bpLQ_lOUAz5pHONQGSl*>~*rlFY*q{}wJ}-vJ)J z^Z+D-OG&acWR>l_o`ALh9w<7mBw1A-Z`c7{w9al)iNx^dL~S*+2CKEdCZOo5r{a7s z<_+FZ^FCc52I+bUKtm8Ehu6Wj(Ks@4gzqJ0H=!WJLCF~P0(TpdD2C1rH1S;I4Sxja zAHt}~H316S7!S8ORN@VWS>U6<+Q{TV8crXy2}(wnX{y5_^n||sCDD#f$41*+=SM46 zK}r8U7RdGGbf_t~;a-L?oMsIFg|lXuvddqF{@_9+VbOU!B+aCcBc53D_DK1|=g;td z#cqLUl7@D0(-&HFl|BU4|2xPkG@-Yeh6ijvhm-nAq!M6ZOJysJ8$LCj+yC*(&OSZ! z{->uPS)a4Pa35%?DNfo_m1jFaoA;V1n>cA46WycNzYEqw^|oI$6vD6$hS9y$p@8P!@^lr?<*HzXy;7tEYd;=->J| z43FFVVxx@-tcY zeA?#_+*+{zCqgQlKvhP^^>hN@3wdwVjUk+B*Ybm`0&KT6*^)BnTdKR;0ds9TF&X18Er_8BZDHc%RPpAgBVu;W2XC0t_ht3Wbb|%|U1@ zQ896KIKz3D4@{mdFhYS74?gD%cwsSb%R7;~yd-sKU2k&L!~ao$h2D1550E0&#J7 zpV73Ky#_ruIHj<(wP+bQM(BIX>?+-*+{&c+H+&D;5uJ^LxR4wnRF1JouPd;_7)7GnsPjeIsoS7Th&R+bKEh-#&al&U$H%fK0ZF+x>TPO z76*PJDDQJ=lbF9H#Lf%KBHt$#c(-Kb%(eWZX7U~~Yu|*)o2{|Z8Ze82=wu;yv)tD8 z`)39%|L_h)`~oI1@6OyQ^#^4i#9@&4bPS)5{uAAZuKZb-k!0;&*kF8T6UfgpsQ!F2=Q= zb>;hVk*kYD$4h;rDBI_?njpMSUWXb+#f{~1o z)N+{Lm^yNT^{4hsQ%6*LYPCEpmwZetS$OJ&kP+K&?I3>{T&^%l)wj^gK8t;Dba;?+ z5ve5SJm*Njq{!e$R;OV3R0IP$S}Vg9TK(tTy%5oRlL87H5`-2w%>Ojup1BnP>j){u z*P|CVsNUH@E??|^apGcnv|2nPp9cB17<#xk0}Z~0UoUti9}IMUK-YsE{{?YW6Cn-D^Y6w4J#WrGXWOB%8SEoWY8?*K^q~HJPBFMnPVmcu~B3o@p-e)etFH7F5KPU z0Id~9EtRZDKO@j4%j&9(zNvS00HhSXIOOoRbwS}U!3{!hV8SgJPGI171DWy^8y8`E zDN!dCz|-3SQllgzX7*h0aQ-v}^fr}!wi1O3TjUX+Cv?#6XF_swjunf<&^xgZ=1B*f zX?P(u8o%4FdffmrMo`4pL0eSV<9y#Kt;jRr*@S{RMwnI!%tWwBOw365?3ed#Vqz!d zW@@&0FgAW0CtN@sJZt^M1GuV9t8rw$orPVfJ? zf}T@NgvKM6m`ZyX@lZHxYS%6{{^+-ALMsXY(!T7a^bmGoKZ$v7@)aDJLMhrkWY z)GvZT7Q@MITK>w7&VUIrxhAcc@tH;tec!|| z$IvR~uZHJyIZpVca7S3QX=)G6%5d57I1`}f-jiyx$nXOv6%Z6FYR37*vLo&cF#T6h zXC^nu2+0`L5!)-Ncy5zmHni9~>!{HU4v2%Fjh^v50wdEkTNG-tQ0pOq-Z(cWWP-$G z)GdCFzDHw2&yv>yHVcpf&)TXepVE3%&Ozt~<2G(SAl~qQ#sV2cZPUlAm5IK<5BF$I z!>3i_8Tdo1eB9pxpm|WT;K+}A)^$`O1BDKh_N#R?!;%4owksM}{Q+|fW%!3TNQqzyEQspIohG3bmVjP8BB zt4wy`H&6#qLcvg*Z>O&>Cz}JlVA(kEMJiCWvb4vYflBbaSSqI&YlT03`UJ6$hO%IY zJ)h97vNTLQvgj5qiiM;48MxBwi}>tXTo>2~Saqa;3*T5i$14BmuEVP{*VmH4|KWbW ziif?D@I{LI{c_a#)73DIq;S%1qGr0Qa%N+FU8O@+v2k0S_k61U3U-~x=K6Fm{d{{9 z+>0ctDU7X|Vj4q71Ur8gOvhBleck~3NTht5bVoETj@LYS)Ea9@!20Bp=i6UEhJn>R zIQ+u#PI`aWKOJJW4+{apde)!Kvu%(o72j`PMF#l&^)8voJD+26LCxOi_ywvb9}G3j zp9K4Y|8tJet7Y4{0)(s`Fe=&du>`um%7ko~)6@`besC51$B)=&*hRl?5mbtR!^R??wx46!=$xE3Ejh#-bGGORmM)`2&ijEko}_1O&| z{YWXJWas!UgtxFX`&zkchJ0<|=}wf&2S+Cq7JmsCyvDO#ZWILtwzH7i?B&$u?e2urhX+R6}Z8fBUta$mqie^)%Z zT7xtQ>YX9m8}tQ6sOjN29D2&m3pY{_BOxA z`Ddx*14l`^b_ni*>tt7W?BdVyY9m84;1Ho1zk9C6!PG)egy&1Y+rrlqC3grf6Mmuk zl8`7ueWKcastM5Oi~`P`&Ok6*T^j~gBf4k86=*2uqs12Zr`X)I``B~!@3YEpJ0S31 z@BXNKft;pW&pz`CIGAFEav^iG(N4*|2zFFC|8d+3d}ntYAL%&1${SwEaR@;_ZauX) z$|i{z5V?pQ#$Ti^$8nt>cysUl#8js04au%d^be|3+8Ieq^DyVHy$_)A15lY-*)QXs z<^VlUOyZ#hMWI)vk_X@fq`fKNRtS?5O ztU&*Oa#b%Lo6ykoH3+>r1XTO#x_~~4Y>C8`?GJH={BJU63AthbO~q;^x*I^uOz*dw zQX~@0g0a@JO`dfKb0CReMxmq9HyDHzz#WEqyq94lz2C z-+-pufXxKGR$ue+b!F(LFY)RBV*1)#1I{^2t0ybCo`soAaOeZ|#abry5Ij5A!At^4 z3$lRH!PeE6uc)A_8efuvI$2>BQb~4M8;F{NJc4a#I8%X@KD%9gLJ|@?gg-Du(C&Q$ z{hk5|$$5!&Hl^)wxT1@hg@KfdLlTEnJrTfx>p!$lYdFFoDy!(?Z<*XCe{83JcthD- zF|Zy%BN=(Afjs(hqT~Y1e{A95*twk@@JQ8Iy^0^~?k>995tq0eVh#o>;2^lWh5Ppw zgR7@9w-|t8)8mrTI+u!|FUSC=1{nf!ttFVI7hn4lB`YJQMW%|(PjRIFa#_pWBzk|c zf0K=Z3_l=1K~%ZAnr8zlGr-_&JXj};Z#;9m&_cr7{OHEKCkMjb$4zNHmfta!i@nL z_Xg;p;Na5;XFn-=012<3i5zI_AU1|)=EhX;EAa7)Z${aFP6rVnwh z>xee3fa~vU^kKTSF9lc$N2NDUpcUp(GxqMC?M~qe4^YB2LmsH*a@muf=YvtNg|C<5 z=3wJ;;ZA|^snDu78{R6QX3r*Rvj*K9Xk1*u3*ayZu(k06>Dq%<^M1Jz36xRF2aTZ) z&$pYYlx<)hCv?QusX(OY0kCZjATr~sU;!LUE&My&0fA=_&b#c+C*MS(<;ySlLo(3y zuz}Z?f5R70h_~=tEr!?wSpl}-Z>?5vOps(200D{n))4+6Ya;(E#F4+A@THPxm4ZHF z>RGHZ1@JBcKnL7D2hB ziEm4%e(3Nv!cd+-hM#&W3<7x<1L>)`5^v_UAcSdA?d+pV11wva74^M2hzf4~E?ngu zo|Y$_O#UqYMRi9+llm3FjmlRBq+$TmLAMT%(8r+=c1zy-3gbk&Ct!@%fDtHy7+Htg z2l2Ztp7vL;&%l3IW%%|+Y3NP9Ss2Q^On`-0NPIZ-0PYL`k+E4RV1#{c;{3fp%jy7> z2OS$G6S(~lZVb+7^cG^1l+AVLCkuZ8&@4sDYi21TS2BZlZlr?AC5l@G6)SJqN`Aq| z6lOS0++lRnBA7=&{HiViJqB7}Bs8~$_rE^~{)`q7q1ZB*oPbd4{eJX(UsVX#Bp6|C z)qCAi9!!8KMxbQ+QvP}fYQh@_!5D7LSzne4U4SVGaGGAk8!#jvxeYIL7}HS+hZ+Hs zy_v&D!FnW;wA&~}pmv~hy^j?Axhasej3T5R=)+OBz^SS1?!q*87UCyT)J&-soxe&Q zd?G=VSmK{4fanLksHp;2$$poCV^xoLkNPdpsW>URbLM7&u{g_SUhN^)^r3$x!)0x= zDPOc7ijWknC-4}#CLcCn>mY5&-$TCgYXP;atY7_3j{wK!VtLrXKLtG2d)Pskkxt-N z@r7T$C{q6I?_ik1*})p66PJzJ;cQ6A$=^}&6k67CcmDC!!>q-+OOjCnC=$(<-?|{; zI^#uCI@@6u_8C+MOFSa{ai8iOyG7uE1Gf5+e4}Q&;uS#o&xF5en_jE5i>BJLo%3yVWx3sO*d-EVuhg~HWx;X(O2v(WVec6%tm5MjB( z%E%%62Pl3))|M(^o`bej+zx8}(5k>oDRQho0p~vdHH(a33CQ*rzaD*iiadaLegRCu zEnD@ku-&qEKhw`|L*fQL_aq+XtgT@juv~tmL_rhpA25{*gzzhfUDc(pe5J|*o_^YR zN=r^x`6dHuyFV_czeTP87n&CGe@fH}2mv=y3Oqer`Bw7dI2WmPH>WGrOK%2{kPFB{ z*x}_Fr|gb3s!F=-s_8VQY z9{{&GIMIT3^wTzWP+VS|%@Btl^yYdDl*F#Y1qu20Mc|FF)|F@{Y5b+k%qxwJ}!iZ5#RWo8W$Y zfpK+sZwp`-R_h;7kZ40zKEO(01O(0ONU>TPu3A&lL`~J|x}fZ~B?NCbvN0)C^cjfg zxd9XoKpc$6;X85LA*2|P8xau^FVWz$Y@JuQw|Ru0ZlshOIRuEXS9$ z#ogdu(MM1wJTjwvq?{BErn;K`f3*TgNwX`ypB?}@OQ4BSs<_u`o_zQT=YTdSBM)w7%gFI@1niq)sHR7KF_yVabT`lq4V}ZVb%GgNn zda#o{gaLjSl+^_DQB4oift;Hjdk+rv%zomtBM-C&#ityBKBagTMw;p29R)|0XV@v} zub0)Tib7^LZk6s~f!P3@c6>uqO%?~h;k6-^XN6hL`dq&CHoOH2&Rqa?ZSISGC&!aD zP5{$6JuEBgIrLU&2Hch#aVSOmZ)nLAT~_am(HC0|Hi6|S(R*jplY8~e^yg>*2Ef1U z03x{@BSf>Z*;Cjv`~BKl<-$jXTzK0=rA(kPvCGamzNS3$UKRI zOjCa?k3xf^@MP&GXeTDm?_9TmDGEb(m~E8zL~k`hyG0ZDx26w+Z*T#ClQM{K#k9qo zxoODdEpp1R!1xrB3J+nyFb`>6Egle}_jiD)FkcHdVE`m5h#QhnT=*p}cQxpB1Fi<} zMBY(60ctcT!0=j>-ro^nz~}9O%>6t7+6z~}@QKSp5VZn$xEY(Gq9Wk!*@O43YyiK^ zccg6_D>+OP#6hkn#t)}K_yXOM36?dE@&b45y~hDMH*(7pDGQBiEvHbcey(_XR=kT>RmutBJ%pcUeNR8wLP!2+(;z=fa} zJ*3gw{{Aw5XRIX2Vi>q;d(Kq!>46fws0Gygd3?hnQy_EPwgsgbU^*FI6hg37)~$4v z&H)$#)$cGZ$Kjcby~?cYwGT=QRc}|^8Mde3EA)U_EQuB&aH>V~o+pK2Rs;sJRO{de zA?o|}_xn%TW&+lY90$$pUU~RAun(0Ez*U@S3E}IgR72NOb_AjGk9C!^0ol>3N;3}$ zS#t=o!M6kBhU+hSMvtBHF4OiA(5H#c;z~pVO>7_{urX%DgQ9qR-Vk^M_%@=0SYhUe zaEb1?LTN_;Y3n~oOUr^8m@<+r=$#DQ;35Lb%^41~f`pz2j7a6hHjWL*G*Zmek?qqfx)-mVcBe z{zwpT9Tv_Yz8E^ZXK1xLoNS@x->8N;iQzwW8!6qoMQ3wBO-UG94mY8c+^03}8l%5) zper+h9CR#|S9oNg0RrmwX0drAOeTTdf>)-*rX7$>WIJT0Pezvn2(ds4RSMmzw8x8o z4veK5Ed$8=TV=F6&Mg3yzvs3*L9%>le`&(g|}ZVS#EJ_ zcrg=zu`Ysh3o`S(Xg_7XLma3?Z>B*ve-Y02QOPEo5Q~GXUyREX%jc*mY0rya$EJ}u z*#NaIg*+I@gkXdBza0MT%Z)Y`1)BI0Eu@y?c9g`#Ha2Rska)tY2Y}?bFYRNvCk?&C zJCm*jYD#uTcsUP0CyaKIRp3>w8#*7h(EP`>ktv2Gke-i5By2FLaA|`1;7Ju>_zD0` zuWfh&^r_MhkrBv7@S&k#X~)>&6VO1*NFuD8D5<3(KYtJ2VgT>vGK--29gic?7T_%e z?a_kWF(6o{7KmA=gDUwRloxv@JgjD7N2l%X~J7)aHJCq9J0SAPmn%|f#16b1Pg@W z&G+|X;q8XDz5DDHD}kG&Y6@&{!7igHtUoej15pjQ3!DlkZdB~=GQ&)uqlqMD8eT&w zdUYhNpO0pc%S0C{mM@WzUmg#pGJDDw+%(E20e4J-=#c+K+Ly=WxWCd5(%C zNj=SlCWR<8pa(?}CF#~Y&t*uODRU*sm_`-yBvD8+716}5G@Nzs_nhw`aXfZ^D1XZ?ZnY3jj-d z51{kN$(N|&psn3Kf0`$A9e7Cex!e*uoXpod9}k&6!T*(@$k%x~F@SEf_T=W=qS@|;1x4X!`-z=|C9CVL`yF=Kr+$oV@yo(F58Ktxi>}!RbvgLF zW8()bCHWELg~1c*LmKryt50V55%lMYQjdwcN*#2 z6jR@NRlVszHT2FENu>8d>NGe?C|^nuf>3_c|MY#k+(Z{Fchu!roy3Egn+$IaUoLf! zQflkiuX8X*%Olc-W$ZJ0bYG37-k*zB#WV#P*GT+Nz1!ioC$J$z4)+0^@#52C6rX2g zgae7(w?m_xG4|YiRFA9Ve6z}`*d-sl8Y@$jo8LQ%^0&JU+g{XbACFn0^_vJU;2HB9 z)HsNivoka3WUm0=KM<)>k5aTPu_dkc;gH_W$)syPp7=Jz8fBgNc zTW^faMWon^G&Oh$DqrzdxHA8PZUrB@Uw5!(w30zXE1z6T7RV~ z9K=*zX8R$`&~@xXCOqDg$DMc9l{22x1DJx?4 zy(0?8RS=adF`SnmkGB0T;^BlZpw%r>Yf$aaRAPdt@k4qKP~B+<1Di*5>{3xegZ&0` zVH9&xNUlV)+^dlR6qyu1lZfQTQV2W#_s=??+QDroW5O|IB8PMBw)>JwbPV+sfh z4ddkbdiM&RLx*>nudlq5*s zWi%>ag7h4@KPl-+_LDU2_qQKm2t^8W5ooDE8E@lJ`AoE2h>_ig=^bwx>%Yx&i< z#a5bTncqIOk=xg(4^pDn0;bBX5ImeVRTiAu$nU1#u|9|w!99oDGqiX$lyk7CWff3@ z3&=JcTC~h6-|q_KTIha6P2k}PgIG_YCiWB%J4;Le3z%!y{q|f@eL90 zlXW(joSV4F-?9b64N&hF6HNSmb{EwI9RRS}??I^=vXbP$5fw)G)LRxUq)vr1Wx1_R z(XS9j8A6_B2xSmu4(OYsg$8;P86j&H`#gKSGl_a0ZoKx8`4W2U)Z)&M%k(g?a$N#- zDT#5)vJ>0(`I~FS9A`+^I6e%R81#f`iFi^7`-dwIO6utV4ptlSgHQBxw9LvUM|An= zI3<4Y4nqL+;kIXzJo3N~k|?A<5J$bcPogp8e)uXMw9r9^?Cg>Y3-rwHU75Q0R)F8_ zKlz%!A?*-$SgI_>X%LT3Yf*kl(_xzHtsgy?!qweX21jHV(IB0%$RJgZKq(MMncJ*^ zF!$G1fOJA`zlBmw6RJ_}YNM)|PZD3vfr}n^d-FzTx_C~+xt!qHD?lDtlMjE~8#n>h zS$YAb5sJAhTdoNkETvChfAV;cUOFpXqnSH_#LFS1TG*-2Ob@(Vq4Oo+XLKVt>Q8 zA3uKNRq; zfpQ!Kz}KDca<{|^#BF}#W&6$TZY5u+bH7XVRhdMxbvrz1u5ZI3ES)(~vK8ir&(MtF z@+zBFVS!{6kv z=S9WRXcc`GB+e1y>}Ikfw< zG|Gow7pKS@JA6F#*Ur@~ckse2F%PO=$aSQkGy71VgY*elT!iYVq+NrPSD_0!LBH+% zQCt#=HU&~ODPS6ZOdmx*xcKtpiKlOq9}zAw1iuWUj0|hOnP2tD@%EudrgsAm+q<*b z=l|t8F7S24^gT7M{aLE1pH9BNnlU^7F9rejxIIQ_uTM>+- zS!0dAN?oHWYm2{2WA~NbF^YM{BiVX4WSvnk%dzuW?5LOCa3Y~m?D~rBWre_=^LagF zuFIa~eUY5Zt6HbZ9n}utN0xyw+k5@zaNB3#h>hCz(NnowIG1Xv3l37HuFLY2O0(PN zyUfedUJ58SY3lH*(>M!iI=CC0^k>;75iFovHj+lt&O|31c;^8xl~q}ufm<84f(Y`K z6OU>Uieg^?3_k4XskD`iRXaTF%*CuM)WVx5LMux>?2~!x@$81ptlBFi z&oWEp-?+N%R^pZ{k~j28D9@1Jc)U+V5=qIQkIBaX`Z{mtYz-aHuvJYKdtyH3L z`qSy)soQ&>T@HGt$SFE1*OV5Bi0!?1Z-m;VBwmX_brGv<`aJD-$Yc>K^H3W!hsn;O zE!Y9H`xTXMZ~Oxv!Aq^?78V6`zIB)hlDV9J1f8~dyr?fm5-zpMD$`D>=T>K!lM|KU z3?8bNYHHpdd|e#E9ex3J_%JeWg4XR#!(Dy&&k(zP)aDP;@LgciF%9=$#c#>X1~hbdpZ}ozfE#9 zX<1o!((YlTJxt{ru+<~m!K;);p)JMOr^9vrVyg-+>Bj~Jgh7-LIo&BoLs<~oxS@;^ z$Hs&77@?-NMv%wpNsF&IBy%-3C2G^cHn!VWX=^*CG6h2MRo;YKyPAG}s8vpsf6vBy zZhQ6=Mn$o7MJi2vetC;;2=Wd0Lb}>tAOml?+@trXr9b6|?gACilX?I_Y7fVVIGZU2 zqH|F*FmDhgX1>wTQ^M);=WVQO%p^0?*1P6F=SMj;Zo0O74;r3&w z#HVO$t%Aja^&5;l&H<5AYbFYpPqfG$HL61DC5gDI+y5aLerKP3deb+GyiMm=!6s*<_fqy1wJWqYhRM~g|H(BaFv%xUSCOW5L%hK*a8nQeD=ZY$w( zz1vq5yPJLXM2);y19K=-rkkVa`)biR3njN)ZdxWzM6Jfb_Nz=>mu8y#xV4Ew(sWw$ z0$@iI^;}jO9}f>t@hFN)5DjeW`3V6LWhQZsDbbx^8i(w0oqFr!XFa64Jr^$@&qPNAQGx>FcA9YG5@ zx|Z@MWx~i)1FrzL$<3yNrzPa_*>f{VtgT=dJ*9NKMCV(Mz@}Dt4kHKB>F^y(9bl^_ z?{IsywQqZ+_Uq@Md_Wc&bUi$=N{6uEh4*^)Do>mHC%G<|%EEn5D8$4%&~GVhe$-{T zy}iLdqPn6UAWfP|-lOo6>HhllYwjnQp_dd%igYarO4_`$Hjh_&`byGrn1Xl_~ktv&*$FcJ0 zXPa_{1_l(e#{D!0YEP%APEWdz?f~0QlMGS>*hX=~@CrG>lifIeDK|%HQ>vSnv{SB_ zc|_^b_|kwW0cLI(qR~*HhKGm48~%Luo+#tl{UYTI>=>0^1dSeZ;t@?nSGXc{Du|fi zI*v|W*!E)Do{eFioT8db9>^xigm80nM`rfO1yY$i9{Ar1D7+~DfG?g=qK`6gGdYhRr_)5f_fyD0hxud6wk43ZJcr+vTRn6ltHzEQ zaAn|w?!p<)H;~@3p;S7hm+0+9vdCvyXKHRvRsc$oYWy$gKMU{#{>sUfI%O5SPs-d5 z17V~|D1SN6`qkT0qe#=Q*IUW7wsJ47vk4}i>pqF@%+0e~v2UH_MA!z9!)({KzDXZA zUJ#Y9y!$Q76|-5OHRk&HHmQVNw3pE!lmanQ_clxv5Z`=svosSbSqmAL+UQ56JQ<7O zj=IJh(a2~j$zaU5O|Z{LbS8IV@l?<&*$_U(JzcN_lFyJYV!1A!QJ*DDUurJHxv()P z?z1O?p!h$6pqL^jTX}%I*yMM&$X3tiye$H&s(;T}=iF*aD1?&OKG9PRoW1&50)PDU zbHqtGS=qXDwol!)oCPn>$z&<*3oQ+C4cR9u)Now0p|3aGs>NqY%%SIxALdcobR-f# zK>s=ByzB30W0Tc6G|H+uj>+euqglrr|Yw=7{Jad3Ml%^ zGbSl%o56EB(hf$y(j>JzK`A?6`4h#yQJGIkDy^QPe}11KrRR9dJ6&9c?i_92=EMPn zE(g9-FOH0e}_=%g|?&e9$61ch_on(1&W6QNS;2p|W3qmwo0IhHG zM3p=Z8dSey$4)_Ra|RGH**OJ{MsTA^D6Ob?!>T=Z;aeR#&q@RiT`n0K;@DHdGHjRh z1pFA4l!~hSA{W*C@?UDw|I4G5-$bQS0qfNF4+Q@FYIVy(7zJw)II6yOeyFmJ`1?Pt z!AKcaQe3-!#RRiXn3pnohQwEQRldsd1ZYUd0Q6lDR$^s#Lk>TMM()I$rF^)v>=Jse5~uk!k1m1@#lS+dNWTK}w%)5=lfreZ&?L*>~5g^9ZUCAee|)DvwUl=2~M6YFTw{pEG(eRMWrERE-~X zjju0A)1+;^U$BXEW4U*g?g(2~;qI;b=pqMr@%b=K4E?v45PJ9BQqC=yjaMihw3#_VkLFvDE=FCzs;xWGt@1SDX zW5m8(+-PiE16U_F32hWDm{5F~(2}l_b}lKe7Z*Zv-*`zJj*V-^GH*T!3Fl(FJoFBV zj|;Bz4dLO&C84Z`a~J6lacn;N+y*{j;WG%tfSiUN<`1H{C=SbX+RCoYyhN0ls^iE$ z1;DLr-wV}Xx=yUoK*=?4-|q7JgC%}{vIuzoK0dtH@Y^FqR1Fq+NSQNm%?lSUOq>nn z?L+Yuw*^OpjNV%mk`GHrNci4{cX(Tgx1jqBgdRAQ6?g8Co(%^sn9}dOv_WXR6&eLl z3Vi(heUp5dH$pDD9>y&dTy03!@Ab8W2_qakp|t=)op!lwb1q<+q}%*bc@L54-P^r> z|E#}%RC{~-H*enf?VbVLP7)-5@-N%q*Qi3|b97(VfzkM}=6a*igNa#g5ap*jPS z=m5?mP1kJ^CnXY5=FJ7c%eps*7tU^cvdD$>`S@aTRh`Cq+ zMyUI0ah=`n1bjG?TLHCgoLIL3icAyR`$Y1EmojR`}@@FQH-&;d-$VwQ@VV$b-H4w+J_$oFrY47I6;-S9G zf&UXUnlZasraiHxWCS_?-DZJ+Uq5feq@|jem>}qF`pz-8COR(e!O_o&6^_+7^mYCD zMtw>j6cnNpTOJ7g&{CKcclYq9zaU4XtsN3rW3xE&uBW&-TR=acRl@AXWY3m8eE5*rt_SfvuV``-q;iqEz#%99ds z$P?~dI#UDGZQ<*k$rw}s?2rC>+BYL{qGnFwAJ5`q_zVWXA;m_sqSo{>xCOW*!20rx z*YT2TSAr!VOmeX$={yL9m+a+HQ5L9ZK2{MLO@>llIDkJ!i1s@f3tE?1r_gQIkAT+! zoD_T1!Lb#S;v(9K6;nAOxqDt@W-z^@fZ(n08{X_aob!bKg}l}u&7HA{2{<*|!%~dE zI3zLej;cN=C z5Fd>me|H@$sC1#qz|GDP8o~gIYWLm%w5Py#S|^}>z|N%*2BbX}J(~y^<(gPpHlpLV zN8vGnrUR&z+X;Zk;CbI;<|@+irc%J$EpVgW5SKy1kc2J#+y zn5+?SIjuFRJ8}`X!Vb>CVV9U2x6n!$fZvN*zaNM>Y3bAA+nZh*F2Z7X0Vx>JgZ9dm z{9K7drR$=T(D#$w7)*&I7mAt8AkXow7W`Q0%i#IoP?w(R91?{x8$0_5NQRnIJx}P~ z@qR9W_RkSh{u+rBgRj`!}+OM8@l_UF${(we7uV$zye#hJ;w72))e6$Ou$d&Myp5wT=!AMPDA9nlfc4 zy)I5h{^&cBtcpBtu~b|447&ToTr7)YkBzSZF`@$S3&(Tx!@X6E;$itN#JwZEAAF>< zz@1Hw8SAEP)FzULwc?yLbf$8kr{%~E}#J^(5dTb1R8&~u5K)k?xU=90x3;(pemSHQk$M{^yibbix3g$gU@FBjRz-5m#&VTk zf-3AEZsTd^KaO$D4PEa+o4CcUt?dghm2%7*=i&O}b&>uNk#v4TNQm0v!sK{rDX(`Z zv(?!Z7e95S@lwb8B;rGPO~=z5%6aHjo9MfU%hnRA@zK$i;AW09g*4EYS*Ch^M<*72 z^0{c^T3ub~h@QUx=H!5>31*#CsS-mz|vcYOXkXunj>v#BGk1Z@I-TVQyRhAfHT8{auTKVunl6=~{ zaZ*Z~9^|;ivs?_al{7)haXiE54x-PxwQE~1*lpsY8lh7@PL5+(SUg2VS}*`$3k6Yl ze9c6!iJuFr_QNQhkR3*|`#ayizi=q3U)z+)4y#8S&+w84ke?eg z;eMZW9Wvs12zh&6)&XQf+KHUU5f?vBPUu<5(9qrb=$6`wh@3?vit|=DVSbDv8}75Q z%%H|-Sol|!DvkCO@Jl>gT=&zPUVCV5Xt1I^4Ul(#lRhK6C_{8WVa{;RED%iZ8>Q!oork@MLXi?V9?qzEaVFQIqZ)E*#pqyd>Y zr)Mgu#3}cdbqZR@+(XT$UOlp{_AK%tCs^L^QQ4g9CiF{F=;BZqWQu_F$nh&((y4wm z{QjDzA+B`u`2asP=4+x`Bf`U@*H_-VcLS!G*Fh|_Jt8#yzqwf6E>nT*2$tj$w4HHYZRtma2t*vE9RA_2jRcDfd zLYaq9yL6$s86?r650+_)2@^Iqh9OBffCcQ>N0N?#5^gGnvFD3ljn^_{XZz%6># z!IzAq1)paxyYCrG!4=41mvQ!sG|oM%zMcM3FfQem)5-Qn_kSYeAII#sFJIJ}*7Tr- zFdKxsbHt`w=x9=RlI2LMK5{5&lUQXAKnd`)7iC+* zEcm@}!3{Bt;<@xTyv$H(+vyzi(002-5x}|+2 z9-TB{96o!LNFt80TUeiHF~OqdvuC#fhr>KMdg_BRwB&u-OU;>p$k!H4IT#AMtG7bF zcfeMi`tyn)^>pu6Ko-0OsDV6cG5Kv-M)80bq<>`GIz7Ete#gna&cjwS)A*X~(Apyd z(iu@djL!nijpk~da59r2WQ|XR)&R_M;9odTkrVjv;R9q!iF9mbd}ot1-O{7ma^F7f zx$jd+O2(&>dFJGd|A^%|*5~l&u&#h^g|R~dnFb3&x4$Yv{AcInbbMooCk|MEDn`#$ zO*+o}q$HWrWc2l2^n40gobIdc->^!(jdAF$;aRl6rou5y^#^hlaIJ%%O|R zFpd6!uKr_P3=<1W+BKtGEm0>(r6xG>6PxZPD9mhv_#kGz$wb}gB=D#M1Blnl*5%DZ zU6e6ma*t-PXCIjZ84{<>$86B!fsTR2WJPI-d|DuEk6hajjdex7^ukrw6GNZb()Rq`?_?9J-K1%NN>Zp3#gy@0xugmGd7dckw{YoOcMb`+=`j>>TA4jhwC_ zI%}SF8H7G%$7I#9Vq`V zvF`s zbSM_eP{ll!X!m!Y>`YiY)~WB7%KUruAzSqsuc@aA5*FY6=B}Xw11N3ctZIctyU9oP zHsN&RGM^alGYh;c+oj6Q!GZCLE}SL#8RF-S+qYLelI9hMdfRRO!95_Dz;dQ`q>&ON zW&6-&ZcwSyNVwM7*?P~O0l;|WmnPbt3RJx*0#6Q_ivMtg) zCEfKU1DVHG&0>KcdU%?<&vXkv9RE4Mzqf8!DRz}~o=jTN~s`Lp4 zW%%Hb6~rbaTsp$<;OzV!A|C7&k2%p4is5x3l;FpS(RVE^Ez6cIi}~&hJ{3h~j00Ar z?ZH~v_AQPW)@i`ffbH}@y6+y|jhI}t>3qKW*@3&p7~dU**Lw?mP#}WEGqM`g>;e?? z;Qsx-4Ze}sV6yG-UpeeJIRM}URLL>~W8FdFTQf1D2U$uwJr~4{1t*B}egE~h#2Ov2 zp9O<>C&oVeWmn2q0+6j)&35qM7xGcDu&8mAWATyUs=+jmyTSSA z-Dph;Mi@o!V*Lz&Mv3!}&#Gu%Klk-*E+h6>0q}5pf(Sh^F#(a9Grlnc14Dm*f4ju~ zn8d`EWSKD9hsMT6WYyYi47cT7KZ8;QM?`faqvkd>wQIOt2Mv=80lO5!C1-M74Qe?f z8V18x!gLT>ByIxtWJ|GKbyL%RJQ8>QIBuYSw;(P%o@h;c>#j;lt)pL$CAYKt`$eMu zixbz~*5>f=a}cCv%XgIXN}Zbck&yfrh(r6W-Q92A2pg#GYFH*ALGIbDTs>3#X{{e> zi7htC$bHMV(bI{0d*IG{Xs_*9UM7kf$M@f~hbz4h5!sLG8NWyBjJZ5a#awQ2TRiY^eR3$nskM z8`rO6(tF%u%W5qxEeJ@h<~Zu{{%5AAX&w|ts@}s(wuv@VwYYr~$U*(5eU#KOdc^{nU4bVD@+a0YGL%*+geG|w9~MTJEZ#5NCa zZ%`1fUpre{Q?h@M6C+MXFsO4d*mQ0M@2+oseX>nydA;K?pO5%`A>O<|mv{zNglRZc z2(GyJ0vTXnuHXFiSBN*3t6arj045COAD{S!Nt4<-2VI|cF)Tv68UID&L1v-?sril$ zCw#xa+%kE?Xb(W*s7D}JYSRzxmpTG>QV0M5c&8i%JiuW`9K|@mETqpy15cqTnVg!^ zN4S65H76o^@0Ck!ZLLf<(D1HOkEr}Jbfy*-kdR9jk-J?3Uzew1t&K_&Hq>rGC@3&r zY8C%)4{wmp?AQ*isv61Dw{h#v?pnS8K{Y974Bl;-j(tH}H-+g4z$@MW8(Y1HMQZ+q zNheeMr`xSbadAie{Y4DJe&xXMAf|64-`YPW!`u=V5 z@z^j0OFd5m`cs%BsWViYldmSKtEXNcIJ$(Zcv9YL@@YE4$C5w8$G=6vZO#pFTI6Uk z{Rz_wWS?XEGx^oFdTt8&Cm&5X>66DQ(ZGZK|C`|r#SH`6sMPZZDExjas2Bv3`pF2fjT!c2&p^yAnAf!e8=^ie?I)m?y3chUEH}u zFr7U43tg>;%zxh5&YCHVHo=Yq%xH0<{$q^%RPh`raMCn#IWE};o*eYEX2^_8LFMTmuV(%A9zN;Gw@_`u0TBNC;(8=A3!_ix|+1qwfp zUxr+X6z&`Q!hiG~^kA#i9|q5h3zd)yEb59jVBDb;yI`@lOgA~v7+m-_cscN2L;Y8U zLJ~<5!rjPr^bfiBN(3Y~o~RYg$!|gN;G69jY96+jw-18>H1`AwnLobL5&Z(Frhwkr zyH^a!#{;-yRZFF-HhwmTW%Lk;SZu_g`!4__Nii`-OxN?TkV=Rz#!Q^As607>L#RCp z-eEqQk6txpVEywPLn%6P!LAaM`2FkZU`M$!cODfGe`=;(@5&Y;Q2hv)CNKd6-*QL| z*zY4ppEd?+6e2t{;<=&d|dk-xLp|_3R0!@`Jr<-MZ3nsvt=eD3Z-~crL{2 zSQJt-^wwR?%h~|YFR`I+kqvkzdfTvR+a(uIp%0*1`T1O;cpL*fW?2YpjM!8ZO!>BM zcN@jxqX46_ROc5O*UCCg6C$lHuw?+Mvfl(4&Ly)wW!UN4BRn39WOnnec;Wk2ZU^YUNP!S|sI#nx#&rX=DD zX>o_W82Zr0pspb&26pEV9pI^hK+?s@3nr(@dR)hz@sgCf92!UGv@gFf7hF{xi zYdzo_hjTpIR`l|z!?cDd8|4{>dg%+6V_gb3^y%z3xqQ?t0$N>?!|OLL!h?Ku+tXH( zDFQXG%oTBLEJ{mjgCYV>*zpA>g|c#T_5@uRi{wqnj)1inX6n&%!KXBN`uPjq`EWjZ zu2V+j^b35QbJ2`qnz1 zVcUb_-tQRig;U+-Pw(aIh1v?znRYm!cqLL6{}PRPa;~?3Q`BPUv;R03IZnAG*1pT6 zi>pg&=Cn;ngVhC{{mL$!hOWDg<*BM=wDS&sW&H1gc{)HC6v7^FUVuA2EcC228blgI39luL{ZDz-+ z*~6$7Q(U!6upVv2X2Hc7=}usK;fuSHIidG7{@!rD|2jz1pHByydXzKmDgZ1yDBa8Z z{p7?DOTA$74FM{m`Rm{@K7J~7ueDf^T%W{E1gNPlwwSNb>b5_`&QPH1JzC(_(5s)E znNaZN?&rklpNQ&X>XlD8{?~8ZklAFM3uS6J|NZx$zkg5qzDj)xs3BUta`Hy`WP_6` z+TxDuF|BxcZ-+M;utnmz7e9ygK=v6tB`gQuv*YoxFTyRK!4yshN3hc#nFO^O3*<3P z|E!Nm(Z>7s7~mBYls{#YJ08(hXeF>W1~)--Lx{Qb&^|+*(z3Gr3qgoN!2WK_b7->@ zzed+sJ&uWc9>Qi7!#LYp8`UU0v~rXHJRrK?H4kVw6z4VgfTuR++FN$AN^fbDq?TS5 z2W-KuN?Xa#mM!1pZc!xDbe}Xn9X?8*P}jg$pWe+UXHNMO+dtwkD|-BBFz@9_@-RZdH?^K_@b{Gv0^Fqg>r$ zPq6F{3(MbKFoqCkQK26=#rg~iMf1gsJt5|o?fq+|x%LC9GMbYLWg7PkN8Rrb?fXu& z#2)M$2L@9k9?3k`KeZ&d}ud*#HN<4&Vdc-rjiz?|1~0DM_%_l9qPG zMxg0K2nLzc+64H(>E@{!*2k;>vJIgWfdIPRV8H~AU*bAm$_Ien2v}@ei00jW*RLhn zk(Emrb4Scq_%G<{>5&WBZaW8YxO1Mib+hE9-j6$fu8#f@CU;6>HCl0gPQcvTXX;{X z-103~(~BuR>(Jzk^ac5t*&V>c9338xA;u%i>hxP}p?^8M-1!W9YoU#eO?eRNQ*xzG z8O7v);UT32$+cxj^_yiwA~j`{^R-$d2fBU87W7p`@>>Ysxdo+H!Dyo}YkHFP-R`fL zyqQCjtXl`P4-IRGb=~p4gR@lbMP6}p^=CGd-ksvoen5+MA3v2PoR(9;wwY&^|w1c^Y;8>)|2Vxm=b z&Dd(ve}PqD;R|I2I;3YWUnZIRC!h55JUG7mhOs|1YDV4H>(EvrswjPv{u0qrCg9?_pgyUp_*7IOqG{u4{u7LV4{Tog0k%o80qBd#lV8gZ!3fK+rQKF zt@AY@ba`=c998a3S@God?bVFp4E=BsP!3}ndbw9dMh2AhEvHi1 zRCcY50WJPlY^e#07sqmX@u=!QE?HqJuz|B9T_{!N_YQT)zXUK@FNex_d25|~HUn2m z*_}HIgmw6FNS{)g`}_J}{dN*M8r+-eQ}r5CZ%{ z5b0-gg%l0Mmbn@F33ks2N>#vkO>=WBvwjbNMa#nC;^HbL+R#H(vw~HY=6h$|n3<0> zTj}D#ncWgxeAF{ndM{W`^VR2x|D4OA4ZD_X3VK?O95}b-U3d5H)TOK&Hmo^AFvc*6 zAHuhix&M??t^TaoYfmIq2uz~l`%Y>pDw4`yyj61aemJY_E=ay^*a< zIb5PJc+tD@^L)^SU`R&{9EwiJmVODxNzXSZ#rl7VMsag;h6i9a`eTAvcn1a+BIQ%!_OZ-NZJYl*`B9RUDaqV`Aiz#1kJY6ix+O-;AVRXDNh2!0kKlu)Ieb9~v-l9JQ*~pbMxZ$b!k*e`e6p3rOr^+^z|6Qn#otdA-`7V>B=L^JcHvnG_A{A27`i_!-?AN5LnfgB{nbv?0=r3zu97hDwqorD<2{Q6Lm24)xYM_Uep zZUp+0KH$8)BdN0WBr+bJl*(ZR<7Z=BQPyL7uLsEr85z!pO!X`4&Hz1Xy*10vP`#z) zo2aJi>B{r-$W(w{`gt*rJda)$^|sY_fcqraeYEDUN9TS4B5H?7{1xARMTOHg_6Pg( zP1B4Epn1L$MCjz4ho(Ap&O@D3v*dJ0)VY*UMWNJi+Q3iyUBb}Sh+ zzkyW=el;ClxPXw>g;=TOu*8qEnfqsFXZx%yJfp1Cl4F>ZP7^e);H|SYI1>PDviZs+ zP2=lB0L#h7S*v6t)Hm-El;kim;_M)aoL<=%zGBkDZ_gE%#>Q;RV_Q&g$o;(oD5qHDuu(bun67w%0S7;Y?1 zs_<^R%%z=qpyptGPNb$e|I4cuRRxSs2<~Rjw0WKP! zz=tOS0($h39;_oegcj5&{@>b)l0LCCKUZq~m&sFe1x%Gxq-!0Hk2Ub<{1at*S{&{c zvcRvUIvc;Y_D|tv0skkUoRBQNIkWOpf_EL=PY)V`*}uNuni(Q!c_yHRb4iZjeq|-r)ytyegbwm@ z4ZOeB?0=+xa9qY3xaNLZd1&Mt%CPdUbrB! zqWj~=>}A0$Xz2L38Pza4M=FSuk`_JslcdFlj+vq4wKSAxmVJ+kD6r%&rMxIBwf!*6 zY2Hmd3}}Vm2f4LJ6^XHKY4$Cj?4;{;3=xD7aRZy8`S@ony{IH30D3BDGtXoQI88 ze@#@N#F(lORDjeh%ZPxv9Me4&*r*36xVhUcj#)tb%)=J;xImKIG?MhNH(%+vh%$nd znr5hGY|izy2Yn~}EAMmW;`(q(KLx_|vGMWh8qk3lZwvVTaeX`^90*8ra&#NLyGI-L zoyOSfOhz(vMzf=LiEhmr*c{P4(iytV8uFM}G|<>gu`V9CR^R?ma$_Wh{^^hh$YfK98FR!OBBQ14K z+285T=G>G?-Pn$#Pe#)O+a*f>N)|5h@E~2{$N(!dL*J!y|9)f=ZlGU3eS+-v71*cE zY(egT_mkt{)WuJ(TEvEXBd=Ewxs%hAdvm#s#lRfZ{~B;Lh9kG#9;zDK6rNRHPYKu6 zB^)A$3s5KFX_k~PFpMCqayGm-p^chk(fB^LmJ5*>+z+wch zh2j>}7W;%Wuc<|sdkAD6sKl|C{y zJe#wpE3|96;2OE3!HL_->{%syUED6+@595}A%Khb2I;t4M1yVf1e(2q8+B@~tO0~3 z|9+G{+T8LqMP7f*jK7nokyV_62h~DI^Rl>>dwB7p*}qOXZn71fwnHEH3&8+NX%G-v z5hhDgUYynFM$3;{o%vYqwi6pC(%G)p906?zk1V#^`1+P;NUTUn_I6C87tb^jDRO9V zG(K{&j8@#f4UF;J-Med!U(KP;h_)G$9?ujZ$s^OGOHL!Z$)(O!*q5_4u#ref zhT7S4H8PYz>_#`DqzF;9#*OU)yVeXyA^V0RL?JU)AL=`H zlj~slU_m}cE`HF~N}uhwoKRbyQXJDwxUy@C*O|4hG^ZCGd*YWtPsWYtU<{0DG46mh zkdV9d=b@nvq`yL0eo+r4LD`pi3#1q33Yj$+1eb4;dya~U>?9*BckmD4@J7?gQ{<>N z9drMhyDlqj0ytN{iSt~zd9ItKCeOBQ#J1>_4;jVjeibI&KR(KyhAB0+ugz_3Y3!iZ zZRj6CP!6#-41D~6))ps2p?9AFuyKHvvmeyoK7u>W40vD!*9(C@-<0%D1IzzqTXuMt#C=D+>45e3OGobC-}5rSD_67(OW>}4;=8Olet^nW$DDj z8O0w!V7N>ul$@1js=wNqFLlat1lURa0oa@wItvDYiF>EV0rM40%5iD;03qg;8`2e$jaCk)$XR_I9ZiuC6*StCB7tOLLPU@} zR_9L?L)E?M0#~j9uWE9Bn0$;gfx01vqC#s_<7B|WxP9>L3Q792wi-efD_tL&9?R`Q zUL*nD1Nq`Yv%h|M1e}f_B^Vb*tHJJD=BBs~t#edvnlx`dtD*64XY^y(1Vltw2w-jFd82Q2fq%R6rckc=ePk#8o)HXaE-2DfdqZp>HS74!yi*f9D*w((zeH;kt+iR z1y0eg0Sk`}Lxez@&|b(hwmKskeYmf?e159UmX?X9vC9FHMN87!w?3Tx+;*%8DoI9U z2aXwQ{e%EoE=@C#3Xw2+VV{lFVE4ONsj}?Cu4%j)rK1@3%-v2-VI@7jZ0$2+=WLaD z5sYv~Mmz4uu$-yI+HrFgn%#TI*9TiJIzO*Foi4WtV;z{z(;j5jsqWc>V%A+vQkmc2K z{2PagbLTXZ89Gi+TMNxA#-9P^%oc;=8B2WX6v2&u2Ye8Tl$x!!0m91#IM7G40}T(O znA|}cRc5yjx$IJ#kgEaP${m2qk%%+sf$kj6T$@|h-7U4F0{Eo$Jpcq;#kQZB@Aa6w2lJLuZFvaJh4Pl3u3rb3kN_$qC06x z77Cp=>h=3kB(a7h#>DK0Uzp1bS~*8!a)0o>5c@V%YCR8%x1wMgOtOHTi8QUlll{a5 zj}V?<&H^uFhMbvZ4D{5^!s@lYdQaYJ{y5F(h75qm9R;A z_IAMB%gYOa*~~g#(vsZfRj7RR10=8>#IV8O<5yCE$wHp8x&?@Ad;3Cb>1V6DhWX# zyBW;9AUwY0Op2G>;a_9ATA67U{XQ6jtVYcgP-eBlhN7&jxpavn=& zK=d)Ux5F_)v6|S$3&)091MAhN4uK+sP1YQy@oDp1a@GmAsjGrb_Vl4)Z_EJcijIa}c*2 z0q$91g=*3=H_y6+vDo%)60L3!I%VUlKQWks<`SZV%wKf9r&&x)?s~sxc8id2?dQOO zW9<)TTaMZOnY(9}q+lHO3&f3G2Wn`T7{lF;Pv>h-59O|9 zUMi@h$N)eIH_=nb({k|&(fW2)5r&L>eG1=VGBF265t zJMEqjjaLE;#O$zAIa^JXPW4zMqj>FdZSIliO4>5?w|p*Mq3y_fX;QTsAYLCndQ|WARrxAI=8dIcxK$QIbRv-` zETrw9TM8j3Q#_r|@=DoRE(K;sY7~rOq|KgXsJ+E4w_3)WYpoee36wV6zhe%ew7_Wk|OZGm)&90^_bDityS$V_Fue={Z(?U08ik2aBo(SABne{-yaMN)~9b z4q_9*w9#j{*lFxL)U(oeMtgjzUYw2*L#&Qb1+~w(O#+0q2t>|4wWeWVVT&i_XZVBx z_nI86y@7qVa?1)z$x4m_j*3@W6%*DUu{~hq?Jc;14`DWlfPrNSO>UQNY=FG%>8b-Q zbjpi6j$qN=xWCYnyV(#pf%YaXN%tMwIN`@Vu)JC3!&JW19@ZT^N{|;GEoW1Rmp4pi zTpmd$afhKvPp8^W;9f|n?5izbfBu{9j8y3SLj^+oFGs2WhW6m^Yx)1Ad;O;hgw#(E z80h?O2q=Oo!bsa^$k@;k&)@c6FKH0e@%F7h9(ZqWFFKmG;O9=lIo6^Lp@00Xyzc7U z7IgZeum?jeTn3UvT>R=4LK7{%qv+}bjwq$!+*lCQwA>?QNQo2J#y_1c0C%C{yIoes z&c>G4PA+yq)^BFVjPgdZhP!tNQOYTI`Lc`QZtBba(9`HG^+MY;)_+qfMAEY<)oi;P zeig#2;57nDHqVfX06+f7(ttm7J41dY$jR^Czh_Z)Lh>xDfwTjo1a)L2{ICC#y0-S~ z=H?L~V&(U-ju?||dzpg5*@5m{+5$RLm`Ymlh{i?zhd&4LzYRKqSzzI5294($ua46P ze*XN49#UB!10yg!larGx{W>_90q!$;_1Cp1aO7#IkIf^-#(bCwadOrjpirJ*luUf}f$&toL-_-s zADs*Uk^{Fh{FXG+2Y#xd?2i{ZZmZXU8BxZ*|R)0VHd5yC~ zs^;^v-2aqG#S$IWDD_7M23|vfOdxYY2ut!+nd}%s$!%H|zjusBAaW-E&%gI_os$nR z7|IhES>w*%$r9vfK4|;DKq-%Q)Debl7o2L7L^p)<6)yEMcLfgiqV6{>_ffE45LTEF};@l|DFa+&>igH~QOr!;b zRLOPaHSXRO&otC=x9O>cIItyga#)kElr?>ao^XWAziTPj=BM3 z(&4{QE~n0YItz&vra|Oat}KHp0_>@E$WC{&JNv7P9F-oa~ zG8Ix(M5qWEONBI0ks+bXAu@gYKEwO<_MWr;-~WBTwZ5~?T4$Y!=eh6S?;7^r*S>1^ zrJ_d)cP&TyzRJGY#l?kgVZK{}aJoQ!I{)!uL_hd6#$lWvWyLj3II#v>$YCKgBZuIC z#HfMw?cGkYig`_?u?|{zy*{P@Muyo4I#wKi*15hdqbfQflP(LHe&A;X48Izx^WIm zA0%K1Xj^Wn4k7D%j!{dw6z{{Kf?@fK^mW_-TYD@u7#gs!nJxE1{ZYmu!KlHeZRaZ*zUpg5?#fb7_73xdeb_aV9IOB$fR4bD#_1dx8Vq2rUIT7jkms@ zII&2!TQHA^)=7_Df33+B24Y;lL|pq#bTdjpfm0*);7s>jrJ+h9*Ep=0`SHX23EFlX zpgEY+WavN>{Ndd@KfrjHH_6=s**Nrbc-PhK?T;{y4%{7cVMzL=#ayyat}+T9wiN8i7^ zX1Wx&c{w>1Ih+Jf-R&myGG;{T2>=Qb4gNvG&6-mHP$hX?tEfYjIY+*KuN{M7S?YXl zfUF}W_^_0elrZaH!r8MrMcF(5`eCK(06*t(cni^2;oXQpIl1^xREB zXQHA=4|zFaY9tL_uw2Utla_*gTxSkLg}ow0d7n9{&)ym9{uSM^bq;zQ4n|Y$ZOm+J zwOgTAlX;TA6d}6n%NKGR-$ClOSO}zhLLGh~uq=Y;9A_f<klFVzeke_!9UbS#i5ga6_7Rj!C^ri=mwY}+z# zD5Q5UVyUBk9{)@7XS7hWatP7_(~8s5S$xWxSn#C|v%;kA222tGUL)PX{Q5#lOUd0j zc{*QmULB%$z>ImnkvlN!YmWiFTdB(7b-L8YZT8jkLxNMZ&QpUKjeX6zbLWsr9-*QD z+<*xHS8JMcR;fl1qjYpET_Pd=q+R9;f4M81p3K2BAJT412QkKQm9a~AX{~Dp zcnw_MQUII|zqx?Ed%0SkYKG&j^pmw0H_kC6KHFT+AKszccoY50#Q1pnoL+6eMUSwn zBEC`1_AImY)9*Jkn?l2X1XfeRd?|oP#}W0d*uUwqF46dl2SVV9#2cn!V)7E`e2fvS z{3;6q0Hy<7Ztc0fhzD(tj$ckzr$Sua0nkIX+zjC$h|!WuC2|bVqM?C7#byYh40`a< z`A!KV9Pr>2uer5ptYIKER@b)kV|pw`Q#58h$Hu`_D3^^i(~l$4diF&`L}>3PHkhO8 zsJE%;Z7XFe>SNc#-s77W0?kBqSUOK-c$eXlSo${5+z{X=n34@ycVas?#|>3|D+ z9C0Uf$&-V``|u<>3MG}=OOyv$IkePX;^a4&bUc#KHaSa^xJu-gYBtkL@w5&ye|u9? zUUo3Tp04n>o_Y+XGZ>$Y+l!@ev+*%zrk(T*3_&YnVE=OwO=Z|vd_4cgdsL8Nm^`6KmFmzv!u5RNrdac_J7x7NL2@Eum#EEf3m6UB0{v ztq}<)M2nMNs)1W}UNdCT*4EBjN#w%s5$w$sxkT!h(S^sQ^cwD0zP8uKAVVsH7}Tq} zSSxte$FE$8p&&p12;-WwfzpRjfufd=Do(|~k(!qnTCvSy3(R>S_X@a>0QG-KfG{Yz zdhHsvviH$?U~FcKcwdm0;z3ncbhhCHtH{kOz9u1|p2gqNrHju|9_r zB;{AwjLSRW?sv(n3pUr+Gx?(jzd0r*g{-gB3A0CVIUW(fFDhQF;iK+rUFP~5u!&W8 z%jo>}F9{N3eBlN?1Deq+=14x#@0tIAio)+{@#ic|1y#B@6R&)JEIK5pWaI7 zkK3_D48}%6LVzbr%u zoMTmif>6~JzYcJJa46Zq9SG2uX+%9^(1YA?jr4jNzj+2QvV9s-tED#TX!I!3TN%fZ z=(cusbl4T^;Hq=fV z_rG3YX>o{0RCIV~=*%rBJ4N6{2MTdiYmj8VY_~2T9HK=Ap;rgH3-eUe&S8v@&~ivt zp`k~@I#mg3*rsF~h3*|@1$kC{97E?m@b&B0;b8(RI>Z`Db>Qk!3L&%~eG>*x)$du#jr!64}!);`zaSEXRb|I;PDGsY`k0e(khX^ zMm=PurKPJEijI9AU1LLhC>q{1u%BrKg@NOt_=bb8Q_LmyM-k@x@7&C|oQMNj*YUsUxeO>91iDPYry-$V{XM7hrkB*hPym(gnaX7)Z zAzuBhS5#;e!*5nNQ)q(0_HzpfG4V{okjKV$Q6M(6Mi)Y>_qqE-db&h}svk!6D>M#? zH7XvQoo*-mharARJ%WOtgZo$vIl(XpHofu|5M*@Nt0~&kpSUPkAQ(Q0*^EeU6yb{0 z6p=w}C$wTLK(jZyD<=bUkP%T@pN1VW>>@htCnM!@O$R9VB2#s^u2w#!oV>29jBIugZ?j=iD?a5{Lcy~loFB*7W*yqh*DT|MCF|@)MG*n_9lQGO7K4;YD`@!$gf(`L)f=%nY?jV<7g( z^ex_sS>Ig<-@+0yG7Orb1CRXP=T-B#J|FMVZOX#dh&VWNJishBy0z1jq2 zYYDDXcgj;Fd`Cw|4lm5lErZlx4RoKNXabkpXiAS*?_9u=!=S)n0vO z_MJ%3XH>)v>GQ@jjiX3u%ts^jsXG-~(}W*qiclE+8IVliDsNzxyO+m{A#~Edbtdav3}3>sGStPcG;bo4QdKyx>)I*Z&%){_W_L_GCa&vp&jGOXE!m}&un#cBbJCxc*LqpU5 za5j>?5B5F~&JsqnWYs%3=q69@+pDC)z~Mc3f`~iFH=>!Xp)xPP%zLDxqL;?1Ra^CC zi&23<;6yskB*)!JPz5f8reySv?+6Gq@B*#qa4=xtR8(ACjE)e{j1BWq7=Oq@49n9* zr2y9tx&;USPoBFO$DzPrC9uqa_JQGccc0I}W)=hRQ;?E&HK6gae~h(;bI3V&*_;_egt)#SI*D^~aEt;nSI+&| z0-gdhIC&r06#(gp`ZL@g0HzAU&MD9V1Czud=7zXt}jgIDYt zYmsc{pdg4-NEfHT&x*U&_y!Q)9myC7N3BLhttcOu2@{KHkuCFl-wuDxE%0=K(Bhu5;OF${Z z1BD(*iziCYm!r0(d`weAqusYR33VFTRbC$K?mmwZLeH$g;nMGobRxNPEh{_?HZzj3 zeWhhqYJ%3rag=WB7mC{bvJrK=YIsWSK*-cliVaA&aSQ;8IbWXsY)?2=u2c=2e!pUhV0Gk4+S?AUcc@F%mk)U zw(xTVoL53wxNUiZlca6o(9@D)r)!_m4E8t=?V=K#3t`*`6b*k$9Njf9YBue4XX*A$ z1h>OahqYyOMe1=B)hHLjdzhRd$b>kEbsv0Qz-$ zb{SnixCj+yY7tQ^x|;Hop1>`ZEoTqevHeQ(n>dedS2}}xrfKqELA56 z25=q1{9NnfmCHBEni@6r!T-_pqyf7+5ro8k;0Cn_2M4xR&*M4o&s@07dBlcs9QN+H zY#hx3&A03-g5x6-H>Qrp^0P}l!{RV*H!8!Zz))oIgzsVtOTHe}eaZYsy&1>g4MT)J z*=JLLkqZOlcw`#SzSyEQO*yAfHhUOFr+KPDQC60;aBs~SkzF?lOBv5jxDMlsAsRr> zvT1xLiYq*K-gI)w8o;cK+r3*nKD|d9Bm3d`a~4*&dCpmWqgId_1jI&w%GVJ6h(cHp zdPGM@2ZM2lBiRWQ>-MVX(*m$6c6BW6>SGFmRj}WeMTBtMf_Z9NTif0uT$#s<2#6`n zG217=%*>2M!)y7zwk{Y4)dWBuIf_C7zg|-6DC#7D{y{sUcvcpoP~O2;!HwO9RG)<6 zqU}B9SJ=i2};&fo_g6ZNEp04Ph%c_pt)UlV+?~#SLVEB*r@b-6~y{pir*_A zirTm)%XA$=6fQmxXec^c4Wm*_Cpij?i14*zc&wJBO5|t+Gs&*lHA^-2IsB-@U+XAg zkX`88QAtTj7`mt7<)E6Z&PLqKXGb|q)Iu>eGC7HIS?El0O9_b)dE{*adLG8UOd3i{ zdVcno3hz`|&QfD6f|%8=d97UX5dV5UL+9+0*IdP_i2K2{m_d?=U7yaf1lZ8n565V*LTqHS`QJjq%(0E#yfjm>8`e z8vx=I3}P1H=y3b)$tE8rBWvQ9Tmd#o2KL3XciX_Dtuz@`I7fY2C4@f{j$@ng-R|_8 zP|soUEoKF`2PW0Q6ejCtap>ak8o=T3w6#>yO)czK-8wV zCYhyFhCP5A_#S0k&T?P@#UlX^lx+Z`JmqE~$WavlaMpB?s}FX-r$~`L`s)+j4^C5` zJ{>L&OJFOC=a^2=a(DSR`3pC7x~p2Mt7)3$WM!GTFcY@EicLhV0MME;=t*%+Rp0~Y zk`WtHu;T$**{%!_E+E9n;K1mG0)JJp4-WyGTC*!>ck#K#s#x9Oigo@++hJvH&Ut2= zC|21cw{%9~26MBWJ$35T*!S<39OM-FT(kB=j4k#dF+m6VJ?Q^M>0V$3B8!NJ>TFk( zf^xnB2aLKcKm3TEcyRwdhzT{F$d07nd6_ zVrb=ChzCbkF84C5}rS`ECW(mc26d3SNX6xV7liL z3Nwy|R>fYRzW8k@=O#x-cRuvK<^1D|Jvvr!$Vh&CoSbCOhRZA74$CTEK4%@BMXW7X zPoEAsa$tE723y#KMXcEvcrVqEyG`~I!vLov+}GQ)dwwfgWQ=x~k>$!hB&?dZZ~1B# zc@oVreQ%h;_=Uc<*6L4gqLDfkf4M77Ef~5xJ8B2>9e|oJ;l%Ng^_9u@F#GSpnu{md zx|Ykw7x}zfW@=G=O$F)c2t1qhA6HiPFq4+SXbC-jyaTd1?X}@b4soj4=S2QjSVBjt zY&8BkOx@#pc2*~JVbq?qmdB+(yQS2vz2tuGOY(}%%9c)N3;V|gZODMB12Td z*zc?ChJwI+yT59O!m#w3Na}KqCJeEY0Vdl^8>h15hWvfG{-@p3-&Ns%(>%SGYJp9& zB=Py3A@p+2^Nw`9#H*a0N6<0GZFTtAVyjr?W7QDo;gOp!02RPg-?f;kZrKGERIfHg zhm!V=v-IK&eonb4AuUbf6R3TXd#D#KpzH;^R=@hko<5i(;EKxyLnrZlZ0s(*b**30 zS!KQ7JHy=L!N!!;UMBE z^5Md_lm#op1tz=(5$(Vd1G9P83xhx3nmb9ba3O4Mz^I|5d`1Hr%o8|d#GZ%V&r80+ z_}3##9eB?amvNG&|Mr5;r>NYjR&ATzPTf*Qlxa*NmoHOR_5wCB_8NglPEAeFlUX|O zS#-rpT`k#;vkWsVN@{=rQpW@tC%y!7X+N)13YEKLct2W9SqpKs{_akdQab!y(oPD5o-9 zfR{Hc!^uT9B1U8`Pn(b9NKlPbOoN!XcrZM|ul~{hq}Zv7f3CmO(9nRX<-;xEj6q;k zya7Lfs%^_4j4#0?kF?5t0fl}=is}{194kbRGpc?V;kpS%F|l8&0#EHT>{tVLFo!Es z;G6saq=|Ci>}V~1A|gBXYxscyt?D$34y)wce(JbdVa4P^sKmmaJRIp3tA_b(>bd4E z+Iz9lX4Xf_*$ZfF9v2j_`wHPd7ZM#f-eiPo8vwdS<~ncc6k>i|aLZ9UcQY)>$m=D? zq1ausY>~nc0$VZ7IlzTzvZnb_1`2t3d3ltrT88CXPf?s*BYg@#Xcs~-J8;Kl_iheS ziEhiY=~VO4=rEpp=vct|c3Fyk!9dJ8{M|G$HB~b4W|!{V`+|KZzlX}z4rPISyx~5? z#tDd*ZG2>;{Nc&ty4wtd)gO5IAr_BE%~xbopFZvg^cK#xVXRUt7aiWOJ&upP8=siiJeJkx!;(~G`MOmxK-?+Q9}j<%AhNB zpjMqz-9CU7hIW#IBjh6K?rt83)8C_ZXBA&z7UDfQON`Yk_*js=g=zJqqwuJ0WBH@q z0n7O*y-QGjy?I6v+^+>widEdEj?#_p(tp5o7a2%wT=?6kl*J~gL6zqC(!A-hX!b!M zJFX?261DkM#Ay7Wt?F8_`po_@ZNpHV?z*j+CIa{C0GxQ1ms9ajw?UpuaFlot3Qo=d zRgG<{TVNy+;FyU4z0{9>UvKGfA@;)c{}rUv&(tB7TB62euoAaqk^!H%Gq~$D&R)ir z6kDZ1`Hqi=Z$Ln(lM0lSfi14cr}LHI3`Ke=#oBff1dgU@o52h$zg08dno!G~Tr`OL zW~i@kN9+cB$)mn%;6_JI<0!I=qfCy7zjo(CdJrU!mx|rNFeOJ(=&U3LE+JLMf#|+R zNHwb7I7bbB#V^@M5_%NjfYW6d$bW@Lf zsv~tzp7Gq}eq~c#Ou`!THmXMv3ju+v>Utrp11483kLV6!cOCeS7OO`bHC5FkAtNLD zf)clGsM_cSJ6vX&Ph1QZ3#;{;eD2=4f!MTZKN1NLiR#xqIGJtl-wP$bg_aC@D~PVq zhC=02EsjWDqiodO9iu(;_RdGqllujELv&C`Ya=49raxDmpfah!?%E&BUV)A+vhcpn z4rmeN`vwM>mwmvRL!0IRDcY(`a`)>@5qPK`kXDQLXMTONo>;%W(M;AHo1Z=D5-C!X zFtXP#fp&-8!uQBz+5OPUSyTQ2sSF(>L&K-3n1q|I>7Lu4IoFFiBGiI4$JEABWr0)7 zl$Jf*B?fo}(lwD&o<0u~6BPc~QC)lDz82WKH+l@$XNhZ!1Eko#R?pL2WxHH8WbAcP z7`|lGy|YC0Ug~6$v4qClQ?FXPLzI48eYivkruI!WnWhP=Y1B7fajd((B<(aCmw#Is zw`=+}2xbnS?3`15-DFN9NJwcz^24>qtjT1D`9Iz8ur|_+v-3G9(Z`;Wn1k0%^_(qV zBKpuyI0Q#2d@-klP&n^EA3Da!Ql&F%RXxBT@3IX7EqVw;=&WZEB7wNp25rab9+-op zc@xz1!a|U9M4yz5wwW2Go_oE6*wYyyy*4&|)gRA~m@p2(LM+{x)Ds{unV6U!;y?jf z%v0)b&A&bg(@DU4EtM2nT89RB&Xgm#o>Jg|GShw!)tV1Q?kQ**il29~|-Q{Ri?<`$ED{!v^e zK6v3_1Pa}98k=_v*{%I{elH8MvoA6*H8Ghr4hjU)qZN)WuY-#uOH}NT*ArVc8(WU< z$g%Q-jt5mJ{Fsz!ey|w)QGsezc#QO6k;?_X+MAf8jwJkN7M*cHPgiZr6DXT<38jI- zY(M5V=GL%kC-%P#EjGcfRZU@q-Me>_ob0un;<2XNyVXa_AL9AyKF{M-P`HERx;2`1 zZwiiL!H77VRFQ*fA{q)F*H&rh&Wy`me68jywcq z3fwoZLZeoK#u1YlPEFe)sQk@uM`0~UKi!JkiGV*^m_lPQJ8k#Yt-=qcY4iXiz*K>6*DDIFSuZnPT z#>($j+eNWfdKkKR!MW}%>6s=ze~DVtsqQRtlc}X1UNNB%SKb z*N}99UufmL*trWAF5qzkE-+49se0ry5$&4-wPaXmXr#A;Lzgy}Yr)%GqIRW4YvHi_^!-fb~@+3eXjj3eCVKX37D50Vz5%>=B z_2DpJlGoDTAeB5PzTcdiCcl5@qi)L~cILy(u1*UR9rt}kug;$Tn-88m*U`~|PPM`l zV$0X)ImrnRNl7s+pOFsKrPuNRb%Nh1Pa_Q!9|ic*kK>~$7s&8OFUWg3@iXp}%Jh7;We=R}HiKz*Z4D&Ubo$Ua|<&M*4RvLhMf zBMf=4QkQU=g?bCE29k$2aDGrL62nJpI)L!iI8XifF}BfrU&8^sN|s+<<@BZ2aOnkf zFIQPUVz{#dVDrRoWoR0sgtY5~YRhuCt}^~kiTvX*&DIaV)v69Q=;%vOey=b~EhoUJ z$*D<5NZ<~?7T?gWI=?rGecKWcLI#11_--W)33|71iIqaj+$~!gvcF^>0KKq4Ef) z%7+h8robm`9GM;3dD(@kn#(bYPzB{bB4Qw3E%D5QIgVTsk;8m##RGEN0x%N#QkzduY^^T>()hFvkq3RGL@mZ|%L4j`QBswH0U~ES zL9M`vl0g$f>3q(&sy+87R`{o{ico2fN#?8MNag*-A%nx8Ol3o;RbOpn$bX4)yb%totfB^A5vV*|6hbOFT@{*+Z zcr4a2lwKajNj*0^eI&#4S6%fTy)NdQPq&6<{kJ?emCLG|o3g0GB8feAn^#O*z0 zZR$zY?gsm#N7zq3E z{Je)gtfN3I+k)@vv*H=s67+xH03njYzq+Y%S-Xmc@HK%mrd~vM%1u;&i=6fCu3@3~ z1P7_1sW~@03&Wjw=)IOL$BIFKt?Ga?@X|Mxh0viW&&6}YXyRGB(WsBHz^W?BP+~hR z;l@OEF{VAPvRK5x`DlJ-_&Lo3NCog;gzmyR##+>o92F?Y(V3><0V4k%JAC*tu{5#& z3`gB@bU9j69g7cE0{dgH5`tRf5Df22grn$#$o3%kFb^P>8al}Z?v8I&n^vioh|X0f ztw4X*KVF_M$7>?=&(QtvA|d34k^4}fOuL|;Aa_I7NTmc&3)S33nj*0(agSC4?f?;o zFg-SrO|1#%f-FT7?mAjKsBU4` zW@!dHLZ8=1j3b2W?F|dM)3}Nq>ADnhgqh-pOUrLTp`u+|rs)0x zaO0U5KKF2cJUr_!Egbt9)BZDJqBejm-bJ3==JpOL))v6TW3ty2mD89yUn0ei z+DOb91T6!TPq#!W&0w7 z$MG?a`gAhxU+{fvV%AiQa*UMl7am-{_zQyt!n2soc5msOcO@u(!1g@MrXJ8^+sZ9O zRaeMU$)eR`2wf?JJZUijy7UywO@)-hG3SH8`s}Q_x8t_X<$NHWX`cac!;tjWv@t(> z@1n=ak}akf`fF8^lr*3phZZ1si;ldyJ@Gi?d%ORZc^OP&jC}i6DYFUi2du|rgG)kB zTKy`W``SAEGJ}bETS4btk`LWeFQo2$5P1mj5bGZ9n3$1~5m@)0>0`Kmff~D9-=ge+ z;KyiIhMu0D{TTB}4BWl}#jVsf+laD}Bl`4d;`s#`E{Ym58pK0DamB$k%F6d(z9Rs7 zCh=mNmiUY*+odC8W5H>s3K#8SeQyhMZC^9!lX3$h9)5U-y-A+Khv6{Q(IZaZT}#`o zubXV@ni)0Jm3aZQL3z3X`!$B38UY$pm8!v&izW}|g`&tNHI%_!f&7Ge)lUS`Kcs_i z@(I)kh+MaK=6}Zh!d`Ovb)!6*{EAM3g^UJ<9+;EHd4_I>=iuwMw%zmv#Z=djfyM;o z#3R`F6;lym8oOWs!XsnugvK_pzw;Qb0wW`%8WJ&FkXAm@&q_$X*h%#FPlG=?)LtSG zw+<F8mh69sOA7k8=V-iCSv zNboGYLTc1GQ`icdQQZKwXpwMtclW%MpOPYaaEVYZhTWqTh91=1%%g&Owu-h}lQD=l zsq>9X1CgAx<^b;tJ=qu1v9YnAs8VUt0JNwmx^V#BOUo6b_YJ*yV zxk|fB%5h?O*k)5x)PsU1ZMC&V8uQfU`tR=@`2IqD7y*W65YG_<|JF+VtKT@xPdtR) zYv;kmXTOImI(TB%@S3xq_XOg`s@3fiNVI!}-ATSKB8GpJt}JU0ST_w7X3-b$Tglts z#C0`>jY>3hN*J9(w4JUlbvuWjL;e=ximF)naSI=}q_YM8j(+q%>AlI;oA@8;UQ1MF zkZRD)p~@H0@X4LMS6223w*NQb;Df0gth4!Kk$^ejwlqCD3WU81#7#4$xlM)H+1XK1 z^~kqX&7mIGv5g;CFzZOCCR7-GehWMN?N zJbV~bM3A#}KfG{`zoQ6~v!e7hwY7XJ2uu35Mu8~EJGW)^;wWKC2^GptHvSF1I#6D+3IR>(Ea&3Jf!O z%WtRiKlC!4Aq+84O2uk+`?|R5FBq)ECJUC5hj7b^dcB6gK4OgD^V=gM_AL!Oz6sdYQwh9MKJaL7W`OMC+!!v`6&# z_&NG68*%i*Xj*f>07!Wn^%3;M%;(GQjae`)P?c;nDXXSGX5P)uI+U|bL%?^@RWC`&sm=p^2&f<3{nxHuRX%TDNn9qautdC|xw6ppeTaw+_rMZH zw_Cd(77DxJK%=A%y``%I2MmJ|klPr&2oJ7|tiEH<1lOHRnwon(aIbLoH*MUAoDns(&0_?I(EjMiJVG0}f8E#{h&fn+6{gHs zJR(h4j3Af?&I}eck+m`&t5Yw2?=ZS#R0#-g7uR3e7m+em6HdxXIMB81hb#fcMWow< z`;ViBR9Xe71fFOQivA6tg5(1F^HT~wC~py=T&@LNd9l45YVP9A)a6Fa3DV~25yiE~ zaB#-%D)Xb3N4`SasW%S&Z6dvc=WpeD@f5l%8FlEEXW+pwG6su>x(?toXl9}fk?QP< zRu93M2!Jmp7N@4B>XyDi6?vq1bqxli@6w;T2Nmbc^fbXDs%7I1`K>0iDh>y3+v;tGSP)W%Uwt`3#;%AQmJo=Xa)J{D1^Y^dsfP%Z@D=)PO z7uT|YQlJH&8E3#wlkKZ+Dylx{WW}H%#Zfu$S)x9rMtN6XPZ-m}OG0SsL8uOfikbGH z7=~j@z^1V+Ge0X=ekx3cvA;``bQ8c)7Jt7SJ7Knc6sNv5t49DMr4^UC!2d7}&<(;RyR3Xjm z8XCHtFmwZ|ymLwRlXR@Y<+PS}Y=4 z5ailBLcTZBRgGw)jB%Kq#%=tq0nhe^rL$xRfElLmzS96)iU33d;=|i{%v+b5VzptU8J#7_)E$ZQ4|gQ5D>2 zXb+n4n8fZtlPu1fK+3kAeht9&5bb~h(gM~I) z3#_qnL+4>7;EETcZBG09$H!5$vX9IKjbQm-tY6D?!dKxnH_3BU)CNMgUIFy2~BbaaRb)X!EL&2p-$ z#d!VT?ADWU8u(9FS`+HGiHV8Rr%nYQ!C;eloieTL_M8^d{}4)@ZJ6huy^*kFoK{41 z&32w!f2=i{&S4z?g1iM1k9UR>*_j0=mb%Wn@3nSZB- z_~KomXwThtp?ED6gI>M@oq?LVx}%2|qU7aO0Q_*tmp0=HRDP-YW+=a#co6csVq$cN zbi{J1WB;w5z)z4fjK?PTcJT2r%FT;!dS>R4d%q7~z{*7p6TvfR0a^h}Udt~lTR=`; zX6R$_S0K%^1NmjBn4qIyf5GKhyqLT;Oz&*9sJc-sHm)CCDS`ci@@{CDO}skFgT^k0 zV(D}@3YV^y zmRQQVX3M5coa_0&;qtMMfBSa+yXJvRmv8HPN=r-ArdIQdh@57lO2R Date: Thu, 25 Jan 2024 11:13:47 -0500 Subject: [PATCH 31/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index aa64b0be8..4b8910053 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -34,9 +34,9 @@ where -> indicates a parent -> child relationship. `C` uses a parent-based sampler. When `A` samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to `0xc0_0000_0000_0000`. -When `A` does not sample a span, its outgoing traceparent will have the 'sampled' flag UNSET but the 'th' in its outgoing tracestate will still be set to 0xc0_0000_0000_0000. -When B samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to 0x80_0000_0000_0000. -C (being a parent based sampler) samples a span purely based on its parent (B in this case), it will use the sampled flag to make the decision. Its outgoing 'th' value will continue to reflect what it got from B (0x80_0000_0000_0000), and this is useful to understand its adjusted count. +When `A` does not sample a span, its outgoing traceparent will have the 'sampled' flag UNSET but the 'th' in its outgoing tracestate will still be set to `0xc0_0000_0000_0000`. +When B samples a span, its outgoing traceparent will have the 'sampled' flag SET and the 'th' in its outgoing tracestate will be set to `0x80_0000_0000_0000`. +C (being a parent based sampler) samples a span purely based on its parent (B in this case), it will use the sampled flag to make the decision. Its outgoing 'th' value will continue to reflect what it got from B (`0x80_0000_0000_0000`), and this is useful to understand its adjusted count. This design requires that as a given span progresses along its collection path, `th` is non-decreasing (and, in particular, must be increased at stages that apply lower sampling probabilities). It does not, however, restrict a span's initial `th` in any way (e.g., relating it to that of its parent, if it has one). From 4d262b4a840ea67e34420655714268bc761a6a9d Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 25 Jan 2024 11:14:10 -0500 Subject: [PATCH 32/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 4b8910053..c4acf2ecf 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -91,7 +91,7 @@ This section defines behavior for each kind of sampler. ### Head samplers -A head sampler is responsible for computing a new span's initial [`TraceState`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.25.0/specification/trace/api.md#tracestate) (among other data). Notable inputs to that computation include the parent span's trace state (if a parent span exists) and the new span's trace ID. +A head sampler is responsible for computing a new span's initial [`TraceState`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.29.0/specification/trace/api.md#tracestate) (among other data). Notable inputs to that computation include the parent span's trace state (if a parent span exists) and the new span's trace ID. First, a consistent `Sampler` decides which sampling probability to use. The sampler MAY select any value of T. If a valid `SpanContext` is provided in the call to `ShouldSample` (indicating that the span being created will be a child span), From 91af1f46693e7753552256706fb81ade88b7f470 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 25 Jan 2024 11:14:25 -0500 Subject: [PATCH 33/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index c4acf2ecf..958839312 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -84,7 +84,7 @@ Sampling Decisions MUST be propagated by setting the value of the `th` key in th There are two categories of sampler: -- **Head samplers:** Implementations of [`Sampler`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.25.0/specification/trace/sdk.md#sampler), called by a `Tracer` during span creation. +- **Head samplers:** Implementations of [`Sampler`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.29.0/specification/trace/sdk.md#sampler), called by a `Tracer` during span creation. - **Downstream samplers:** Any component that, given an ended Span, decides whether to drop or forward ("sample") it on to the next component in the system. Also known as "collection-path samplers" or "sampling processors". _Tail samplers_ are a special class of downstream samplers that buffer the spans in a trace and select a sampling probability for the trace as a whole using data from any span in the buffered trace. This section defines behavior for each kind of sampler. From 29e322ba0c2e7eb623103831959bff6e7a779ba9 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 25 Jan 2024 11:18:27 -0500 Subject: [PATCH 34/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 958839312..afac6bd5e 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -95,7 +95,7 @@ A head sampler is responsible for computing a new span's initial [`TraceState`]( First, a consistent `Sampler` decides which sampling probability to use. The sampler MAY select any value of T. If a valid `SpanContext` is provided in the call to `ShouldSample` (indicating that the span being created will be a child span), -- Choosing a T greater than the parent span's is expected to result in partial traces (the parent may be sampled but the child dropped). +- Choosing a T greater than the parent span's is expected to result in partial traces (the parent may be sampled but its child, the current span, dropped). - Choosing a T less than or equal to the parent span is expected to result in complete traces (this is definition of consistent probability sampling). For the output TraceState, From dcda3c1dfbcf5a7128374223756bd1192ba35566 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 25 Jan 2024 11:18:38 -0500 Subject: [PATCH 35/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index afac6bd5e..cbf621b76 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -100,7 +100,7 @@ First, a consistent `Sampler` decides which sampling probability to use. The sam For the output TraceState, -- The `th` key MUST be defined, with value describing the sampling probability the sampler actually used. +- The `th` key MUST be defined with a value corresponding to the sampling probability the sampler actually used. - The `rv` value, if present on the input TraceState, MUST be defined and equal to the parent span's `rv`. Otherwise, `rv` MUST be defined if and only if the effective R was _generated_ during the decision, per the "derive R" algorithm given earlier. TODO: For _new_ spans, `ShouldSample` doesn't currently have a way to know the new Span's `TraceFlags`, so it can't determine whether the Random Trace ID Flag is set, and in turn can't execute the "derive R" algorithm. Maybe it should take `TraceFlags` as an additional parameter, just like it takes `TraceId`? From e790133532ab1da0b818db8cc033e115345f0fd5 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 25 Jan 2024 12:46:26 -0500 Subject: [PATCH 36/37] respond to feedback --- text/trace/0235-sampling-threshold-in-trace-state.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index cbf621b76..38a2c8b72 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -21,7 +21,7 @@ In the general case, in order to make consistent sampling decisions across the e 1. A _random_ (or pseudo-random) 56-bit value, called `R` below. 2. A 56-bit _rejection threshold_ (or just "threshold") as expressed in the TraceState, called `T` below. `T` represents the maximum threshold that was applied in all previous consistent sampling stages. If the current sampling stage applies a greater-valued threshold than any stage before, it MUST update (increase) the threshold correspondingly. -One way to think about _rejection threshold_ is that is the number of spans that would be discarded out of 2^56 considered spans. +One way to think about _rejection threshold_ is that is the number of spans that would be discarded out of 2^56 considered spans. This means that spans where `R >= T` will be sampled. Here is an example involving three participants `A`, `B`, and `C`: @@ -91,7 +91,7 @@ This section defines behavior for each kind of sampler. ### Head samplers -A head sampler is responsible for computing a new span's initial [`TraceState`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.29.0/specification/trace/api.md#tracestate) (among other data). Notable inputs to that computation include the parent span's trace state (if a parent span exists) and the new span's trace ID. +A head sampler is responsible for computing the `rv` and `th` values in a new span's initial [`TraceState`](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.29.0/specification/trace/api.md#tracestate). Notable inputs to that computation include the parent span's trace state (if a parent span exists) and the new span's trace ID. First, a consistent `Sampler` decides which sampling probability to use. The sampler MAY select any value of T. If a valid `SpanContext` is provided in the call to `ShouldSample` (indicating that the span being created will be a child span), From 88bcd536bbc5be9c7ed6a789ceb1a4f48af55ece Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 25 Jan 2024 12:48:31 -0500 Subject: [PATCH 37/37] Update text/trace/0235-sampling-threshold-in-trace-state.md Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com> --- text/trace/0235-sampling-threshold-in-trace-state.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/text/trace/0235-sampling-threshold-in-trace-state.md b/text/trace/0235-sampling-threshold-in-trace-state.md index 38a2c8b72..014744a73 100644 --- a/text/trace/0235-sampling-threshold-in-trace-state.md +++ b/text/trace/0235-sampling-threshold-in-trace-state.md @@ -112,11 +112,6 @@ A downstream sampler, in contrast, may output a given ended Span with a _modifie - If the chosen sampling probability is 1, the sampler MUST NOT modify any existing `th`, nor set any `th`. - Otherwise, the chosen sampling probability is in `(0, 1)`. In this case the sampler MUST output the span with a `th` equal to `max(input th, chosen th)`. In other words, `th` MUST NOT be decreased (as it is not possible to retroactively adjust an earlier stage's sampling probability), and it MUST be increased if a lower sampling probability was used. This case represents the common case where a downstream sampler is reducing span throughput in the system. -## Internal details - -The trace state header SHOULD contain a field with the key `rv`, and a value that corresponds to a 56-bit sampling threshold. -This value will be compared to the 56-bit random value associated with the trace. - ## Visual ![Sampling decision flow](../img/0235-sampling-threshold-calculation.png)