diff --git a/README.md b/README.md index 63c30d85003..0d0bcbda93a 100644 --- a/README.md +++ b/README.md @@ -156,3 +156,4 @@ Please refer to [Mapbox Maps SDK for macos](platform/ios/platform/macos/) for de #### Linux See [the Linux platform build section](platform/linux/) for instructions. + diff --git a/maplibre-gl-js b/maplibre-gl-js index 9489d7654ef..49bc4ca45ab 160000 --- a/maplibre-gl-js +++ b/maplibre-gl-js @@ -1 +1 @@ -Subproject commit 9489d7654ef9bb36a44c9b98446b84eccb98628a +Subproject commit 49bc4ca45aba6b6af98df7e1e91735dcb0d6f20f diff --git a/platform/ios/platform/darwin/src/MGLSymbolStyleLayer.h b/platform/ios/platform/darwin/src/MGLSymbolStyleLayer.h index d62518c4940..0b68402a5b2 100644 --- a/platform/ios/platform/darwin/src/MGLSymbolStyleLayer.h +++ b/platform/ios/platform/darwin/src/MGLSymbolStyleLayer.h @@ -153,15 +153,21 @@ typedef NS_ENUM(NSUInteger, MGLSymbolPlacement) { }; /** - Controls the order in which overlapping symbols in the same layer are rendered + Determines whether overlapping symbols in the same layer are rendered in the + order that they appear in the data source or by their y-position relative to + the viewport. To control the order and prioritization of symbols otherwise, use + `MGLSymbolStyleLayer.symbolSortKey`. Values of this type are used in the `MGLSymbolStyleLayer.symbolZOrder` property. */ typedef NS_ENUM(NSUInteger, MGLSymbolZOrder) { /** - If `MGLSymbolStyleLayer.symbolSortKey` is set, sort based on that. - Otherwise sort symbols by their y-position relative to the viewport. + Sorts symbols by `MGLSymbolStyleLayer.symbolSortKey` if set. Otherwise, + sorts symbols by their y-position relative to the viewport if + `iconAllowOverlap` or `textAllowOverlap` is set to `YES` or + `MGLTextAllowOverlapIconIgnorePlacement` or `textIgnorePlacement` is + `false`. */ MGLSymbolZOrderAuto, /** @@ -1100,7 +1106,10 @@ MGL_EXPORT @property (nonatomic, null_resettable) NSExpression *symbolSpacing; /** - Controls the order in which overlapping symbols in the same layer are rendered + Determines whether overlapping symbols in the same layer are rendered in the + order that they appear in the data source or by their y-position relative to + the viewport. To control the order and prioritization of symbols otherwise, use + `symbolSortKey`. The default value of this property is an expression that evaluates to `auto`. Set this property to `nil` to reset it to the default value. @@ -1109,8 +1118,10 @@ MGL_EXPORT * Constant `MGLSymbolZOrder` values * Any of the following constant string values: - * `auto`: If `symbol-sort-key` is set, sort based on that. Otherwise sort - symbols by their y-position relative to the viewport. + * `auto`: Sorts symbols by `symbol-sort-key` if set. Otherwise, sorts symbols + by their y-position relative to the viewport if `icon-allow-overlap` or + `text-allow-overlap` is set to `true` or `icon-ignore-placement` or + `text-ignore-placement` is `false`. * `viewport-y`: Specify this z order if symbols’ appearance relies on lower features overlapping higher features. For example, symbols with a pin-like appearance would require this z order. diff --git a/src/mbgl/programs/gl/collision_circle.cpp b/src/mbgl/programs/gl/collision_circle.cpp index c715ef9a0a1..609ac9b4625 100644 --- a/src/mbgl/programs/gl/collision_circle.cpp +++ b/src/mbgl/programs/gl/collision_circle.cpp @@ -15,9 +15,9 @@ struct ShaderSource; template <> struct ShaderSource { static constexpr const char* name = "collision_circle"; - static constexpr const uint8_t hash[8] = {0x99, 0x2e, 0xad, 0x8c, 0xd3, 0x88, 0xae, 0x82}; + static constexpr const uint8_t hash[8] = {0x8c, 0x22, 0x17, 0x46, 0x5b, 0xed, 0x28, 0x64}; static constexpr const auto vertexOffset = 10902; - static constexpr const auto fragmentOffset = 11818; + static constexpr const auto fragmentOffset = 12272; }; constexpr const char* ShaderSource::name; @@ -40,79 +40,85 @@ Backend::Create(const ProgramParameters& programPara // Uncompressed source of collision_circle.vertex.glsl: /* attribute vec2 a_pos; -attribute vec2 a_anchor_pos; -attribute vec2 a_extrude; -attribute vec2 a_placed; +attribute float a_radius; +attribute vec2 a_flags; uniform mat4 u_matrix; -uniform vec2 u_extrude_scale; +uniform mat4 u_inv_matrix; +uniform vec2 u_viewport_size; uniform float u_camera_to_center_distance; -varying float v_placed; -varying float v_notUsed; varying float v_radius; - varying vec2 v_extrude; -varying vec2 v_extrude_scale; +varying float v_perspective_ratio; +varying float v_collision; + +vec3 toTilePosition(vec2 screenPos) { + // Shoot a ray towards the ground to reconstruct the depth-value + vec4 rayStart = u_inv_matrix * vec4(screenPos, -1.0, 1.0); + vec4 rayEnd = u_inv_matrix * vec4(screenPos, 1.0, 1.0); + + rayStart.xyz /= rayStart.w; + rayEnd.xyz /= rayEnd.w; + + highp float t = (0.0 - rayStart.z) / (rayEnd.z - rayStart.z); + return mix(rayStart.xyz, rayEnd.xyz, t); +} void main() { - vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1); - highp float camera_to_anchor_distance = projectedPoint.w; + vec2 quadCenterPos = a_pos; + float radius = a_radius; + float collision = a_flags.x; + float vertexIdx = a_flags.y; + + vec2 quadVertexOffset = vec2( + mix(-1.0, 1.0, float(vertexIdx >= 2.0)), + mix(-1.0, 1.0, float(vertexIdx >= 1.0 && vertexIdx <= 2.0))); + + vec2 quadVertexExtent = quadVertexOffset * radius; + + // Screen position of the quad might have been computed with different camera parameters. + // Transform the point to a proper position on the current viewport + vec3 tilePos = toTilePosition(quadCenterPos); + vec4 clipPos = u_matrix * vec4(tilePos, 1.0); + + highp float camera_to_anchor_distance = clipPos.w; highp float collision_perspective_ratio = clamp( 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance), 0.0, // Prevents oversized near-field circles in pitched/overzoomed tiles 4.0); - gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0); - - highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur - gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio; + // Apply small padding for the anti-aliasing effect to fit the quad + // Note that v_radius and v_extrude are in screen coordinates already + float padding_factor = 1.2; + v_radius = radius; + v_extrude = quadVertexExtent * padding_factor; + v_perspective_ratio = collision_perspective_ratio; + v_collision = collision; - v_placed = a_placed.x; - v_notUsed = a_placed.y; - v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius - - v_extrude = a_extrude * padding_factor; - v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio; + gl_Position = vec4(clipPos.xyz / clipPos.w, 1.0) + vec4(quadVertexExtent * padding_factor / u_viewport_size * 2.0, 0.0, 0.0); } */ // Uncompressed source of collision_circle.fragment.glsl: /* -uniform float u_overscale_factor; - -varying float v_placed; -varying float v_notUsed; varying float v_radius; varying vec2 v_extrude; -varying vec2 v_extrude_scale; +varying float v_perspective_ratio; +varying float v_collision; void main() { - float alpha = 0.5; - - // Red = collision, hide label - vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha; - - // Blue = no collision, label is showing - if (v_placed > 0.5) { - color = vec4(0.0, 0.0, 1.0, 0.5) * alpha; - } - - if (v_notUsed > 0.5) { - // This box not used, fade it out - color *= .2; - } + float alpha = 0.5 * min(v_perspective_ratio, 1.0); + float stroke_radius = 0.9 * max(v_perspective_ratio, 1.0); - float extrude_scale_length = length(v_extrude_scale); - float extrude_length = length(v_extrude) * extrude_scale_length; - float stroke_width = 15.0 * extrude_scale_length / u_overscale_factor; - float radius = v_radius * extrude_scale_length; + float distance_to_center = length(v_extrude); + float distance_to_edge = abs(distance_to_center - v_radius); + float opacity_t = smoothstep(-stroke_radius, 0.0, -distance_to_edge); - float distance_to_edge = abs(extrude_length - radius); - float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge); + vec4 color = mix(vec4(0.0, 0.0, 1.0, 0.5), vec4(1.0, 0.0, 0.0, 1.0), v_collision); - gl_FragColor = opacity_t * color; + gl_FragColor = color * alpha * opacity_t; } */ diff --git a/src/mbgl/programs/gl/debug.cpp b/src/mbgl/programs/gl/debug.cpp index 200d7599ef5..655823b87fc 100644 --- a/src/mbgl/programs/gl/debug.cpp +++ b/src/mbgl/programs/gl/debug.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "debug"; static constexpr const uint8_t hash[8] = {0x07, 0x98, 0x41, 0xa8, 0x6b, 0x73, 0xaf, 0x34}; - static constexpr const auto vertexOffset = 12494; - static constexpr const auto fragmentOffset = 12672; + static constexpr const auto vertexOffset = 12763; + static constexpr const auto fragmentOffset = 12941; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/fill.cpp b/src/mbgl/programs/gl/fill.cpp index 07a60cd7ce2..b5505ef0aab 100644 --- a/src/mbgl/programs/gl/fill.cpp +++ b/src/mbgl/programs/gl/fill.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "fill"; static constexpr const uint8_t hash[8] = {0x87, 0xea, 0x65, 0x7f, 0x0c, 0x9b, 0x97, 0x5d}; - static constexpr const auto vertexOffset = 12862; - static constexpr const auto fragmentOffset = 13506; + static constexpr const auto vertexOffset = 13131; + static constexpr const auto fragmentOffset = 13775; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/fill_extrusion.cpp b/src/mbgl/programs/gl/fill_extrusion.cpp index c86c69f11bd..3c7b8e1fd33 100644 --- a/src/mbgl/programs/gl/fill_extrusion.cpp +++ b/src/mbgl/programs/gl/fill_extrusion.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "fill_extrusion"; static constexpr const uint8_t hash[8] = {0x9d, 0x76, 0x7f, 0xaa, 0x86, 0x57, 0x56, 0x96}; - static constexpr const auto vertexOffset = 21491; - static constexpr const auto fragmentOffset = 23422; + static constexpr const auto vertexOffset = 22902; + static constexpr const auto fragmentOffset = 24833; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/fill_extrusion_pattern.cpp b/src/mbgl/programs/gl/fill_extrusion_pattern.cpp index f89086de3ed..e38fd1d83c7 100644 --- a/src/mbgl/programs/gl/fill_extrusion_pattern.cpp +++ b/src/mbgl/programs/gl/fill_extrusion_pattern.cpp @@ -15,9 +15,9 @@ struct ShaderSource; template <> struct ShaderSource { static constexpr const char* name = "fill_extrusion_pattern"; - static constexpr const uint8_t hash[8] = {0x5a, 0x8f, 0x1a, 0xbf, 0x43, 0x62, 0xf0, 0x86}; - static constexpr const auto vertexOffset = 23538; - static constexpr const auto fragmentOffset = 26509; + static constexpr const uint8_t hash[8] = {0x66, 0xa3, 0xd9, 0x87, 0x9b, 0x01, 0x0c, 0xeb}; + static constexpr const auto vertexOffset = 24949; + static constexpr const auto fragmentOffset = 28539; }; constexpr const char* ShaderSource::name; @@ -43,7 +43,7 @@ uniform mat4 u_matrix; uniform vec2 u_pixel_coord_upper; uniform vec2 u_pixel_coord_lower; uniform float u_height_factor; -uniform vec4 u_scale; +uniform vec3 u_scale; uniform float u_vertical_gradient; uniform lowp float u_opacity; @@ -95,6 +95,24 @@ uniform lowp vec4 u_pattern_to; #endif +#ifndef HAS_UNIFORM_u_pixel_ratio_from +uniform lowp float u_pixel_ratio_from_t; +attribute lowp vec2 a_pixel_ratio_from; +varying lowp float pixel_ratio_from; +#else +uniform lowp float u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to +uniform lowp float u_pixel_ratio_to_t; +attribute lowp vec2 a_pixel_ratio_to; +varying lowp float pixel_ratio_to; +#else +uniform lowp float u_pixel_ratio_to; +#endif + + void main() { #ifndef HAS_UNIFORM_u_base @@ -124,22 +142,35 @@ void main() { mediump vec4 pattern_to = u_pattern_to; #endif + +#ifndef HAS_UNIFORM_u_pixel_ratio_from + pixel_ratio_from = unpack_mix_vec2(a_pixel_ratio_from, u_pixel_ratio_from_t); +#else + lowp float pixel_ratio_from = u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to + pixel_ratio_to = unpack_mix_vec2(a_pixel_ratio_to, u_pixel_ratio_to_t); +#else + lowp float pixel_ratio_to = u_pixel_ratio_to; +#endif + vec2 pattern_tl_a = pattern_from.xy; vec2 pattern_br_a = pattern_from.zw; vec2 pattern_tl_b = pattern_to.xy; vec2 pattern_br_b = pattern_to.zw; - float pixelRatio = u_scale.x; - float tileRatio = u_scale.y; - float fromScale = u_scale.z; - float toScale = u_scale.w; + float tileRatio = u_scale.x; + float fromScale = u_scale.y; + float toScale = u_scale.z; vec3 normal = a_normal_ed.xyz; float edgedistance = a_normal_ed.w; - vec2 display_size_a = vec2((pattern_br_a.x - pattern_tl_a.x) / pixelRatio, (pattern_br_a.y - pattern_tl_a.y) / pixelRatio); - vec2 display_size_b = vec2((pattern_br_b.x - pattern_tl_b.x) / pixelRatio, (pattern_br_b.y - pattern_tl_b.y) / pixelRatio); + vec2 display_size_a = (pattern_br_a - pattern_tl_a) / pixel_ratio_from; + vec2 display_size_b = (pattern_br_b - pattern_tl_b) / pixel_ratio_to; base = max(0.0, base); height = max(0.0, height); @@ -214,6 +245,20 @@ uniform lowp vec4 u_pattern_to; #endif +#ifndef HAS_UNIFORM_u_pixel_ratio_from +varying lowp float pixel_ratio_from; +#else +uniform lowp float u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to +varying lowp float pixel_ratio_to; +#else +uniform lowp float u_pixel_ratio_to; +#endif + + void main() { #ifdef HAS_UNIFORM_u_base @@ -235,6 +280,16 @@ void main() { mediump vec4 pattern_to = u_pattern_to; #endif + +#ifdef HAS_UNIFORM_u_pixel_ratio_from + lowp float pixel_ratio_from = u_pixel_ratio_from; +#endif + + +#ifdef HAS_UNIFORM_u_pixel_ratio_to + lowp float pixel_ratio_to = u_pixel_ratio_to; +#endif + vec2 pattern_tl_a = pattern_from.xy; vec2 pattern_br_a = pattern_from.zw; diff --git a/src/mbgl/programs/gl/fill_outline.cpp b/src/mbgl/programs/gl/fill_outline.cpp index 01c8e9309a9..73c4d88d639 100644 --- a/src/mbgl/programs/gl/fill_outline.cpp +++ b/src/mbgl/programs/gl/fill_outline.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "fill_outline"; static constexpr const uint8_t hash[8] = {0x51, 0x25, 0x43, 0x9d, 0x41, 0x73, 0xe1, 0xbb}; - static constexpr const auto vertexOffset = 13930; - static constexpr const auto fragmentOffset = 14755; + static constexpr const auto vertexOffset = 14199; + static constexpr const auto fragmentOffset = 15024; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/fill_outline_pattern.cpp b/src/mbgl/programs/gl/fill_outline_pattern.cpp index bb09e482dc7..71ebeaac162 100644 --- a/src/mbgl/programs/gl/fill_outline_pattern.cpp +++ b/src/mbgl/programs/gl/fill_outline_pattern.cpp @@ -15,9 +15,9 @@ struct ShaderSource; template <> struct ShaderSource { static constexpr const char* name = "fill_outline_pattern"; - static constexpr const uint8_t hash[8] = {0x56, 0x9c, 0x2f, 0x58, 0x6b, 0x31, 0xff, 0x84}; - static constexpr const auto vertexOffset = 15345; - static constexpr const auto fragmentOffset = 17205; + static constexpr const uint8_t hash[8] = {0x47, 0x2d, 0xe3, 0xf9, 0x56, 0xa7, 0xa8, 0x99}; + static constexpr const auto vertexOffset = 15614; + static constexpr const auto fragmentOffset = 18045; }; constexpr const char* ShaderSource::name; @@ -43,7 +43,7 @@ uniform mat4 u_matrix; uniform vec2 u_world; uniform vec2 u_pixel_coord_upper; uniform vec2 u_pixel_coord_lower; -uniform vec4 u_scale; +uniform vec3 u_scale; attribute vec2 a_pos; @@ -79,6 +79,22 @@ uniform lowp vec4 u_pattern_to; #endif +#ifndef HAS_UNIFORM_u_pixel_ratio_from +uniform lowp float u_pixel_ratio_from_t; +attribute lowp vec2 a_pixel_ratio_from; +#else +uniform lowp float u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to +uniform lowp float u_pixel_ratio_to_t; +attribute lowp vec2 a_pixel_ratio_to; +#else +uniform lowp float u_pixel_ratio_to; +#endif + + void main() { #ifndef HAS_UNIFORM_u_opacity @@ -101,21 +117,34 @@ void main() { mediump vec4 pattern_to = u_pattern_to; #endif + +#ifndef HAS_UNIFORM_u_pixel_ratio_from + lowp float pixel_ratio_from = unpack_mix_vec2(a_pixel_ratio_from, u_pixel_ratio_from_t); +#else + lowp float pixel_ratio_from = u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to + lowp float pixel_ratio_to = unpack_mix_vec2(a_pixel_ratio_to, u_pixel_ratio_to_t); +#else + lowp float pixel_ratio_to = u_pixel_ratio_to; +#endif + vec2 pattern_tl_a = pattern_from.xy; vec2 pattern_br_a = pattern_from.zw; vec2 pattern_tl_b = pattern_to.xy; vec2 pattern_br_b = pattern_to.zw; - float pixelRatio = u_scale.x; - float tileRatio = u_scale.y; - float fromScale = u_scale.z; - float toScale = u_scale.w; + float tileRatio = u_scale.x; + float fromScale = u_scale.y; + float toScale = u_scale.z; gl_Position = u_matrix * vec4(a_pos, 0, 1); - vec2 display_size_a = vec2((pattern_br_a.x - pattern_tl_a.x) / pixelRatio, (pattern_br_a.y - pattern_tl_a.y) / pixelRatio); - vec2 display_size_b = vec2((pattern_br_b.x - pattern_tl_b.x) / pixelRatio, (pattern_br_b.y - pattern_tl_b.y) / pixelRatio); + vec2 display_size_a = (pattern_br_a - pattern_tl_a) / pixel_ratio_from; + vec2 display_size_b = (pattern_br_b - pattern_tl_b) / pixel_ratio_to; v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, fromScale * display_size_a, tileRatio, a_pos); v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, toScale * display_size_b, tileRatio, a_pos); diff --git a/src/mbgl/programs/gl/fill_pattern.cpp b/src/mbgl/programs/gl/fill_pattern.cpp index 1e6e84d3e1b..d7347ac82cf 100644 --- a/src/mbgl/programs/gl/fill_pattern.cpp +++ b/src/mbgl/programs/gl/fill_pattern.cpp @@ -15,9 +15,9 @@ struct ShaderSource; template <> struct ShaderSource { static constexpr const char* name = "fill_pattern"; - static constexpr const uint8_t hash[8] = {0x74, 0xa9, 0x97, 0x01, 0x96, 0xbd, 0x87, 0x36}; - static constexpr const auto vertexOffset = 18512; - static constexpr const auto fragmentOffset = 20291; + static constexpr const uint8_t hash[8] = {0xcc, 0xc7, 0x99, 0x6a, 0x62, 0x84, 0xa5, 0x74}; + static constexpr const auto vertexOffset = 19352; + static constexpr const auto fragmentOffset = 21702; }; constexpr const char* ShaderSource::name; @@ -42,7 +42,7 @@ Backend::Create(const ProgramParameters& programPara uniform mat4 u_matrix; uniform vec2 u_pixel_coord_upper; uniform vec2 u_pixel_coord_lower; -uniform vec4 u_scale; +uniform vec3 u_scale; attribute vec2 a_pos; @@ -77,6 +77,22 @@ uniform lowp vec4 u_pattern_to; #endif +#ifndef HAS_UNIFORM_u_pixel_ratio_from +uniform lowp float u_pixel_ratio_from_t; +attribute lowp vec2 a_pixel_ratio_from; +#else +uniform lowp float u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to +uniform lowp float u_pixel_ratio_to_t; +attribute lowp vec2 a_pixel_ratio_to; +#else +uniform lowp float u_pixel_ratio_to; +#endif + + void main() { #ifndef HAS_UNIFORM_u_opacity @@ -99,19 +115,32 @@ void main() { mediump vec4 pattern_to = u_pattern_to; #endif + +#ifndef HAS_UNIFORM_u_pixel_ratio_from + lowp float pixel_ratio_from = unpack_mix_vec2(a_pixel_ratio_from, u_pixel_ratio_from_t); +#else + lowp float pixel_ratio_from = u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to + lowp float pixel_ratio_to = unpack_mix_vec2(a_pixel_ratio_to, u_pixel_ratio_to_t); +#else + lowp float pixel_ratio_to = u_pixel_ratio_to; +#endif + vec2 pattern_tl_a = pattern_from.xy; vec2 pattern_br_a = pattern_from.zw; vec2 pattern_tl_b = pattern_to.xy; vec2 pattern_br_b = pattern_to.zw; - float pixelRatio = u_scale.x; - float tileZoomRatio = u_scale.y; - float fromScale = u_scale.z; - float toScale = u_scale.w; + float tileZoomRatio = u_scale.x; + float fromScale = u_scale.y; + float toScale = u_scale.z; - vec2 display_size_a = vec2((pattern_br_a.x - pattern_tl_a.x) / pixelRatio, (pattern_br_a.y - pattern_tl_a.y) / pixelRatio); - vec2 display_size_b = vec2((pattern_br_b.x - pattern_tl_b.x) / pixelRatio, (pattern_br_b.y - pattern_tl_b.y) / pixelRatio); + vec2 display_size_a = (pattern_br_a - pattern_tl_a) / pixel_ratio_from; + vec2 display_size_b = (pattern_br_b - pattern_tl_b) / pixel_ratio_to; gl_Position = u_matrix * vec4(a_pos, 0, 1); v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, fromScale * display_size_a, tileZoomRatio, a_pos); diff --git a/src/mbgl/programs/gl/hillshade.cpp b/src/mbgl/programs/gl/hillshade.cpp index 9985ff9af85..40cc8e00668 100644 --- a/src/mbgl/programs/gl/hillshade.cpp +++ b/src/mbgl/programs/gl/hillshade.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "hillshade"; static constexpr const uint8_t hash[8] = {0x8a, 0x11, 0x29, 0x18, 0x52, 0x7f, 0x3b, 0xbb}; - static constexpr const auto vertexOffset = 29333; - static constexpr const auto fragmentOffset = 29504; + static constexpr const auto vertexOffset = 31831; + static constexpr const auto fragmentOffset = 32002; }; constexpr const char* ShaderSource::name; @@ -86,7 +86,7 @@ void main() { // We scale the slope exponentially based on intensity, using a calculation similar to // the exponential interpolation function in the style spec: - // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228 + // src/style-spec/expression/definitions/interpolate.js#L217-L228 // so that higher intensity values create more opaque hillshading. float base = 1.875 - intensity * 1.75; float maxValue = 0.5 * PI; diff --git a/src/mbgl/programs/gl/hillshade_prepare.cpp b/src/mbgl/programs/gl/hillshade_prepare.cpp index 0c2ee8383a2..b2c9587aa84 100644 --- a/src/mbgl/programs/gl/hillshade_prepare.cpp +++ b/src/mbgl/programs/gl/hillshade_prepare.cpp @@ -15,9 +15,9 @@ struct ShaderSource; template <> struct ShaderSource { static constexpr const char* name = "hillshade_prepare"; - static constexpr const uint8_t hash[8] = {0xbd, 0xa0, 0x8a, 0x88, 0x91, 0xe3, 0x73, 0x66}; - static constexpr const auto vertexOffset = 27906; - static constexpr const auto fragmentOffset = 28199; + static constexpr const uint8_t hash[8] = {0xd9, 0xb5, 0x98, 0xed, 0x2b, 0x45, 0x55, 0xef}; + static constexpr const auto vertexOffset = 30366; + static constexpr const auto fragmentOffset = 30659; }; constexpr const char* ShaderSource::name; @@ -67,7 +67,6 @@ uniform sampler2D u_image; varying vec2 v_pos; uniform vec2 u_dimension; uniform float u_zoom; -uniform float u_maxzoom; uniform vec4 u_unpack; float getElevation(vec2 coord, float bias) { @@ -105,23 +104,25 @@ void main() { float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0); float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0); - // here we divide the x and y slopes by 8 * pixel size + // Here we divide the x and y slopes by 8 * pixel size // where pixel size (aka meters/pixel) is: // circumference of the world / (pixels per tile * number of tiles) // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom)) - // which can be reduced to: pow(2, 19.25619978527 - u_zoom) - // we want to vertically exaggerate the hillshading though, because otherwise - // it is barely noticeable at low zooms. to do this, we multiply this by some - // scale factor pow(2, (u_zoom - u_maxzoom) * a) where a is an arbitrary value - // Here we use a=0.3 which works out to the expression below. see - // nickidlugash's awesome breakdown for more info + // which can be reduced to: pow(2, 19.25619978527 - u_zoom). + // We want to vertically exaggerate the hillshading because otherwise + // it is barely noticeable at low zooms. To do this, we multiply this by + // a scale factor that is a function of zooms below 15, which is an arbitrary + // that corresponds to the max zoom level of Mapbox terrain-RGB tiles. + // See nickidlugash's awesome breakdown for more info: // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556 - float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3; + + float exaggerationFactor = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3; + float exaggeration = u_zoom < 15.0 ? (u_zoom - 15.0) * exaggerationFactor : 0.0; vec2 deriv = vec2( (c + f + f + i) - (a + d + d + g), (g + h + h + i) - (a + b + b + c) - ) / pow(2.0, (u_zoom - u_maxzoom) * exaggeration + 19.2562 - u_zoom); + ) / pow(2.0, exaggeration + (19.2562 - u_zoom)); gl_FragColor = clamp(vec4( deriv.x / 2.0 + 0.5, diff --git a/src/mbgl/programs/gl/line.cpp b/src/mbgl/programs/gl/line.cpp index f337e5fe081..15ae86ea80e 100644 --- a/src/mbgl/programs/gl/line.cpp +++ b/src/mbgl/programs/gl/line.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "line"; static constexpr const uint8_t hash[8] = {0x7f, 0x8e, 0xaa, 0x53, 0x75, 0x78, 0xac, 0x2c}; - static constexpr const auto vertexOffset = 30578; - static constexpr const auto fragmentOffset = 33575; + static constexpr const auto vertexOffset = 33076; + static constexpr const auto fragmentOffset = 36073; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/line_gradient.cpp b/src/mbgl/programs/gl/line_gradient.cpp index 8358880a6c4..e4e863bbc6c 100644 --- a/src/mbgl/programs/gl/line_gradient.cpp +++ b/src/mbgl/programs/gl/line_gradient.cpp @@ -15,9 +15,9 @@ struct ShaderSource; template <> struct ShaderSource { static constexpr const char* name = "line_gradient"; - static constexpr const uint8_t hash[8] = {0x3f, 0xba, 0xc6, 0x33, 0xcd, 0x86, 0xa2, 0xe8}; - static constexpr const auto vertexOffset = 34444; - static constexpr const auto fragmentOffset = 37236; + static constexpr const uint8_t hash[8] = {0x87, 0xe9, 0xf7, 0x0f, 0x70, 0x29, 0xc3, 0xf7}; + static constexpr const auto vertexOffset = 36942; + static constexpr const auto fragmentOffset = 39852; }; constexpr const char* ShaderSource::name; @@ -39,10 +39,6 @@ Backend::Create(const ProgramParameters& programPara // Uncompressed source of line_gradient.vertex.glsl: /* - -// the attribute conveying progress along a line is scaled to [0, 2^15) -#define MAX_LINE_DISTANCE 32767.0 - // floor(127 / 2) == 63.0 // the maximum allowed miter limit is 2.0 at the moment. the extrude normal is // stored in a byte (-128..127). we scale regular normals up to length 63, but @@ -53,16 +49,19 @@ Backend::Create(const ProgramParameters& programPara attribute vec2 a_pos_normal; attribute vec4 a_data; +attribute float a_uv_x; +attribute float a_split_index; uniform mat4 u_matrix; uniform mediump float u_ratio; uniform lowp float u_device_pixel_ratio; uniform vec2 u_units_to_pixels; +uniform float u_image_height; varying vec2 v_normal; varying vec2 v_width2; varying float v_gamma_scale; -varying highp float v_lineprogress; +varying highp vec2 v_uv; #ifndef HAS_UNIFORM_u_blur @@ -151,7 +150,9 @@ void main() { vec2 a_extrude = a_data.xy - 128.0; float a_direction = mod(a_data.z, 4.0) - 1.0; - v_lineprogress = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0 / MAX_LINE_DISTANCE; + highp float texel_height = 1.0 / u_image_height; + highp float half_texel_height = 0.5 * texel_height; + v_uv = vec2(a_uv_x, a_split_index * texel_height - half_texel_height); vec2 pos = floor(a_pos_normal * 0.5); @@ -204,7 +205,7 @@ uniform sampler2D u_image; varying vec2 v_width2; varying vec2 v_normal; varying float v_gamma_scale; -varying highp float v_lineprogress; +varying highp vec2 v_uv; #ifndef HAS_UNIFORM_u_blur @@ -242,9 +243,9 @@ void main() { float blur2 = (blur + 1.0 / u_device_pixel_ratio) * v_gamma_scale; float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0); - // For gradient lines, v_lineprogress is the ratio along the entire line, - // scaled to [0, 2^15), and the gradient ramp is stored in a texture. - vec4 color = texture2D(u_image, vec2(v_lineprogress, 0.5)); + // For gradient lines, v_lineprogress is the ratio along the + // entire line, the gradient ramp is stored in a texture. + vec4 color = texture2D(u_image, v_uv); gl_FragColor = color * (alpha * opacity); diff --git a/src/mbgl/programs/gl/line_pattern.cpp b/src/mbgl/programs/gl/line_pattern.cpp index d0a5c8dd0e8..db5b140a078 100644 --- a/src/mbgl/programs/gl/line_pattern.cpp +++ b/src/mbgl/programs/gl/line_pattern.cpp @@ -15,9 +15,9 @@ struct ShaderSource; template <> struct ShaderSource { static constexpr const char* name = "line_pattern"; - static constexpr const uint8_t hash[8] = {0x38, 0x9c, 0x3d, 0xde, 0xb4, 0xe0, 0xd1, 0x61}; - static constexpr const auto vertexOffset = 38066; - static constexpr const auto fragmentOffset = 41460; + static constexpr const uint8_t hash[8] = {0xa3, 0x92, 0x7f, 0xcc, 0xdc, 0xc5, 0xba, 0x85}; + static constexpr const auto vertexOffset = 40651; + static constexpr const auto fragmentOffset = 45125; }; constexpr const char* ShaderSource::name; @@ -63,6 +63,7 @@ varying vec2 v_normal; varying vec2 v_width2; varying float v_linesofar; varying float v_gamma_scale; +varying float v_width; #ifndef HAS_UNIFORM_u_blur @@ -107,6 +108,14 @@ uniform mediump float u_width; #endif +#ifndef HAS_UNIFORM_u_floorwidth +uniform lowp float u_floorwidth_t; +attribute lowp vec2 a_floorwidth; +#else +uniform lowp float u_floorwidth; +#endif + + #ifndef HAS_UNIFORM_u_pattern_from uniform lowp float u_pattern_from_t; attribute lowp vec4 a_pattern_from; @@ -125,6 +134,24 @@ uniform lowp vec4 u_pattern_to; #endif +#ifndef HAS_UNIFORM_u_pixel_ratio_from +uniform lowp float u_pixel_ratio_from_t; +attribute lowp vec2 a_pixel_ratio_from; +varying lowp float pixel_ratio_from; +#else +uniform lowp float u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to +uniform lowp float u_pixel_ratio_to_t; +attribute lowp vec2 a_pixel_ratio_to; +varying lowp float pixel_ratio_to; +#else +uniform lowp float u_pixel_ratio_to; +#endif + + void main() { #ifndef HAS_UNIFORM_u_blur @@ -162,6 +189,13 @@ void main() { #endif +#ifndef HAS_UNIFORM_u_floorwidth + lowp float floorwidth = unpack_mix_vec2(a_floorwidth, u_floorwidth_t); +#else + lowp float floorwidth = u_floorwidth; +#endif + + #ifndef HAS_UNIFORM_u_pattern_from pattern_from = a_pattern_from; #else @@ -175,6 +209,20 @@ void main() { mediump vec4 pattern_to = u_pattern_to; #endif + +#ifndef HAS_UNIFORM_u_pixel_ratio_from + pixel_ratio_from = unpack_mix_vec2(a_pixel_ratio_from, u_pixel_ratio_from_t); +#else + lowp float pixel_ratio_from = u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to + pixel_ratio_to = unpack_mix_vec2(a_pixel_ratio_to, u_pixel_ratio_to_t); +#else + lowp float pixel_ratio_to = u_pixel_ratio_to; +#endif + // the distance over which the line edge fades out. // Retina devices need a smaller distance to avoid aliasing. @@ -183,7 +231,7 @@ void main() { vec2 a_extrude = a_data.xy - 128.0; float a_direction = mod(a_data.z, 4.0) - 1.0; float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE; - // float tileRatio = u_scale.y; + // float tileRatio = u_scale.x; vec2 pos = floor(a_pos_normal * 0.5); // x is 1 if it's a round cap, 0 otherwise @@ -224,6 +272,7 @@ void main() { v_linesofar = a_linesofar; v_width2 = vec2(outset, inset); + v_width = floorwidth; } */ @@ -233,7 +282,7 @@ void main() { uniform lowp float u_device_pixel_ratio; uniform vec2 u_texsize; uniform float u_fade; -uniform mediump vec4 u_scale; +uniform mediump vec3 u_scale; uniform sampler2D u_image; @@ -241,6 +290,7 @@ varying vec2 v_normal; varying vec2 v_width2; varying float v_linesofar; varying float v_gamma_scale; +varying float v_width; #ifndef HAS_UNIFORM_u_pattern_from @@ -257,6 +307,20 @@ uniform lowp vec4 u_pattern_to; #endif +#ifndef HAS_UNIFORM_u_pixel_ratio_from +varying lowp float pixel_ratio_from; +#else +uniform lowp float u_pixel_ratio_from; +#endif + + +#ifndef HAS_UNIFORM_u_pixel_ratio_to +varying lowp float pixel_ratio_to; +#else +uniform lowp float u_pixel_ratio_to; +#endif + + #ifndef HAS_UNIFORM_u_blur varying lowp float blur; #else @@ -282,6 +346,16 @@ void main() { mediump vec4 pattern_to = u_pattern_to; #endif + +#ifdef HAS_UNIFORM_u_pixel_ratio_from + lowp float pixel_ratio_from = u_pixel_ratio_from; +#endif + + +#ifdef HAS_UNIFORM_u_pixel_ratio_to + lowp float pixel_ratio_to = u_pixel_ratio_to; +#endif + #ifdef HAS_UNIFORM_u_blur @@ -299,17 +373,19 @@ void main() { vec2 pattern_tl_b = pattern_to.xy; vec2 pattern_br_b = pattern_to.zw; - float pixelRatio = u_scale.x; - float tileZoomRatio = u_scale.y; - float fromScale = u_scale.z; - float toScale = u_scale.w; + float tileZoomRatio = u_scale.x; + float fromScale = u_scale.y; + float toScale = u_scale.z; - vec2 display_size_a = vec2((pattern_br_a.x - pattern_tl_a.x) / pixelRatio, (pattern_br_a.y - pattern_tl_a.y) / pixelRatio); - vec2 display_size_b = vec2((pattern_br_b.x - pattern_tl_b.x) / pixelRatio, (pattern_br_b.y - pattern_tl_b.y) / pixelRatio); + vec2 display_size_a = (pattern_br_a - pattern_tl_a) / pixel_ratio_from; + vec2 display_size_b = (pattern_br_b - pattern_tl_b) / pixel_ratio_to; vec2 pattern_size_a = vec2(display_size_a.x * fromScale / tileZoomRatio, display_size_a.y); vec2 pattern_size_b = vec2(display_size_b.x * toScale / tileZoomRatio, display_size_b.y); + float aspect_a = display_size_a.y / v_width; + float aspect_b = display_size_b.y / v_width; + // Calculate the distance of the pixel from the line in pixels. float dist = length(v_normal) * v_width2.s; @@ -319,18 +395,15 @@ void main() { float blur2 = (blur + 1.0 / u_device_pixel_ratio) * v_gamma_scale; float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0); - float x_a = mod(v_linesofar / pattern_size_a.x, 1.0); - float x_b = mod(v_linesofar / pattern_size_b.x, 1.0); - - // v_normal.y is 0 at the midpoint of the line, -1 at the lower edge, 1 at the upper edge - // we clamp the line width outset to be between 0 and half the pattern height plus padding (2.0) - // to ensure we don't sample outside the designated symbol on the sprite sheet. - // 0.5 is added to shift the component to be bounded between 0 and 1 for interpolation of - // the texture coordinate - float y_a = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (pattern_size_a.y + 2.0) / 2.0) / pattern_size_a.y); - float y_b = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (pattern_size_b.y + 2.0) / 2.0) / pattern_size_b.y); - vec2 pos_a = mix(pattern_tl_a / u_texsize, pattern_br_a / u_texsize, vec2(x_a, y_a)); - vec2 pos_b = mix(pattern_tl_b / u_texsize, pattern_br_b / u_texsize, vec2(x_b, y_b)); + float x_a = mod(v_linesofar / pattern_size_a.x * aspect_a, 1.0); + float x_b = mod(v_linesofar / pattern_size_b.x * aspect_b, 1.0); + + float y = 0.5 * v_normal.y + 0.5; + + vec2 texel_size = 1.0 / u_texsize; + + vec2 pos_a = mix(pattern_tl_a * texel_size - texel_size, pattern_br_a * texel_size + texel_size, vec2(x_a, y)); + vec2 pos_b = mix(pattern_tl_b * texel_size - texel_size, pattern_br_b * texel_size + texel_size, vec2(x_b, y)); vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade); diff --git a/src/mbgl/programs/gl/line_sdf.cpp b/src/mbgl/programs/gl/line_sdf.cpp index b583fd06173..9fab25cf529 100644 --- a/src/mbgl/programs/gl/line_sdf.cpp +++ b/src/mbgl/programs/gl/line_sdf.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "line_sdf"; static constexpr const uint8_t hash[8] = {0x25, 0x94, 0x7f, 0xad, 0x84, 0xfe, 0x96, 0xad}; - static constexpr const auto vertexOffset = 43815; - static constexpr const auto fragmentOffset = 47502; + static constexpr const auto vertexOffset = 47822; + static constexpr const auto fragmentOffset = 51509; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/raster.cpp b/src/mbgl/programs/gl/raster.cpp index d18f411e65c..d68a2574ede 100644 --- a/src/mbgl/programs/gl/raster.cpp +++ b/src/mbgl/programs/gl/raster.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "raster"; static constexpr const uint8_t hash[8] = {0x40, 0x3d, 0x6c, 0xf4, 0xd0, 0x41, 0x51, 0x0e}; - static constexpr const auto vertexOffset = 49047; - static constexpr const auto fragmentOffset = 49396; + static constexpr const auto vertexOffset = 53054; + static constexpr const auto fragmentOffset = 53403; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/shader_source.cpp b/src/mbgl/programs/gl/shader_source.cpp index 8630d973a96..5295c1e02cd 100644 --- a/src/mbgl/programs/gl/shader_source.cpp +++ b/src/mbgl/programs/gl/shader_source.cpp @@ -10,474 +10,502 @@ namespace programs { namespace gl { constexpr const uint8_t compressedShaderSource[] = { - 0x78, 0xda, 0xed, 0x3d, 0x6b, 0x6f, 0xe3, 0x38, 0x92, 0xfb, 0x39, 0xbf, 0xc2, 0x83, 0x01, 0x16, - 0x92, 0x2c, 0x5b, 0xb6, 0x93, 0xf4, 0x63, 0xb4, 0xba, 0x41, 0xa3, 0x1f, 0x73, 0x01, 0x66, 0xba, - 0x1b, 0x9d, 0xd9, 0xbd, 0xc5, 0x0e, 0x1a, 0x86, 0x64, 0x2b, 0x8e, 0x6e, 0x6d, 0xcb, 0x67, 0x2b, - 0x89, 0x9d, 0x45, 0xfe, 0xfb, 0xb1, 0xf8, 0x26, 0x45, 0xca, 0x8f, 0xc4, 0xce, 0x63, 0x84, 0xc1, - 0x74, 0x2c, 0xb2, 0x58, 0x2c, 0x92, 0xc5, 0x62, 0x55, 0x91, 0x2c, 0xfe, 0x98, 0x5d, 0x0c, 0xd3, - 0x8b, 0xc6, 0x2f, 0xbf, 0xf6, 0x3f, 0x9e, 0x1f, 0xcd, 0xe6, 0xe9, 0x20, 0x5b, 0x64, 0xf9, 0xb4, - 0x71, 0x99, 0x8d, 0x2e, 0x67, 0x8d, 0x8b, 0x71, 0x1e, 0x17, 0xe1, 0xd1, 0x8f, 0xe9, 0x78, 0x91, - 0x1e, 0xfd, 0x98, 0x5d, 0x34, 0x7e, 0x40, 0xb0, 0xd9, 0x34, 0x1d, 0x3a, 0xe3, 0xfc, 0x66, 0xe6, - 0x1e, 0xfd, 0x48, 0x3e, 0x1b, 0xf0, 0x85, 0xa0, 0xa6, 0xc3, 0xec, 0x42, 0x05, 0x9b, 0xa4, 0xc3, - 0xec, 0x6a, 0x22, 0x41, 0xd2, 0x04, 0x23, 0x30, 0xae, 0x53, 0x80, 0xe2, 0x4f, 0x0e, 0x48, 0xfe, - 0x5c, 0xa7, 0x83, 0x5e, 0xe3, 0x6a, 0x3a, 0x8b, 0x07, 0xff, 0xee, 0x63, 0xe2, 0x9c, 0x41, 0x3e, - 0x5d, 0x14, 0x84, 0xd0, 0x06, 0x24, 0xa7, 0xc3, 0x7f, 0xc4, 0xe3, 0xab, 0xd4, 0x6d, 0xfc, 0x27, - 0x9b, 0xb2, 0x94, 0xb3, 0x69, 0x81, 0x13, 0x23, 0x94, 0xe4, 0xc8, 0x40, 0x21, 0xc0, 0x5c, 0x77, - 0x22, 0x15, 0x2c, 0xe8, 0x9d, 0xbe, 0x0a, 0xe7, 0x69, 0x71, 0x35, 0x9f, 0x36, 0xa0, 0x42, 0xe7, - 0xba, 0xe3, 0xab, 0x10, 0xad, 0xeb, 0x8e, 0x87, 0x80, 0xdc, 0xf0, 0x4e, 0x26, 0x28, 0x47, 0xff, - 0x66, 0xc5, 0xca, 0x40, 0xd2, 0x17, 0x92, 0x43, 0x89, 0x42, 0xff, 0xd3, 0x04, 0x89, 0x20, 0x06, - 0x12, 0xf4, 0x94, 0xaa, 0x49, 0x23, 0x45, 0x09, 0x37, 0xe8, 0xf6, 0x5e, 0xb7, 0x3b, 0xfe, 0x24, - 0x1f, 0xaa, 0x05, 0xfd, 0x5e, 0xbb, 0xe3, 0x12, 0x82, 0x4e, 0x1a, 0xc3, 0x74, 0x90, 0x0f, 0xd3, - 0xfe, 0x20, 0x1f, 0xe7, 0x73, 0x4a, 0x0e, 0x26, 0x34, 0x9d, 0x42, 0xfa, 0xf0, 0x3d, 0xa4, 0x23, - 0x62, 0x44, 0x45, 0x27, 0x8e, 0xd2, 0xa9, 0x32, 0xdc, 0x1f, 0x9d, 0xef, 0x88, 0xa8, 0xd3, 0x53, - 0x54, 0xa9, 0x1d, 0xa6, 0xcb, 0x60, 0x8e, 0x10, 0x09, 0xa4, 0xe5, 0x14, 0x78, 0x92, 0x2d, 0xfb, - 0xb8, 0x25, 0x12, 0x19, 0xd2, 0x10, 0xf8, 0x72, 0x67, 0x15, 0x82, 0x26, 0x54, 0x4c, 0x1e, 0x29, - 0x44, 0x84, 0x2f, 0x7f, 0x76, 0xbf, 0xfb, 0x05, 0x6b, 0xac, 0x54, 0x91, 0xd6, 0xe0, 0x13, 0x5a, - 0x13, 0xa6, 0x71, 0x51, 0xaa, 0x0a, 0x43, 0x4c, 0xb2, 0x29, 0xce, 0x8e, 0x94, 0x3e, 0xc3, 0x14, - 0xcb, 0x85, 0x05, 0x01, 0xf4, 0x1b, 0xb5, 0xd8, 0x0d, 0x09, 0x86, 0x78, 0xb9, 0x11, 0x86, 0x9e, - 0x86, 0xe1, 0x18, 0x30, 0x48, 0xcd, 0x65, 0x94, 0xf8, 0x0c, 0x21, 0x6b, 0x62, 0xaf, 0x31, 0x4a, - 0x8b, 0xfe, 0x2c, 0x2e, 0x8a, 0x74, 0x3e, 0xed, 0xcf, 0xf2, 0x85, 0xd2, 0x97, 0xd9, 0x32, 0x1d, - 0xa3, 0x3a, 0xf3, 0xf9, 0xb0, 0x7f, 0x35, 0x9b, 0xa5, 0x73, 0xdf, 0x92, 0x89, 0xe6, 0xa8, 0x96, - 0x49, 0x11, 0x2e, 0xb2, 0x5b, 0x6d, 0x18, 0xb2, 0x71, 0xda, 0xbf, 0x9a, 0x66, 0xc5, 0xa2, 0x5f, - 0xe4, 0x7d, 0x8c, 0x63, 0xa1, 0x14, 0xcc, 0x17, 0xa4, 0xf7, 0x7a, 0x8d, 0xfc, 0xe2, 0x62, 0x91, - 0x16, 0x11, 0x70, 0x23, 0xfb, 0xbf, 0x4c, 0x90, 0x5c, 0x91, 0x0b, 0xf3, 0xa6, 0xdd, 0x31, 0xa5, - 0x35, 0xcb, 0xd4, 0x2a, 0x50, 0xac, 0xaf, 0x1c, 0x13, 0x7d, 0x1e, 0x22, 0xaa, 0x49, 0xa8, 0x71, - 0x03, 0xb9, 0x58, 0x78, 0x77, 0xf4, 0x97, 0x1f, 0xcd, 0x32, 0x8e, 0xca, 0xa2, 0xa7, 0x27, 0xe5, - 0xfe, 0x82, 0xe8, 0x9f, 0x67, 0xc9, 0x55, 0x91, 0x92, 0x0e, 0x8f, 0x61, 0xd0, 0x43, 0xd4, 0xe2, - 0x8b, 0x7c, 0x3e, 0x41, 0xfc, 0x56, 0x20, 0xa6, 0xef, 0xa3, 0x3f, 0xf3, 0x6c, 0x19, 0x5e, 0xe7, - 0xd9, 0x10, 0x25, 0x65, 0x53, 0x07, 0x8d, 0xc9, 0x68, 0xdc, 0xff, 0x9a, 0x2f, 0xb2, 0x02, 0xb5, - 0x2e, 0x62, 0x10, 0x1e, 0x9e, 0xde, 0x18, 0x85, 0xdf, 0xf1, 0xbb, 0x2e, 0x74, 0x08, 0x43, 0x45, - 0xe6, 0x0f, 0xe1, 0x58, 0x8e, 0x9f, 0x4e, 0x5f, 0x26, 0xce, 0x4a, 0x35, 0x7c, 0x9a, 0xc7, 0x23, - 0xc2, 0xf0, 0xb4, 0xa4, 0x27, 0x60, 0x8f, 0x68, 0x57, 0x7f, 0xf9, 0xc7, 0xc7, 0x6f, 0x1f, 0xbe, - 0xbd, 0xfb, 0x9f, 0xfe, 0xd9, 0xe7, 0xf3, 0xaf, 0x1f, 0xdf, 0xff, 0xfe, 0xe5, 0xdb, 0x91, 0x52, - 0x12, 0xd3, 0xd4, 0x45, 0x12, 0x2b, 0x64, 0x6d, 0x96, 0xa8, 0x52, 0x1b, 0x28, 0xd1, 0x8a, 0x24, - 0x6d, 0x5f, 0x1e, 0xdb, 0x7e, 0x5c, 0x99, 0x9b, 0x94, 0x72, 0x75, 0xd6, 0xac, 0x02, 0xc0, 0x1c, - 0x58, 0xea, 0x94, 0xc5, 0x20, 0x1e, 0xcb, 0xf5, 0xaa, 0xe9, 0x49, 0x29, 0xdd, 0xc4, 0xab, 0xa1, - 0x71, 0x78, 0xaf, 0xe3, 0xf9, 0x2a, 0x9b, 0x8e, 0x48, 0xd2, 0x35, 0x24, 0xa1, 0x6a, 0x0c, 0x89, - 0xc9, 0x0e, 0x43, 0x4e, 0xd1, 0x45, 0xba, 0x1c, 0x31, 0x74, 0x89, 0x6f, 0xe8, 0x05, 0x9f, 0xb7, - 0xdb, 0xd3, 0x07, 0xc0, 0x37, 0x37, 0xd1, 0xc7, 0x95, 0xb3, 0x8a, 0x93, 0x7b, 0x57, 0x9c, 0xe8, - 0x15, 0x27, 0x6b, 0x2a, 0x56, 0x99, 0x5c, 0x66, 0x8d, 0x62, 0x6c, 0x67, 0x9b, 0x64, 0x6e, 0xcf, - 0x43, 0xe5, 0x92, 0x8a, 0x72, 0xa5, 0xbc, 0x22, 0x5d, 0x62, 0xf9, 0xa3, 0x73, 0xc4, 0x44, 0xe2, - 0x69, 0x7d, 0xaa, 0xb1, 0xf4, 0x45, 0x3c, 0x99, 0x8d, 0xd3, 0x79, 0xef, 0x03, 0xca, 0xcb, 0x26, - 0xf1, 0x28, 0xdd, 0x95, 0x3b, 0x70, 0x0e, 0xc6, 0x80, 0x7b, 0x15, 0x0b, 0x6a, 0x5a, 0xda, 0xc7, - 0xd3, 0x8f, 0x09, 0xf4, 0x08, 0x56, 0x20, 0xb5, 0x93, 0x02, 0xde, 0x06, 0x5f, 0xed, 0x21, 0x29, - 0x43, 0xa0, 0xa6, 0x8b, 0x21, 0x16, 0x08, 0xdd, 0x08, 0xe5, 0x23, 0x59, 0x9d, 0xf6, 0x3e, 0x38, - 0xb4, 0x01, 0x3e, 0x61, 0x07, 0x95, 0x1c, 0xc4, 0x18, 0x82, 0xa0, 0x44, 0x25, 0xa8, 0x57, 0xa6, - 0x28, 0xb1, 0x51, 0x94, 0x18, 0x29, 0xea, 0x27, 0x32, 0x4d, 0x3d, 0x33, 0x4d, 0x3d, 0x37, 0x54, - 0x04, 0x13, 0x54, 0x4a, 0xda, 0xe0, 0x93, 0x62, 0x3e, 0x1e, 0x31, 0xf7, 0x30, 0x32, 0x2e, 0xc9, - 0xf3, 0x31, 0x17, 0x26, 0x37, 0x59, 0x71, 0x89, 0x00, 0x66, 0x7a, 0xee, 0x2c, 0x2b, 0x06, 0x97, - 0xe5, 0x5c, 0xca, 0x76, 0xa8, 0x91, 0xf3, 0x2b, 0xa4, 0x85, 0x60, 0x1c, 0x3c, 0x13, 0x96, 0x2e, - 0xce, 0x6d, 0xc3, 0xf4, 0x3a, 0x1b, 0xa4, 0x74, 0xb6, 0xcd, 0x63, 0x24, 0x3a, 0x38, 0x9c, 0xa4, - 0xf6, 0xc3, 0xba, 0x10, 0x4f, 0xd2, 0x79, 0x0c, 0x93, 0x6b, 0x90, 0x4e, 0x51, 0x67, 0xf7, 0x87, - 0xd9, 0xa2, 0x88, 0xa7, 0x83, 0x74, 0xad, 0x04, 0x3b, 0x46, 0xec, 0x38, 0x8c, 0x8b, 0x18, 0x77, - 0xd6, 0x14, 0x7a, 0xeb, 0xbf, 0xdf, 0x9d, 0xf7, 0xff, 0xfe, 0xf9, 0xec, 0xd3, 0x97, 0x6f, 0xbf, - 0xf5, 0xe9, 0xba, 0x71, 0x64, 0xa4, 0x0e, 0x67, 0xf5, 0x0b, 0xa9, 0x0a, 0x42, 0x14, 0x1e, 0xca, - 0x98, 0xae, 0x55, 0xac, 0x2a, 0x29, 0x8b, 0x64, 0xd0, 0x55, 0x5c, 0x6d, 0x8f, 0xb2, 0xcc, 0x49, - 0x8b, 0xb2, 0x81, 0xb0, 0x79, 0x8c, 0x56, 0xee, 0x85, 0x99, 0x32, 0x92, 0xa7, 0x90, 0xc6, 0x54, - 0x08, 0xda, 0x0b, 0x04, 0x82, 0x53, 0xa7, 0x28, 0x18, 0x0d, 0x9a, 0xa9, 0x51, 0xa8, 0xc2, 0xb0, - 0x4a, 0xd6, 0x50, 0x99, 0x8c, 0xaf, 0x2c, 0xbd, 0x07, 0x39, 0x0a, 0x85, 0x38, 0x97, 0x92, 0x07, - 0x99, 0x9c, 0x38, 0xa9, 0x18, 0x4e, 0xd7, 0xe8, 0x2a, 0x61, 0x5d, 0x43, 0x12, 0x9d, 0x1d, 0xe6, - 0xf2, 0x34, 0xd3, 0x4a, 0x18, 0x57, 0x35, 0xca, 0xb4, 0x89, 0x59, 0x67, 0x27, 0x4f, 0x82, 0xa9, - 0xa0, 0x70, 0x51, 0xcc, 0xf3, 0x7f, 0xa7, 0x55, 0xac, 0x27, 0x43, 0xd8, 0x39, 0x50, 0x86, 0x32, - 0x31, 0xa2, 0x92, 0x5f, 0xc5, 0x8f, 0x3a, 0xe0, 0x7a, 0xda, 0x6f, 0xb2, 0x61, 0x71, 0x59, 0x49, - 0x3b, 0x86, 0xa8, 0x62, 0x51, 0x19, 0xce, 0xc2, 0xa8, 0x0a, 0xc8, 0x1a, 0x76, 0xd5, 0x61, 0xd7, - 0xb7, 0xa1, 0x92, 0x51, 0x54, 0x18, 0x2b, 0xbf, 0xa8, 0x60, 0x26, 0xb6, 0xd1, 0x20, 0xaa, 0xb8, - 0xa7, 0x0c, 0x4a, 0x5c, 0x0d, 0x7c, 0x1d, 0x85, 0x5f, 0x68, 0x2d, 0xad, 0x14, 0x65, 0x03, 0xa2, - 0x10, 0xeb, 0xa6, 0x28, 0x95, 0x57, 0x3e, 0x17, 0x6b, 0x2e, 0x23, 0x45, 0x97, 0x5c, 0xd1, 0x56, - 0xf2, 0x89, 0xfc, 0x89, 0x74, 0x1b, 0x9b, 0x49, 0x20, 0x5f, 0x08, 0x2b, 0x5e, 0xa1, 0x49, 0x18, - 0x45, 0xdb, 0xc8, 0x1b, 0xf8, 0xc7, 0x50, 0x23, 0x24, 0xfb, 0x4c, 0xf0, 0xf0, 0xda, 0x34, 0xe9, - 0x12, 0x6d, 0x25, 0x43, 0xe8, 0x5f, 0x43, 0x65, 0x34, 0xc7, 0x97, 0x44, 0x8a, 0xa9, 0x4a, 0x8e, - 0x60, 0x17, 0xd1, 0x20, 0x7f, 0x98, 0x46, 0x54, 0xce, 0xf7, 0x75, 0xa1, 0x61, 0x1a, 0x5f, 0x15, - 0xe1, 0xce, 0xd3, 0x5e, 0xfe, 0x30, 0x74, 0x8d, 0x9c, 0xed, 0xeb, 0xf2, 0xc0, 0xc2, 0x05, 0x2a, - 0xca, 0x7b, 0x4c, 0x66, 0xf5, 0xd3, 0x4e, 0x9d, 0x18, 0x3f, 0x7d, 0xa6, 0x9b, 0x86, 0x51, 0xc7, - 0x6a, 0x9d, 0xaa, 0xd8, 0xb7, 0x45, 0x14, 0x9f, 0x08, 0x57, 0x08, 0x6a, 0x25, 0xb1, 0x7f, 0xc0, - 0x2d, 0xe6, 0xa1, 0x7f, 0x5a, 0x42, 0xbb, 0x1c, 0x64, 0xf3, 0x01, 0xd2, 0xaf, 0x88, 0x4e, 0x13, - 0xa1, 0xaa, 0xf0, 0xb0, 0x22, 0x60, 0xaf, 0xd3, 0x3e, 0x75, 0x43, 0x64, 0xac, 0x3b, 0xba, 0x96, - 0xc5, 0x54, 0xe9, 0x41, 0x3e, 0x9f, 0x22, 0x3d, 0x68, 0xc6, 0x2c, 0x2e, 0x05, 0x15, 0x2d, 0xa9, - 0x6a, 0x6f, 0xa8, 0xa4, 0x56, 0xa8, 0x19, 0x51, 0x52, 0x3d, 0x87, 0x4c, 0xbe, 0xa6, 0xdc, 0xef, - 0xa0, 0x69, 0xaa, 0x3a, 0xdc, 0x5d, 0x03, 0xfa, 0x85, 0xba, 0xab, 0x66, 0xf3, 0xfc, 0x7f, 0xd3, - 0x41, 0x91, 0x0e, 0x19, 0xf9, 0xaa, 0xcd, 0xa7, 0xd0, 0x43, 0x6c, 0xbf, 0xfb, 0xd5, 0xee, 0x39, - 0x7a, 0x8d, 0xed, 0x9b, 0xa0, 0x42, 0x33, 0x44, 0x96, 0x97, 0xdd, 0x22, 0xd5, 0x48, 0xa1, 0xee, - 0x08, 0xda, 0xbc, 0x8a, 0x62, 0xe5, 0x46, 0x59, 0x7a, 0x5a, 0xc2, 0xd1, 0x5e, 0xae, 0xb6, 0x6d, - 0x6a, 0x95, 0xc2, 0x6b, 0xa0, 0x72, 0x87, 0x1a, 0xe4, 0xd2, 0x37, 0xe1, 0xdd, 0x9d, 0xc4, 0xeb, - 0xf1, 0xb4, 0xc8, 0xe2, 0x71, 0x16, 0x2f, 0xb0, 0xb8, 0x44, 0xcc, 0x1a, 0x98, 0x14, 0xf5, 0xc0, - 0x58, 0x4f, 0x48, 0x94, 0x6d, 0x60, 0xfd, 0x63, 0x87, 0xd6, 0xd8, 0x5e, 0xfa, 0xec, 0xd7, 0xca, - 0x57, 0x90, 0x63, 0xe3, 0x78, 0x6b, 0x5d, 0x7d, 0xdf, 0x1a, 0xf7, 0x61, 0x74, 0xe6, 0x3d, 0x2b, - 0xbf, 0x87, 0xd3, 0x5f, 0x1f, 0x43, 0xef, 0x7c, 0x4c, 0x6d, 0x71, 0xcf, 0x2a, 0x1e, 0x55, 0xef, - 0x6c, 0xcc, 0xbf, 0x89, 0xb2, 0x66, 0xe5, 0xec, 0x8d, 0x15, 0x2f, 0x0b, 0xcf, 0xae, 0x57, 0xa5, - 0xec, 0x0c, 0xb9, 0xa9, 0x4e, 0xb4, 0x86, 0xdb, 0xb6, 0x57, 0x66, 0xd6, 0xb0, 0xd2, 0x4e, 0x6a, - 0xc8, 0x5a, 0x26, 0xb9, 0xb7, 0xea, 0x80, 0xe5, 0x20, 0x92, 0xeb, 0x21, 0x41, 0xc2, 0x84, 0xf7, - 0x38, 0x9d, 0x8e, 0x10, 0x65, 0xe4, 0x0f, 0x13, 0xb0, 0x6e, 0x68, 0x95, 0xde, 0x14, 0xcf, 0x6d, - 0xa8, 0x65, 0xa2, 0x35, 0x14, 0xe7, 0xb7, 0x26, 0xf1, 0xd2, 0xc1, 0x7a, 0xb3, 0x26, 0x98, 0x95, - 0x91, 0xea, 0x17, 0xd1, 0x62, 0x92, 0xe7, 0xc5, 0xe5, 0xa2, 0x48, 0x67, 0x4e, 0xa7, 0xdd, 0xf1, - 0x75, 0x44, 0xbe, 0x4a, 0x20, 0x51, 0x71, 0x08, 0x0e, 0xaa, 0x8e, 0x46, 0x72, 0x5f, 0x36, 0xfe, - 0xd6, 0x40, 0x58, 0xba, 0x8d, 0x9f, 0xe1, 0x4f, 0xe3, 0xa7, 0x86, 0x84, 0xbd, 0x84, 0x19, 0xaa, - 0xd3, 0xb0, 0x13, 0x86, 0x35, 0xaf, 0x40, 0x9a, 0x17, 0x8d, 0xb7, 0xc0, 0xe3, 0xfe, 0x34, 0x8f, - 0xa9, 0x7e, 0x32, 0xc7, 0x78, 0x9a, 0x5a, 0x28, 0x29, 0xd1, 0xf7, 0xf0, 0xb1, 0xed, 0x7b, 0xf7, - 0xc4, 0xbe, 0x21, 0x22, 0xc8, 0x59, 0xeb, 0xea, 0x63, 0xa2, 0xc9, 0xec, 0xaf, 0xb3, 0x39, 0x86, - 0x59, 0x7a, 0x86, 0xb4, 0x93, 0xe9, 0x02, 0x72, 0x36, 0xd9, 0x4b, 0xa0, 0x75, 0xd8, 0x16, 0xf8, - 0x9b, 0x14, 0x4d, 0xef, 0xc2, 0x2c, 0x39, 0x49, 0x9e, 0xd9, 0x19, 0x02, 0xb5, 0x91, 0x7c, 0xcd, - 0x0d, 0x42, 0x0a, 0xd3, 0x2c, 0xe3, 0x4a, 0xa4, 0xa2, 0x3f, 0x84, 0x4f, 0x6e, 0x3b, 0x15, 0x82, - 0xec, 0x76, 0xca, 0xb4, 0xfe, 0xeb, 0xe3, 0xb7, 0x2f, 0x58, 0x2d, 0xc3, 0xdb, 0xdc, 0x41, 0xf7, - 0x55, 0xbb, 0x13, 0xf2, 0x4d, 0xbc, 0x5f, 0xde, 0xfd, 0xfd, 0xfc, 0xbc, 0xff, 0xfe, 0xcb, 0xc7, - 0x4f, 0x68, 0x6a, 0x1d, 0xbf, 0x7d, 0xf3, 0xf6, 0xa4, 0xd7, 0x7b, 0xd3, 0x39, 0xe9, 0x74, 0x4f, - 0x8e, 0x7b, 0xaf, 0x37, 0xf6, 0x24, 0xd0, 0x71, 0x20, 0x7f, 0x0c, 0x36, 0x14, 0xc9, 0xf0, 0xc5, - 0xa0, 0x68, 0xc6, 0xa6, 0xdc, 0xed, 0xd1, 0x76, 0x7d, 0x6b, 0x5e, 0xa3, 0x1e, 0xdc, 0xbb, 0x40, - 0x4f, 0x4b, 0x60, 0x5e, 0x1f, 0xf6, 0x37, 0xb2, 0xd8, 0x08, 0xc2, 0xf3, 0x68, 0xf1, 0x7f, 0xf3, - 0xc2, 0x69, 0xa1, 0x64, 0x6f, 0x9c, 0x8f, 0x1c, 0x18, 0x8d, 0x80, 0x34, 0x30, 0x90, 0x66, 0x43, - 0x20, 0x06, 0xc2, 0x75, 0x83, 0x63, 0x34, 0x44, 0x9c, 0xf9, 0xa3, 0x73, 0x4f, 0xaf, 0x38, 0xd4, - 0x84, 0x3f, 0xd3, 0xe5, 0x09, 0xd1, 0x25, 0x3b, 0x8c, 0xd8, 0x5f, 0xf9, 0x82, 0xcc, 0x72, 0xdd, - 0x6c, 0x6c, 0x52, 0x60, 0x22, 0x25, 0x8c, 0xa2, 0x04, 0x66, 0xa6, 0x24, 0x17, 0xd4, 0x99, 0x20, - 0x66, 0xf4, 0x4e, 0x93, 0xf7, 0xa1, 0x26, 0xe0, 0x96, 0x0c, 0x6d, 0xd5, 0x9b, 0x28, 0x59, 0x9b, - 0x30, 0x26, 0xc9, 0x1d, 0x46, 0x2d, 0xd4, 0x8d, 0x1e, 0x1a, 0x33, 0xfc, 0xff, 0x30, 0x2f, 0x1c, - 0xde, 0x76, 0x9f, 0xff, 0x62, 0xfc, 0x70, 0x1d, 0x8f, 0x23, 0x82, 0xc6, 0x93, 0xba, 0xce, 0x13, - 0x64, 0x7b, 0xe9, 0x72, 0xe6, 0x0c, 0xb5, 0x65, 0x09, 0x0f, 0x1c, 0x2a, 0x0a, 0x3b, 0x4d, 0xec, - 0x7f, 0xf7, 0x00, 0x7b, 0xd6, 0x37, 0xf9, 0x7c, 0x3c, 0xdc, 0x74, 0xd7, 0x77, 0xab, 0x35, 0xc9, - 0xa3, 0xc8, 0xa5, 0x6d, 0xde, 0xf6, 0x32, 0x8a, 0xc9, 0x5f, 0xfa, 0xbd, 0x02, 0xb1, 0xd5, 0x22, - 0x69, 0x2b, 0x99, 0x01, 0xcb, 0xbb, 0x8c, 0xa6, 0x1c, 0xb2, 0x26, 0xcf, 0x51, 0x8a, 0xfd, 0x84, - 0xc0, 0x9a, 0x46, 0xd0, 0x63, 0x25, 0x86, 0x1d, 0x38, 0x0c, 0xec, 0xb6, 0xe7, 0xd2, 0x46, 0x9d, - 0x02, 0x25, 0x2a, 0xf7, 0xb1, 0x94, 0x28, 0x7c, 0x98, 0x6b, 0xda, 0xb0, 0xde, 0xeb, 0x10, 0x42, - 0x67, 0x13, 0xe5, 0xa1, 0x94, 0x18, 0x4f, 0x07, 0x97, 0xf9, 0xdc, 0x9c, 0xc7, 0x26, 0x6c, 0x19, - 0xd3, 0x38, 0x1e, 0xa4, 0x06, 0x3e, 0x58, 0x5c, 0x66, 0x17, 0x45, 0xb8, 0x11, 0x27, 0x55, 0x6b, - 0x0b, 0x76, 0xf7, 0x05, 0x1b, 0x21, 0x3a, 0x7b, 0x18, 0x29, 0x7a, 0xf2, 0x34, 0x2f, 0xfe, 0xbe, - 0x80, 0x74, 0x6d, 0x0f, 0x59, 0xf2, 0x3b, 0x7d, 0xcd, 0xd1, 0x74, 0x2b, 0xb1, 0xa2, 0xe8, 0x0f, - 0xc2, 0x89, 0xf2, 0xbc, 0x17, 0x54, 0x51, 0x28, 0x46, 0x55, 0xa4, 0x22, 0x6d, 0xdf, 0xa8, 0xc5, - 0xf2, 0xf1, 0x18, 0x9f, 0xd3, 0xe9, 0xcf, 0xd2, 0xf9, 0x62, 0x86, 0xe0, 0xb2, 0xeb, 0x94, 0x78, - 0x41, 0xa2, 0xc1, 0x18, 0x71, 0x04, 0x1a, 0xba, 0xd3, 0x26, 0xc8, 0x0c, 0xa7, 0xa2, 0xe5, 0x81, - 0xb5, 0x76, 0x17, 0xeb, 0xb8, 0x27, 0x30, 0xfc, 0x6b, 0x15, 0x3f, 0x26, 0x2a, 0x74, 0xef, 0x8f, - 0xc3, 0x47, 0xbb, 0x49, 0x87, 0x71, 0x8d, 0xcf, 0xc7, 0xab, 0x68, 0x55, 0xc8, 0x86, 0x25, 0x62, - 0xac, 0x82, 0xa7, 0x30, 0x1d, 0x13, 0x91, 0xb8, 0x92, 0xfd, 0x37, 0xbb, 0x0c, 0x28, 0xb5, 0x4a, - 0xc6, 0xb3, 0xcb, 0x38, 0x42, 0xfd, 0x17, 0x1a, 0xa5, 0x1c, 0x6e, 0x34, 0x6b, 0xb8, 0x87, 0x81, - 0xb1, 0xd7, 0x8d, 0x55, 0xd5, 0xf8, 0xaf, 0x06, 0x4c, 0x45, 0x93, 0x02, 0x2c, 0x95, 0xc4, 0xd3, - 0x95, 0x96, 0xbe, 0x23, 0xc5, 0x29, 0x49, 0xc6, 0xf2, 0x5e, 0xd4, 0xee, 0x86, 0x77, 0x07, 0x99, - 0x85, 0x4f, 0x6a, 0xba, 0x69, 0xe9, 0xda, 0x36, 0xb2, 0xa6, 0x08, 0x98, 0x93, 0x99, 0x92, 0x52, - 0xcf, 0x5c, 0xe3, 0xcc, 0x95, 0xe9, 0x9b, 0xc5, 0xc3, 0x21, 0xea, 0xc0, 0xfe, 0x45, 0x3c, 0x28, - 0x72, 0xf0, 0xb5, 0xf6, 0x4a, 0x13, 0x9b, 0xf3, 0x4f, 0x69, 0x3a, 0xab, 0x85, 0xf7, 0x31, 0xbb, - 0xd9, 0xf8, 0x47, 0x71, 0xb2, 0x10, 0x02, 0xa6, 0xbd, 0x72, 0x25, 0x65, 0x56, 0xd0, 0xa7, 0xd2, - 0x13, 0x6a, 0xfc, 0x10, 0x6d, 0xe1, 0xe3, 0xae, 0xa4, 0x5e, 0x52, 0x1b, 0xf8, 0xea, 0x7f, 0x8d, - 0xa0, 0xb0, 0x07, 0x9e, 0xd5, 0xfd, 0x34, 0xb8, 0x5e, 0x17, 0x6f, 0x92, 0x6a, 0xb1, 0xb5, 0x70, - 0x1b, 0xec, 0x2a, 0xd5, 0x06, 0x54, 0x9c, 0xf5, 0xd8, 0x71, 0x68, 0x85, 0x60, 0xcd, 0xa3, 0xa4, - 0x35, 0xc7, 0xad, 0x74, 0x3f, 0x09, 0x5d, 0xd8, 0x33, 0xe1, 0x0c, 0x0d, 0x2e, 0xb5, 0x2e, 0xb2, - 0x58, 0x8d, 0xc0, 0x81, 0x61, 0x14, 0x15, 0x0b, 0x8e, 0x8d, 0x4a, 0x55, 0x55, 0x8c, 0x7f, 0x80, - 0xa5, 0xd2, 0xe1, 0x28, 0xc5, 0x7c, 0x6b, 0xf4, 0x1d, 0x55, 0x3a, 0xb8, 0x5a, 0xca, 0x06, 0x26, - 0xf4, 0x74, 0x4b, 0xc7, 0x6c, 0xf5, 0x32, 0x11, 0xf7, 0xa3, 0x6d, 0xdd, 0xd0, 0x58, 0xe7, 0xea, - 0x3a, 0xdc, 0xcc, 0x35, 0x03, 0x5d, 0x33, 0x8e, 0x57, 0x46, 0xc9, 0x8a, 0xb0, 0x10, 0x35, 0x3b, - 0x78, 0xd3, 0x7d, 0x8b, 0xac, 0xd2, 0x70, 0xbd, 0xa2, 0xae, 0xa0, 0x2b, 0x1d, 0xc5, 0x35, 0xec, - 0x9b, 0x98, 0xb4, 0x71, 0x8a, 0xc4, 0xd0, 0xa6, 0xb2, 0xe4, 0x67, 0x15, 0x96, 0xd5, 0x6a, 0x9a, - 0xe3, 0x43, 0x41, 0xc3, 0x01, 0x38, 0x4a, 0x80, 0xaf, 0x20, 0x50, 0xbf, 0xda, 0xb1, 0x1b, 0x6e, - 0xe7, 0x6a, 0x7b, 0x6e, 0x27, 0xc1, 0x9e, 0xd2, 0x81, 0xa6, 0x92, 0xc1, 0xfd, 0xe8, 0xe7, 0x50, - 0x0e, 0x70, 0x54, 0x63, 0x53, 0x77, 0xec, 0xa3, 0xec, 0x5a, 0x3e, 0xf0, 0x8e, 0xdf, 0x9e, 0x77, - 0xa2, 0xb6, 0xda, 0x0e, 0x32, 0xd8, 0xd6, 0x0f, 0x72, 0xf4, 0x75, 0x0b, 0x59, 0x61, 0xf4, 0x9f, - 0x18, 0xbc, 0x0c, 0xb6, 0xc1, 0xb9, 0x2a, 0xc6, 0xd9, 0xb4, 0xf2, 0xa8, 0x9f, 0x02, 0x62, 0x97, - 0x31, 0x0a, 0x98, 0x49, 0xd6, 0xa8, 0x00, 0x55, 0x5c, 0x55, 0x82, 0x7c, 0x41, 0xb2, 0x47, 0xed, - 0x70, 0xe5, 0xcb, 0x24, 0x8b, 0x14, 0x00, 0xbf, 0x34, 0x18, 0x26, 0xd9, 0xa4, 0xe1, 0xdc, 0xa9, - 0x37, 0x1f, 0x5b, 0x56, 0x61, 0x9e, 0x8d, 0x1c, 0xd5, 0xd6, 0x08, 0x14, 0x0b, 0xa2, 0x09, 0x93, - 0x26, 0x00, 0x2f, 0x37, 0xe3, 0x7a, 0xf5, 0xac, 0xc6, 0x56, 0x8c, 0x7f, 0x70, 0x76, 0x3d, 0x9c, - 0x30, 0x54, 0x1b, 0xba, 0x0b, 0x9f, 0xdc, 0x53, 0x48, 0x0a, 0xd5, 0x57, 0xe8, 0xe5, 0x68, 0x60, - 0x5a, 0x5c, 0x0c, 0xe6, 0x73, 0x64, 0xe0, 0xad, 0x98, 0xc6, 0x4b, 0xac, 0x11, 0xf0, 0xc3, 0x6a, - 0x5b, 0xba, 0x60, 0x4d, 0x00, 0x16, 0x5d, 0xb5, 0x95, 0xc9, 0xf6, 0x1c, 0x5c, 0x9c, 0x49, 0xe1, - 0xc3, 0x79, 0xac, 0x1f, 0xee, 0xfa, 0x14, 0x3b, 0x79, 0x82, 0x35, 0xe9, 0xfb, 0x5e, 0x7f, 0xda, - 0x7c, 0x3a, 0x3c, 0xf9, 0x33, 0xe9, 0xec, 0x12, 0xcb, 0xc5, 0x3c, 0x9f, 0x98, 0xf1, 0xc8, 0x10, - 0x46, 0x5a, 0x61, 0x99, 0x92, 0x81, 0x54, 0x82, 0xe9, 0x2d, 0x58, 0x29, 0xdb, 0x44, 0x34, 0x1d, - 0x1e, 0x1d, 0x6e, 0x03, 0xc2, 0x8b, 0xbc, 0x9a, 0x6c, 0x64, 0xb9, 0xad, 0x23, 0xba, 0xc8, 0x2b, - 0x48, 0x46, 0x99, 0x1b, 0x10, 0x4c, 0xa0, 0x36, 0x5f, 0xae, 0x1e, 0xeb, 0x9c, 0xb1, 0x32, 0xdc, - 0xf2, 0x47, 0x14, 0xf7, 0x4d, 0x83, 0x24, 0x6d, 0x65, 0xab, 0xa3, 0x18, 0xed, 0x3a, 0x58, 0xe2, - 0x67, 0x14, 0xf7, 0xcb, 0x9d, 0x6c, 0xac, 0x10, 0xc1, 0x9a, 0xbb, 0x5a, 0xbe, 0x45, 0x0c, 0x37, - 0xc6, 0x22, 0x99, 0x26, 0x38, 0x46, 0xa3, 0x40, 0xc0, 0xd5, 0x31, 0x15, 0xe2, 0xf6, 0x26, 0xd4, - 0x71, 0x24, 0x91, 0xa8, 0xc8, 0x84, 0x41, 0xc9, 0x47, 0xe5, 0xa9, 0x47, 0x0f, 0x04, 0xcf, 0x37, - 0xec, 0x60, 0xa4, 0x42, 0xa6, 0xbd, 0x0c, 0xc5, 0x65, 0x66, 0x35, 0x87, 0x9d, 0xee, 0x01, 0x12, - 0xce, 0xa9, 0x93, 0x8c, 0xe4, 0xb0, 0x03, 0x3b, 0x45, 0xae, 0xa6, 0xdf, 0x84, 0x9b, 0xad, 0xef, - 0x40, 0x2b, 0x12, 0xe6, 0x33, 0x6c, 0xe5, 0xe3, 0xeb, 0x91, 0x64, 0x6f, 0xdb, 0x91, 0xbb, 0xa0, - 0xbd, 0x6c, 0xc9, 0x7d, 0xd6, 0x5e, 0xba, 0x81, 0x20, 0xdf, 0x57, 0x41, 0x57, 0x2a, 0xe8, 0x4a, - 0x06, 0x35, 0xd5, 0x97, 0x94, 0xeb, 0x4b, 0xd4, 0xfa, 0x92, 0x8a, 0xfa, 0x12, 0xb5, 0xbe, 0xa4, - 0x54, 0xdf, 0x3d, 0x6f, 0x91, 0xf2, 0x0e, 0xf7, 0xd4, 0x4e, 0xf2, 0xf9, 0x18, 0x3d, 0xd4, 0xb5, - 0x51, 0x3a, 0x80, 0x6a, 0x3d, 0x89, 0xa5, 0x9e, 0x1d, 0x34, 0xb2, 0x35, 0x57, 0x3d, 0xed, 0x1b, - 0xab, 0x4c, 0x3c, 0x5e, 0xc4, 0xc3, 0x74, 0xaf, 0x4b, 0xde, 0xe1, 0x56, 0xad, 0x43, 0x2f, 0x37, - 0xfb, 0x5c, 0x2b, 0xf6, 0x71, 0x90, 0x52, 0xe9, 0xac, 0x5d, 0x04, 0x7a, 0x65, 0x6f, 0x3c, 0x3b, - 0x81, 0xbd, 0xdd, 0x8d, 0x64, 0xcb, 0x7d, 0xe4, 0x47, 0xba, 0x8d, 0x6c, 0xb9, 0x8b, 0xfc, 0x60, - 0x37, 0x91, 0xf7, 0x6c, 0x54, 0x98, 0xee, 0x36, 0x83, 0x20, 0xa2, 0x5b, 0x19, 0xde, 0x01, 0x83, - 0x38, 0x3c, 0x0d, 0x4b, 0xa2, 0x36, 0x1b, 0x6a, 0xb3, 0xa1, 0x36, 0x1b, 0x6a, 0xb3, 0xc1, 0x62, - 0x36, 0xfc, 0x2b, 0xcf, 0x27, 0xf7, 0x37, 0x1d, 0x5e, 0xba, 0x55, 0x70, 0x90, 0x00, 0x34, 0x95, - 0xa6, 0x03, 0x1f, 0xa7, 0x03, 0x98, 0x0f, 0xa5, 0xba, 0xd6, 0x5b, 0x03, 0x8a, 0xce, 0xff, 0x10, - 0x11, 0x5e, 0x6a, 0xd5, 0xbf, 0x56, 0xfd, 0x6b, 0xd5, 0xff, 0x65, 0xa9, 0xfe, 0x1b, 0x2a, 0xea, - 0x87, 0x51, 0xd1, 0x8f, 0x51, 0xea, 0x18, 0x0e, 0xd7, 0xab, 0xe7, 0x50, 0xd8, 0x94, 0xe2, 0xd9, - 0xf2, 0x06, 0xae, 0x22, 0x4b, 0x70, 0xae, 0xb8, 0xd1, 0xa0, 0x4b, 0xc2, 0xeb, 0x74, 0x5e, 0x64, - 0x48, 0xc2, 0xf6, 0x47, 0x70, 0x2e, 0x28, 0x9d, 0x16, 0x61, 0xa5, 0x44, 0x5a, 0x7f, 0x18, 0x14, - 0xf4, 0xc2, 0x29, 0x2a, 0x8f, 0x50, 0xa6, 0xca, 0x46, 0xf1, 0x09, 0x12, 0x9a, 0x6c, 0xeb, 0xc7, - 0x7c, 0x2b, 0x38, 0xb6, 0x5e, 0xfb, 0x45, 0x39, 0xf6, 0x7b, 0x4f, 0x90, 0x5b, 0x7d, 0xb3, 0x82, - 0x41, 0x54, 0x88, 0xb6, 0xcb, 0x8a, 0x8b, 0x57, 0x97, 0x6b, 0x2e, 0x5e, 0x5d, 0x6e, 0x70, 0xb9, - 0xe3, 0x72, 0x93, 0x1b, 0x40, 0xf7, 0x3d, 0x80, 0xb3, 0xf9, 0x49, 0x8a, 0x4d, 0x74, 0x6c, 0x3c, - 0x1e, 0x72, 0x2b, 0x20, 0xc1, 0x14, 0x75, 0x04, 0x25, 0xfb, 0x6c, 0x90, 0x8c, 0xf7, 0xa0, 0x48, - 0xc1, 0x2d, 0x86, 0x41, 0x2e, 0x7c, 0x69, 0xbb, 0x83, 0x75, 0xc9, 0xee, 0x60, 0x5d, 0x56, 0xdd, - 0xc1, 0x62, 0xc5, 0xb7, 0x19, 0x81, 0xf2, 0xc9, 0x8e, 0x07, 0x3c, 0xc4, 0x83, 0x67, 0x2d, 0x99, - 0x21, 0x91, 0x34, 0x55, 0x90, 0xd4, 0xbe, 0x0d, 0x71, 0x47, 0xc1, 0x8d, 0x54, 0x70, 0x1d, 0xc0, - 0x87, 0x1b, 0x52, 0xfa, 0x59, 0x22, 0xf9, 0x64, 0x6e, 0x07, 0x12, 0xee, 0x93, 0xe0, 0x68, 0x2f, - 0xf1, 0x75, 0xad, 0xb5, 0x4a, 0x60, 0x81, 0x0f, 0x46, 0x76, 0x1a, 0x3f, 0xd3, 0xae, 0x69, 0xfc, - 0x84, 0xc7, 0x07, 0x54, 0x43, 0xe9, 0xbe, 0xea, 0x35, 0x0e, 0xd2, 0x4b, 0xce, 0x97, 0xcd, 0xbd, - 0x4e, 0xbb, 0xd7, 0xed, 0xbd, 0x6a, 0x92, 0xcf, 0x11, 0xfa, 0x7c, 0xdd, 0x3d, 0xed, 0xd1, 0xcf, - 0x04, 0x7d, 0x76, 0x5e, 0xf7, 0x7a, 0x21, 0x9d, 0xde, 0xea, 0x11, 0x4d, 0x7e, 0xea, 0x97, 0x30, - 0xea, 0x24, 0x01, 0x19, 0x83, 0x65, 0x12, 0x87, 0x3b, 0xf6, 0xc5, 0x3f, 0x18, 0x14, 0xa3, 0x69, - 0x46, 0x32, 0x30, 0xf7, 0xc7, 0xcc, 0xe1, 0x28, 0x6c, 0x3e, 0x45, 0x7d, 0x47, 0x8e, 0x2f, 0xc3, - 0xe5, 0x24, 0xd2, 0xfe, 0xa0, 0xfb, 0xea, 0xf8, 0xcd, 0x09, 0x84, 0xc6, 0xe5, 0x12, 0xd1, 0x15, - 0xd5, 0xcb, 0x25, 0x41, 0xa6, 0x83, 0x24, 0x6e, 0xe9, 0xd2, 0xd1, 0x85, 0x78, 0xaf, 0x24, 0x4b, - 0x74, 0x42, 0xb3, 0x0c, 0x05, 0x18, 0x7d, 0x09, 0x23, 0x09, 0x82, 0x41, 0x87, 0x61, 0xd5, 0xf8, - 0x21, 0x82, 0x9b, 0x2c, 0x8d, 0xff, 0x48, 0x10, 0x5e, 0xc4, 0x6a, 0x2c, 0x09, 0x5c, 0xb7, 0xe9, - 0x18, 0x52, 0x3d, 0xd2, 0x3c, 0xa7, 0x68, 0x62, 0x36, 0xf0, 0x66, 0xf9, 0x8d, 0x43, 0xc6, 0x2b, - 0xe8, 0x9e, 0x76, 0xe8, 0xb9, 0x57, 0x1f, 0x5a, 0x82, 0x06, 0x03, 0x7d, 0xbc, 0x7d, 0xe3, 0x9b, - 0x5b, 0x04, 0xb4, 0xe2, 0x60, 0xc4, 0xf4, 0xb0, 0x20, 0xea, 0x58, 0x82, 0x9a, 0x8d, 0xad, 0x4c, - 0xa5, 0xbc, 0xd6, 0xb4, 0xe7, 0x14, 0x3d, 0xd4, 0x75, 0x2c, 0x63, 0xa7, 0xd9, 0x2e, 0x1d, 0x58, - 0x8a, 0x78, 0xa4, 0x22, 0x1e, 0xd9, 0x11, 0x8f, 0xaa, 0x11, 0x8f, 0x34, 0xc4, 0x89, 0x8a, 0x38, - 0xb1, 0x23, 0x4e, 0xaa, 0x11, 0x27, 0x2a, 0x62, 0x4f, 0xd2, 0x1d, 0xd5, 0xa3, 0x1d, 0x62, 0xa9, - 0xaa, 0xb8, 0x5f, 0x2c, 0x2d, 0x66, 0x4f, 0xd6, 0x43, 0xa7, 0xad, 0x60, 0xf4, 0x58, 0xb1, 0xd1, - 0x7f, 0x77, 0x4f, 0xc5, 0x60, 0x8f, 0x2a, 0xcb, 0x3d, 0x74, 0x8e, 0xcd, 0xf7, 0x72, 0x60, 0xc8, - 0x69, 0xbd, 0xa3, 0x07, 0x50, 0x50, 0x94, 0x50, 0x7f, 0xb0, 0xec, 0x99, 0xa2, 0x9d, 0x18, 0xf4, - 0x96, 0x12, 0xd6, 0x87, 0x55, 0x5b, 0x64, 0xb2, 0x2e, 0xd5, 0xeb, 0xe2, 0x52, 0x51, 0xb3, 0x3e, - 0x63, 0xc0, 0x5d, 0xbb, 0x46, 0x9f, 0xa0, 0x6b, 0x14, 0x73, 0xe9, 0x56, 0xaa, 0x9a, 0xc6, 0x93, - 0xdb, 0x69, 0x6a, 0xdb, 0x6b, 0x67, 0x25, 0x4e, 0x8b, 0x76, 0xe1, 0xa7, 0xda, 0xf7, 0xfa, 0x7c, - 0x8e, 0x6c, 0x54, 0xa9, 0xbc, 0xf4, 0x7e, 0xcd, 0x70, 0x94, 0xf2, 0x1b, 0x6d, 0x32, 0xc8, 0xcb, - 0x77, 0xda, 0x3e, 0x84, 0xce, 0x4f, 0x72, 0x6e, 0x23, 0x8b, 0x6e, 0xbf, 0xd6, 0x26, 0xb8, 0xe5, - 0x67, 0x66, 0xc0, 0xe5, 0xc3, 0x70, 0x47, 0xb0, 0xa1, 0xd9, 0xf8, 0xeb, 0x5f, 0x1b, 0x4c, 0xb3, - 0x8d, 0x40, 0xb1, 0x95, 0x12, 0x6e, 0x11, 0x04, 0x51, 0xba, 0x8f, 0x7e, 0x26, 0xeb, 0xf2, 0xd1, - 0x4f, 0xe4, 0xad, 0x0c, 0x79, 0x3c, 0xfd, 0x5b, 0x4f, 0xd3, 0x40, 0x0e, 0x72, 0x7e, 0xe5, 0x30, - 0xa7, 0x57, 0x68, 0x2d, 0x4c, 0x75, 0xb0, 0x18, 0x3f, 0x1b, 0x5a, 0x2f, 0xc7, 0x0f, 0x61, 0xbd, - 0xc0, 0x85, 0xce, 0x97, 0x62, 0xb2, 0xb0, 0x6e, 0x6d, 0xcf, 0x47, 0xdc, 0x0a, 0xb0, 0x69, 0xff, - 0x18, 0x33, 0x0e, 0xbb, 0x07, 0x4d, 0xf1, 0xe9, 0xaf, 0x63, 0xb7, 0x64, 0x07, 0xd0, 0x3c, 0x5c, - 0x8b, 0x34, 0x74, 0x9a, 0x39, 0x70, 0xe8, 0x9d, 0x84, 0x5d, 0x74, 0xd1, 0xfd, 0x2a, 0x95, 0x87, - 0xd2, 0x0c, 0x5f, 0xf6, 0xd6, 0x05, 0x1e, 0xa8, 0xf5, 0x1a, 0x96, 0x75, 0x14, 0x36, 0xd3, 0x96, - 0xea, 0x0d, 0x8f, 0x7a, 0xc3, 0x63, 0xe7, 0x0d, 0x0f, 0xfa, 0xf8, 0xd2, 0x92, 0x3e, 0x87, 0x64, - 0xdf, 0xf3, 0x28, 0x6d, 0x8d, 0xd0, 0x12, 0x9e, 0x26, 0xaf, 0xf6, 0xeb, 0x0f, 0x19, 0x66, 0x13, - 0x58, 0x29, 0xf2, 0x69, 0xb8, 0x59, 0x68, 0x0a, 0xda, 0xec, 0x87, 0x88, 0xf1, 0x23, 0xc7, 0x65, - 0x20, 0x11, 0xab, 0x66, 0x8b, 0x6c, 0x8c, 0x60, 0x69, 0x90, 0x58, 0x4e, 0x19, 0xbd, 0xf9, 0x8d, - 0xf5, 0x60, 0x47, 0xca, 0x40, 0x6a, 0x23, 0x28, 0x6c, 0x81, 0x92, 0xc4, 0xce, 0xbe, 0x2a, 0xa4, - 0xd2, 0xcb, 0xcc, 0xae, 0x87, 0x91, 0x34, 0x69, 0x45, 0x15, 0x4f, 0x28, 0x69, 0xcf, 0xc4, 0xe1, - 0x2e, 0xdd, 0x66, 0x61, 0xb2, 0x77, 0xb3, 0xbe, 0xe6, 0xdd, 0xe6, 0x48, 0x52, 0x94, 0xde, 0x52, - 0x89, 0x97, 0x4a, 0x3a, 0x15, 0x9a, 0xc4, 0x30, 0xa4, 0xfd, 0x81, 0xb4, 0xb0, 0x8f, 0xe3, 0xf4, - 0x1a, 0x14, 0xa7, 0xa9, 0x43, 0x83, 0x38, 0x23, 0x3e, 0xf5, 0xa9, 0x64, 0xcc, 0xe2, 0x05, 0xbb, - 0x2f, 0x8d, 0x63, 0xe8, 0x96, 0xf9, 0x95, 0x4c, 0x32, 0x0f, 0xc7, 0x7d, 0x0b, 0x71, 0x60, 0xc7, - 0x38, 0x82, 0xd8, 0x64, 0xec, 0x3d, 0x2a, 0xd0, 0xa7, 0x20, 0xd9, 0x67, 0x15, 0xbb, 0x01, 0x52, - 0x4e, 0x91, 0x26, 0x51, 0x7a, 0x88, 0xa5, 0x7a, 0xe0, 0xb0, 0x62, 0x2a, 0x91, 0x0a, 0xfd, 0xd3, - 0xc4, 0x8a, 0x6d, 0x8b, 0x16, 0x44, 0x9a, 0x37, 0xff, 0xb9, 0xc2, 0x9a, 0x1a, 0xd3, 0xf2, 0x12, - 0x6b, 0xd9, 0x8e, 0xad, 0xc8, 0xc0, 0x5a, 0x64, 0x6d, 0x6d, 0xc3, 0x4d, 0x28, 0xed, 0x28, 0x45, - 0x52, 0x43, 0x11, 0x39, 0xff, 0x62, 0x03, 0x6a, 0x54, 0x8c, 0xa3, 0x4d, 0x88, 0x30, 0xd3, 0x7f, - 0x59, 0xd1, 0x5b, 0xe6, 0x12, 0xd9, 0x06, 0xe4, 0x99, 0x4b, 0xa6, 0xcb, 0x78, 0x34, 0x4a, 0x71, - 0x10, 0x0d, 0x98, 0xdd, 0xc0, 0xae, 0x8d, 0xbf, 0x35, 0x7a, 0xd8, 0x5e, 0xea, 0xb4, 0x4f, 0x90, - 0xb1, 0xc4, 0x13, 0x4f, 0xda, 0xa7, 0x38, 0xf1, 0xf8, 0x14, 0xa5, 0xa2, 0x3f, 0xd4, 0x2a, 0x4c, - 0xe7, 0xd9, 0x35, 0x35, 0x06, 0x07, 0xcd, 0x0b, 0xf4, 0x5f, 0xe6, 0xb6, 0x9c, 0xb8, 0x39, 0x44, - 0xff, 0x8d, 0x5c, 0xdf, 0x19, 0x35, 0x2f, 0xd1, 0x7f, 0x24, 0x2d, 0x41, 0xff, 0x0d, 0x5c, 0x37, - 0x68, 0x80, 0x1a, 0x8c, 0xea, 0xf0, 0x1d, 0x82, 0xbc, 0xc5, 0xa7, 0x0a, 0x04, 0x8d, 0x10, 0x04, - 0x35, 0xbb, 0x6f, 0xdb, 0xbd, 0xd3, 0x57, 0xbd, 0x16, 0x01, 0xd3, 0xe3, 0x6a, 0x61, 0xd5, 0x17, - 0x0b, 0x22, 0x4c, 0x44, 0x7b, 0x09, 0xe7, 0xe0, 0x21, 0x70, 0x8b, 0x4f, 0xbe, 0x57, 0xfc, 0x9b, - 0x05, 0x53, 0x13, 0xd6, 0xc3, 0x1e, 0x44, 0xf2, 0x23, 0x49, 0x5e, 0x22, 0x28, 0x4d, 0x72, 0xb2, - 0x3a, 0x98, 0xda, 0x7a, 0x69, 0x37, 0x46, 0x15, 0xc6, 0x53, 0xe9, 0x7a, 0x00, 0x4b, 0xc7, 0x9a, - 0x96, 0xee, 0x31, 0xbf, 0x8c, 0x87, 0xf9, 0x8d, 0x9e, 0x0a, 0x02, 0xd8, 0x08, 0x1e, 0x0f, 0x20, - 0xbc, 0x8b, 0x08, 0x51, 0xf9, 0xf5, 0xac, 0x71, 0xdc, 0xee, 0x9e, 0x74, 0x4f, 0xdf, 0xf6, 0x5e, - 0x9d, 0x1e, 0x9f, 0xbe, 0x79, 0xfb, 0xfa, 0xed, 0xf1, 0x91, 0x21, 0x5a, 0x10, 0x58, 0xa3, 0xd6, - 0x40, 0x6d, 0x32, 0x47, 0x3a, 0xe4, 0xa5, 0x3f, 0x64, 0x25, 0x41, 0xb0, 0x46, 0x57, 0x8e, 0xd6, - 0x88, 0x57, 0x8f, 0x4f, 0x24, 0xba, 0xce, 0x00, 0x19, 0xbe, 0x60, 0xab, 0xc5, 0xd3, 0x85, 0xe3, - 0x88, 0x26, 0xff, 0xd1, 0xf9, 0xde, 0x92, 0xbe, 0xba, 0xdf, 0x5d, 0x0f, 0x1b, 0x7e, 0x34, 0x64, - 0x9d, 0xdb, 0x54, 0x33, 0x39, 0xe6, 0x71, 0x3e, 0x4b, 0x23, 0x24, 0x6c, 0xa7, 0x08, 0xba, 0x77, - 0xea, 0xd1, 0x63, 0xd2, 0x98, 0x22, 0x37, 0x90, 0xea, 0xe5, 0x67, 0xa4, 0x71, 0x1c, 0x9b, 0x88, - 0xf2, 0x2f, 0x31, 0x39, 0xd1, 0x24, 0xc3, 0x18, 0x28, 0x13, 0xfb, 0x2d, 0x9a, 0xeb, 0xa2, 0x69, - 0xf7, 0xf5, 0x0c, 0xdf, 0xf5, 0x60, 0x79, 0xdc, 0xb5, 0x01, 0x4e, 0x89, 0x9f, 0xe4, 0x36, 0x72, - 0xd3, 0x31, 0xa2, 0xe3, 0xc5, 0xdd, 0x57, 0xf1, 0x6d, 0x36, 0xb9, 0xc2, 0x81, 0x8c, 0x49, 0xfa, - 0xaa, 0xf9, 0xf5, 0x2c, 0x94, 0xf4, 0xf0, 0x6e, 0xfb, 0xcd, 0xeb, 0xd3, 0x96, 0x08, 0x5a, 0xd8, - 0x6d, 0xbf, 0x3e, 0xa5, 0xf9, 0x68, 0x92, 0x92, 0x87, 0x4a, 0x21, 0x38, 0x12, 0x2f, 0x45, 0xa2, - 0x56, 0x9e, 0xe3, 0xa6, 0xf3, 0x62, 0xb8, 0x29, 0x20, 0x2f, 0xd0, 0x38, 0xa0, 0xc9, 0x8e, 0x9d, - 0xac, 0xb8, 0x77, 0xc8, 0x48, 0x04, 0x22, 0x95, 0x21, 0x25, 0x19, 0xae, 0xc7, 0xbe, 0x21, 0x02, - 0x30, 0x14, 0x60, 0x64, 0x63, 0x86, 0xc1, 0xe3, 0x25, 0x55, 0xc8, 0xf6, 0x50, 0x71, 0x26, 0xdd, - 0x6b, 0xc5, 0x03, 0x45, 0x52, 0x20, 0xdc, 0x19, 0xf9, 0x45, 0x0d, 0x71, 0xd1, 0xac, 0x5e, 0xd9, - 0x17, 0x01, 0x2c, 0x4c, 0xc2, 0xc3, 0x80, 0xf2, 0xe9, 0x90, 0xb1, 0x69, 0xd2, 0xfe, 0x72, 0x83, - 0xaf, 0x67, 0x58, 0x96, 0x08, 0x6e, 0x22, 0x01, 0xa7, 0xa1, 0x10, 0xad, 0x99, 0x04, 0x27, 0x21, - 0x33, 0xc1, 0x97, 0x98, 0xdf, 0xc7, 0x40, 0x48, 0x6d, 0x41, 0x9c, 0x2c, 0x13, 0x5f, 0x4d, 0x94, - 0x22, 0x87, 0xe4, 0x16, 0x12, 0x56, 0x94, 0x2a, 0x6e, 0xc7, 0x6e, 0x53, 0xfa, 0xbc, 0x9f, 0x70, - 0xe3, 0x53, 0x12, 0x53, 0x8a, 0x43, 0x32, 0x9f, 0xbe, 0x79, 0x7d, 0xdc, 0xe9, 0xbe, 0x3a, 0x32, - 0x49, 0x38, 0xea, 0x97, 0x2c, 0x6f, 0x3e, 0xe1, 0x98, 0xfd, 0xd5, 0xca, 0x6b, 0x39, 0xca, 0xad, - 0xfc, 0xd8, 0x17, 0x95, 0x36, 0xfa, 0xeb, 0x84, 0x9b, 0xbe, 0x19, 0xa6, 0xc9, 0x37, 0x4a, 0xa6, - 0x96, 0x8a, 0xa3, 0xf9, 0xf4, 0x4a, 0xb1, 0x9e, 0x46, 0xf1, 0x64, 0x12, 0xb3, 0xc0, 0x3a, 0x86, - 0xd0, 0xa5, 0xa0, 0xdb, 0x4f, 0xd3, 0x45, 0x7e, 0x11, 0xcf, 0x9f, 0x5d, 0xe0, 0x98, 0xfa, 0x71, - 0xae, 0x1d, 0xce, 0x95, 0x8e, 0xe2, 0x59, 0xc5, 0xe3, 0x56, 0x2c, 0xb7, 0x2a, 0xce, 0x33, 0x83, - 0x59, 0x17, 0xe9, 0x59, 0x86, 0xab, 0xea, 0x32, 0xfc, 0x96, 0xac, 0xa5, 0x49, 0x38, 0xcf, 0xde, - 0x61, 0x38, 0xbb, 0xba, 0x53, 0x38, 0x48, 0x05, 0x09, 0x15, 0x1d, 0xb2, 0xb6, 0x37, 0x36, 0xea, - 0x0a, 0xb5, 0x1f, 0x9e, 0x5e, 0x90, 0xa1, 0x97, 0xfe, 0xec, 0x14, 0x67, 0x7a, 0x75, 0x60, 0x58, - 0xb2, 0x81, 0x10, 0x96, 0xe5, 0xcb, 0x73, 0xc2, 0x12, 0x84, 0x5b, 0xa0, 0xd9, 0x92, 0xe7, 0xe5, - 0x16, 0x91, 0xf7, 0x9d, 0x0d, 0x3d, 0x82, 0x33, 0x7c, 0x31, 0x17, 0x8c, 0xfd, 0x41, 0x4b, 0x6f, - 0xc3, 0xee, 0x6a, 0x1b, 0x6c, 0xfd, 0xc0, 0x3a, 0xa1, 0xba, 0x07, 0x58, 0xf3, 0xd5, 0xb6, 0x93, - 0xbc, 0x77, 0x9f, 0x7f, 0x3f, 0x7b, 0xf7, 0xeb, 0xd9, 0xbb, 0xf3, 0xb3, 0xcf, 0xbf, 0xd8, 0x9f, - 0xdb, 0x01, 0x25, 0x5f, 0x0d, 0x28, 0x1a, 0xc5, 0xec, 0x91, 0x88, 0x56, 0xb7, 0xf7, 0x06, 0x65, - 0x53, 0xed, 0xa9, 0xcf, 0xb7, 0x08, 0x22, 0x12, 0xca, 0x9c, 0x3c, 0x01, 0x81, 0xc3, 0x54, 0x62, - 0x6f, 0x81, 0xb4, 0xa4, 0x45, 0x3c, 0x7a, 0x38, 0x01, 0x02, 0x7f, 0x81, 0xdb, 0xa4, 0x5f, 0x37, - 0xde, 0xab, 0x13, 0x1a, 0x01, 0x5d, 0xf8, 0x07, 0xa5, 0x68, 0xe3, 0x74, 0xa1, 0x25, 0x6f, 0x55, - 0x29, 0xb3, 0x9e, 0x6f, 0x76, 0x0a, 0x28, 0x1c, 0x30, 0x1d, 0x2c, 0x0f, 0xbe, 0x9b, 0xc6, 0x7e, - 0xb0, 0x08, 0xeb, 0x21, 0x5b, 0xb9, 0x69, 0x4e, 0xc8, 0xd9, 0x86, 0xfd, 0xc0, 0x9d, 0x40, 0x0d, - 0xe7, 0x78, 0x7c, 0x41, 0x32, 0x45, 0x0e, 0x1d, 0x64, 0xc0, 0xe5, 0xd1, 0x71, 0x66, 0x1a, 0x32, - 0xa4, 0x33, 0x2c, 0x4d, 0x87, 0xfd, 0xe2, 0x3a, 0xb5, 0x3c, 0x04, 0xd8, 0xe2, 0xe5, 0x8a, 0x62, - 0x7e, 0x55, 0x28, 0x65, 0x79, 0xbd, 0x5e, 0x19, 0x4b, 0x0f, 0xbf, 0x65, 0x01, 0x4a, 0x56, 0xd3, - 0x11, 0xf4, 0x51, 0x3d, 0x9f, 0x3c, 0x74, 0x21, 0x57, 0xa4, 0xf5, 0x19, 0xbe, 0x6c, 0x49, 0xaa, - 0xf3, 0x44, 0x50, 0x4d, 0xa2, 0x98, 0x68, 0xe2, 0x12, 0x2b, 0xe5, 0xd2, 0x38, 0x6b, 0xf9, 0x05, - 0x09, 0xb3, 0x8d, 0x94, 0xdb, 0x2b, 0xad, 0x0e, 0xd2, 0x2b, 0xbd, 0x88, 0xfc, 0xd5, 0xab, 0xf1, - 0xf8, 0x88, 0x20, 0xe5, 0x0d, 0x22, 0x5c, 0xb7, 0xae, 0xfc, 0x2b, 0x78, 0xfa, 0x5d, 0x7b, 0xef, - 0x8b, 0xf1, 0x9f, 0x6a, 0xa7, 0x02, 0xfd, 0x01, 0x55, 0xec, 0xd8, 0xf6, 0x5f, 0xd5, 0x71, 0x4c, - 0xf1, 0x4c, 0x7a, 0x4f, 0x29, 0x86, 0xfb, 0xaf, 0x54, 0x99, 0x31, 0x10, 0x25, 0x7e, 0x70, 0x0b, - 0x75, 0x99, 0x1c, 0x25, 0x94, 0xdd, 0x57, 0x25, 0xb7, 0x4e, 0xad, 0xa5, 0x4c, 0x45, 0x4a, 0x95, - 0x96, 0xae, 0xe0, 0x7b, 0x25, 0x1d, 0x15, 0x8c, 0x72, 0x49, 0x85, 0x8c, 0xd6, 0x13, 0x18, 0xac, - 0xa1, 0x26, 0x64, 0xaa, 0x2a, 0xf1, 0xb4, 0x10, 0x8e, 0xf0, 0x31, 0x0b, 0x2b, 0x77, 0x7c, 0xb6, - 0x54, 0x8a, 0x35, 0xf5, 0xd7, 0xac, 0x2a, 0x9b, 0x94, 0xe2, 0xc7, 0x79, 0x8b, 0xeb, 0x19, 0xbd, - 0x91, 0xb5, 0xe7, 0x88, 0x79, 0x87, 0x79, 0x79, 0xc9, 0x74, 0xe1, 0x9b, 0x30, 0x87, 0xeb, 0x31, - 0xe6, 0x69, 0x2f, 0x42, 0x41, 0x42, 0x2f, 0xc2, 0xef, 0x06, 0x35, 0x6d, 0x0b, 0x16, 0x14, 0x93, - 0xd9, 0x48, 0xbe, 0x28, 0x4e, 0x6c, 0xe1, 0x09, 0xea, 0x31, 0xa8, 0xb0, 0xe5, 0xf0, 0x0a, 0x8a, - 0x16, 0x46, 0xed, 0xfa, 0xa2, 0x4a, 0x1c, 0x7a, 0xd5, 0x0d, 0x70, 0xba, 0xc5, 0x60, 0xde, 0x43, - 0x68, 0x2a, 0x6e, 0x19, 0xff, 0xf6, 0xee, 0x9f, 0xfd, 0x5f, 0xcf, 0x3e, 0x7f, 0xec, 0x7f, 0x38, - 0x3b, 0xff, 0xfd, 0xdd, 0xe7, 0xf7, 0x1f, 0x1b, 0xc7, 0xbd, 0xd7, 0xaf, 0x5e, 0xb7, 0x3b, 0x4f, - 0xc6, 0x76, 0xde, 0xf4, 0x41, 0x6d, 0x8b, 0x8d, 0xbd, 0x7f, 0xdb, 0x19, 0x89, 0xd5, 0xd1, 0x3c, - 0x5d, 0x58, 0x03, 0x85, 0xd4, 0x56, 0x6a, 0x6d, 0xa5, 0xbe, 0x54, 0x2b, 0xb5, 0xb6, 0x1b, 0x6b, - 0xbb, 0xf1, 0x85, 0xd9, 0x8d, 0x4c, 0x9c, 0x6f, 0x6a, 0x3a, 0x06, 0xa5, 0x25, 0xb4, 0x36, 0x26, - 0x6b, 0x63, 0xb2, 0x36, 0x26, 0x9f, 0x95, 0x31, 0xb9, 0xf1, 0xde, 0xf2, 0xce, 0x66, 0xe6, 0x3d, - 0xf5, 0xc7, 0x17, 0x63, 0x2a, 0xd6, 0xe6, 0x9e, 0xc1, 0xdc, 0xb3, 0xbc, 0xc9, 0x46, 0x0f, 0x04, - 0x00, 0x67, 0xab, 0xac, 0x62, 0x7f, 0x9b, 0x6d, 0x3f, 0x56, 0x62, 0xd9, 0x06, 0x64, 0x39, 0xca, - 0xc2, 0xd7, 0x3f, 0x7f, 0xff, 0xee, 0xd7, 0x8f, 0x20, 0xda, 0x1f, 0xdc, 0x46, 0x5c, 0xb3, 0x83, - 0x7a, 0x3f, 0x13, 0xf2, 0x3e, 0x36, 0xa2, 0xd8, 0x3d, 0xdd, 0xc1, 0xc9, 0x54, 0x9b, 0x86, 0x3b, - 0x98, 0x86, 0x4f, 0xc0, 0x12, 0x7b, 0x72, 0xd6, 0xe9, 0x81, 0x4d, 0xc3, 0xfa, 0x42, 0xe8, 0x13, - 0xba, 0x10, 0xfa, 0xc2, 0x4d, 0xf0, 0xc7, 0x35, 0x79, 0x9f, 0x9a, 0x03, 0xe0, 0x50, 0x26, 0xf8, - 0x9f, 0xe1, 0x8a, 0xee, 0x23, 0xb9, 0x19, 0x18, 0xdc, 0x76, 0x9b, 0xd4, 0x06, 0x45, 0xab, 0xf6, - 0x33, 0xd4, 0x7e, 0x86, 0xda, 0xcf, 0x70, 0x28, 0x3f, 0x83, 0x98, 0xae, 0xb1, 0xac, 0xf4, 0x3f, - 0xac, 0xff, 0x61, 0x9b, 0xeb, 0xa8, 0x8a, 0xac, 0xd3, 0xe3, 0xbc, 0xac, 0x75, 0x64, 0x1c, 0xce, - 0xc8, 0x79, 0x29, 0xb7, 0x41, 0xff, 0x0c, 0xde, 0x99, 0x27, 0x74, 0xad, 0xf4, 0x11, 0xbd, 0x47, - 0x75, 0xdc, 0xe4, 0x97, 0xf5, 0x9a, 0x8a, 0xdc, 0xd5, 0x72, 0xfb, 0xd4, 0x36, 0xb7, 0x97, 0x1e, - 0xef, 0xb5, 0x40, 0x8d, 0x40, 0xac, 0x01, 0xae, 0x4c, 0x38, 0x13, 0x03, 0x4e, 0x44, 0xb5, 0x47, - 0xfb, 0xbb, 0x0a, 0x23, 0x50, 0x1c, 0x3e, 0x33, 0x97, 0x25, 0xc1, 0xb6, 0x44, 0x5d, 0x49, 0xae, - 0x37, 0xf3, 0x25, 0x22, 0x50, 0x7b, 0xba, 0xbd, 0x54, 0xe1, 0x93, 0x6a, 0xf8, 0x44, 0x85, 0x5f, - 0xf5, 0xf1, 0xcb, 0xd2, 0x4d, 0xde, 0x17, 0x48, 0x0f, 0xa2, 0x97, 0xe5, 0x38, 0x7d, 0x98, 0x26, - 0x47, 0xab, 0x75, 0xd5, 0xec, 0xd1, 0xd7, 0x64, 0x5c, 0x9d, 0xa0, 0x95, 0x40, 0x9e, 0xec, 0x82, - 0x3c, 0xb1, 0x23, 0x4f, 0x04, 0x6b, 0xe0, 0xf8, 0x27, 0xdb, 0x5f, 0x36, 0xc7, 0x3c, 0x84, 0x7a, - 0xd5, 0x47, 0x2d, 0x77, 0x25, 0x5c, 0xc9, 0x0e, 0x57, 0xc5, 0x29, 0xae, 0x04, 0xe1, 0x4a, 0x5c, - 0xc5, 0xc9, 0x0c, 0xb8, 0x8c, 0xd7, 0xc5, 0x51, 0xa5, 0xbe, 0x39, 0x23, 0x71, 0xcd, 0xd7, 0xc4, - 0x89, 0xdb, 0xf9, 0x01, 0x9f, 0xb5, 0x78, 0x42, 0x4e, 0xe7, 0x07, 0x3d, 0x98, 0x44, 0x07, 0x89, - 0x3c, 0xeb, 0x1d, 0x97, 0x54, 0x3b, 0xd4, 0xeb, 0xfd, 0x95, 0x94, 0x6e, 0x2a, 0x95, 0x58, 0x4a, - 0x25, 0xfb, 0x38, 0x04, 0x45, 0x53, 0xa1, 0x86, 0xd8, 0x94, 0x98, 0xec, 0x7e, 0xaa, 0xb2, 0xbe, - 0x4a, 0x54, 0x1f, 0xd2, 0xaa, 0x0f, 0x69, 0xd9, 0x3c, 0xf1, 0x6c, 0xc8, 0x0c, 0x6e, 0xba, 0x87, - 0xf0, 0xd2, 0x63, 0x5f, 0x51, 0x05, 0x95, 0x22, 0xdf, 0xda, 0x57, 0x02, 0xc4, 0xc4, 0x5f, 0x52, - 0x6e, 0x55, 0x6f, 0xaa, 0x60, 0xf5, 0xbd, 0xa8, 0xfa, 0x7c, 0xdb, 0x13, 0x39, 0xdf, 0x76, 0x38, - 0x77, 0xba, 0x34, 0x15, 0xc5, 0x4f, 0x43, 0xcd, 0x22, 0xd3, 0x57, 0xe7, 0xa7, 0xa9, 0xc9, 0x32, - 0x26, 0xd3, 0x24, 0xab, 0xbd, 0xde, 0xb5, 0xd7, 0xbb, 0xf6, 0x7a, 0xd7, 0x5e, 0xef, 0xcd, 0xbc, - 0xde, 0x58, 0xfd, 0x8f, 0xa8, 0x1c, 0xe2, 0x73, 0xd7, 0xd3, 0xcd, 0x99, 0xf6, 0x32, 0x90, 0x84, - 0x14, 0x1f, 0xbc, 0x12, 0xd8, 0xaa, 0xc9, 0x2d, 0x1d, 0x97, 0x62, 0x4f, 0xd6, 0x62, 0x4f, 0x36, - 0xc3, 0x9e, 0x48, 0xd8, 0x21, 0x34, 0xda, 0xbe, 0x4f, 0x06, 0xea, 0xb6, 0xd8, 0x62, 0x78, 0x81, - 0xbb, 0xbf, 0x1c, 0x3b, 0x0b, 0x99, 0x94, 0x4f, 0xcc, 0x02, 0xab, 0xef, 0xb5, 0x55, 0xeb, 0x00, - 0x87, 0xd3, 0xc1, 0xf7, 0xab, 0x40, 0x3f, 0xc7, 0xab, 0x7a, 0x46, 0x0c, 0x15, 0xe7, 0x1e, 0xca, - 0x3d, 0x5e, 0xd9, 0xe1, 0x5b, 0xab, 0x4a, 0xcf, 0xcc, 0x25, 0x8b, 0xc4, 0x10, 0xe4, 0xf6, 0x63, - 0x63, 0x6c, 0x29, 0x2c, 0x4c, 0xdc, 0x76, 0xac, 0x01, 0x27, 0x56, 0xe0, 0xa4, 0x04, 0x8c, 0xbd, - 0x87, 0xbc, 0x16, 0x9f, 0xa3, 0xf0, 0xb1, 0xa4, 0x73, 0x43, 0xe2, 0x0b, 0x8c, 0x94, 0x97, 0x72, - 0x4f, 0x5b, 0x42, 0x3e, 0xca, 0xb2, 0x9c, 0x44, 0x33, 0x36, 0xe5, 0x50, 0xb4, 0xfb, 0x3f, 0xe4, - 0xba, 0xd1, 0xb9, 0xd3, 0x62, 0x8c, 0xd6, 0x9a, 0xb9, 0xfc, 0x4c, 0x06, 0x97, 0xfa, 0x78, 0xed, - 0xb1, 0x64, 0x26, 0x57, 0x17, 0x17, 0xe9, 0xbc, 0xea, 0x09, 0xdd, 0x2d, 0x83, 0xaa, 0x75, 0x0c, - 0x69, 0xdd, 0x5d, 0x23, 0xad, 0x75, 0x22, 0xc7, 0x31, 0x47, 0xa5, 0x6c, 0x81, 0x1e, 0x1d, 0xa8, - 0xf4, 0x37, 0x5c, 0x88, 0x19, 0x45, 0x4a, 0x76, 0x23, 0x12, 0x98, 0x0f, 0x9e, 0x6a, 0x97, 0x3b, - 0x00, 0x82, 0x89, 0x89, 0xae, 0x92, 0x3a, 0x57, 0xde, 0xc0, 0xee, 0x97, 0xfb, 0x49, 0x7f, 0x66, - 0xa4, 0xb4, 0xd8, 0x76, 0xec, 0x59, 0xdd, 0x8d, 0xbb, 0xa9, 0x34, 0x3a, 0x73, 0x88, 0x68, 0x85, - 0x94, 0x8e, 0x05, 0x84, 0x03, 0xaf, 0xca, 0x06, 0x71, 0x59, 0x1e, 0xf9, 0x18, 0x75, 0x1b, 0x0e, - 0xee, 0xa7, 0xbf, 0xbc, 0x22, 0x5c, 0x9a, 0xd3, 0x62, 0x1e, 0x2f, 0x4c, 0x2f, 0xb3, 0xc0, 0x33, - 0x29, 0x8b, 0x59, 0x36, 0xed, 0xdf, 0xe0, 0x60, 0xbf, 0x5a, 0xb4, 0x3c, 0x21, 0x98, 0x3b, 0xe5, - 0x89, 0xd9, 0x21, 0x21, 0xe2, 0x3a, 0x6b, 0xa2, 0xd1, 0x76, 0x09, 0x58, 0x97, 0x84, 0x02, 0x27, - 0xc8, 0xda, 0x31, 0xb1, 0x10, 0x50, 0x15, 0x34, 0x61, 0x3e, 0x4a, 0x22, 0xf1, 0x33, 0x60, 0x60, - 0xe1, 0x1d, 0x2f, 0xd4, 0xd5, 0x0b, 0x75, 0x45, 0xa1, 0xae, 0x28, 0xd4, 0x85, 0x42, 0xda, 0x16, - 0x03, 0xc1, 0xe6, 0xd3, 0x60, 0xb3, 0x6c, 0xf4, 0xe9, 0x0b, 0x50, 0xed, 0x58, 0x0e, 0xc9, 0x8d, - 0xbb, 0x84, 0xe3, 0x05, 0xb4, 0x21, 0x7c, 0xe1, 0x50, 0xde, 0x10, 0xf6, 0x13, 0x7d, 0xf8, 0x6a, - 0x8f, 0xc1, 0xf3, 0x02, 0xae, 0x6f, 0xc9, 0xbb, 0x5d, 0xae, 0xac, 0x79, 0xab, 0xdb, 0x25, 0x8f, - 0x72, 0x17, 0x5f, 0xa7, 0x48, 0x3a, 0xa4, 0x11, 0x7b, 0x2e, 0x89, 0xbd, 0x81, 0xc5, 0x1e, 0xbf, - 0x72, 0x83, 0x63, 0x08, 0x3f, 0x0a, 0xe1, 0xc9, 0x1d, 0x0a, 0xdb, 0x42, 0x5f, 0x10, 0x8c, 0xad, - 0x3c, 0xfc, 0x40, 0x30, 0x54, 0x88, 0x67, 0x8f, 0x57, 0x1a, 0x7e, 0x32, 0x7d, 0xc8, 0xd0, 0x03, - 0x43, 0x81, 0x75, 0x4f, 0x1a, 0xa8, 0xb3, 0xa2, 0xbf, 0x36, 0xc1, 0x65, 0x88, 0xd0, 0x6f, 0x0b, - 0x1e, 0xa8, 0xc2, 0xdf, 0x20, 0x45, 0x93, 0xb0, 0x58, 0x52, 0x90, 0xe8, 0x6f, 0x8c, 0x48, 0x9f, - 0x57, 0xe3, 0xe3, 0xb6, 0xd3, 0xe1, 0xf3, 0x59, 0xc0, 0xb6, 0xfb, 0xc9, 0x5f, 0xd4, 0x4b, 0x8b, - 0x82, 0x4e, 0x99, 0xaf, 0x67, 0x51, 0x29, 0x74, 0x62, 0x79, 0xe7, 0x06, 0x2c, 0x79, 0x6a, 0x54, - 0x9b, 0x77, 0x75, 0xca, 0x25, 0x60, 0x09, 0x36, 0x15, 0x39, 0x86, 0x4c, 0x6e, 0x6b, 0xa9, 0x02, - 0x99, 0x79, 0x2c, 0x30, 0xd7, 0xea, 0x12, 0x2a, 0xc9, 0xf3, 0x31, 0x48, 0xa0, 0x05, 0xd9, 0xf8, - 0x83, 0x98, 0x9e, 0x7d, 0xdc, 0x92, 0x58, 0x5a, 0x06, 0x34, 0xa0, 0x8b, 0x34, 0xc6, 0x82, 0xb6, - 0x04, 0xa7, 0xbe, 0x25, 0x88, 0x61, 0xab, 0x32, 0x2d, 0x59, 0x83, 0x78, 0x82, 0x18, 0x14, 0xec, - 0x41, 0x88, 0xaf, 0x87, 0xc4, 0x36, 0x7b, 0xa1, 0xc1, 0x02, 0x3f, 0xcb, 0x8a, 0xc1, 0xa5, 0x4e, - 0xeb, 0x3c, 0x2f, 0xe2, 0x22, 0xed, 0x2f, 0x56, 0x93, 0x24, 0x1f, 0x5b, 0x0a, 0x92, 0x68, 0x82, - 0x9a, 0x7d, 0xa4, 0x48, 0xf8, 0xc1, 0xa5, 0x12, 0x6c, 0xd3, 0xb2, 0xbb, 0x46, 0x52, 0xc7, 0x71, - 0x82, 0xd4, 0xa3, 0xd9, 0x38, 0x9e, 0xa6, 0x16, 0x08, 0x12, 0xed, 0x5a, 0xcb, 0x13, 0x7d, 0x0b, - 0x92, 0x4f, 0x4f, 0xc6, 0x6d, 0x23, 0xf6, 0xec, 0x24, 0x9e, 0xd9, 0x8e, 0x57, 0x95, 0x6d, 0xaa, - 0x92, 0x45, 0xa5, 0x0c, 0xfe, 0x33, 0xd8, 0xa8, 0x79, 0x22, 0xaf, 0xab, 0x0b, 0x0d, 0x27, 0x92, - 0xe7, 0x2b, 0x3f, 0xf8, 0xc2, 0xdc, 0xb7, 0x6a, 0x2e, 0x3b, 0x36, 0x83, 0x75, 0x12, 0xe1, 0x69, - 0x64, 0x89, 0x30, 0x66, 0x2c, 0x95, 0x9f, 0x90, 0x21, 0xc9, 0x88, 0xf8, 0x29, 0xf7, 0x07, 0x42, - 0xc2, 0x1f, 0x9d, 0xef, 0xc4, 0x19, 0xc8, 0x28, 0x59, 0x8a, 0x0a, 0x85, 0x30, 0x90, 0x90, 0x23, - 0x04, 0x9f, 0x90, 0xbc, 0x26, 0x67, 0x63, 0x54, 0xa0, 0xdb, 0x9b, 0xa0, 0x77, 0xfa, 0x0a, 0xad, - 0x03, 0xf2, 0x34, 0x58, 0xa4, 0xa3, 0x09, 0x84, 0xb1, 0x44, 0x8c, 0x8e, 0x0a, 0xb4, 0x34, 0x31, - 0xf2, 0x47, 0xef, 0x3b, 0x53, 0x9a, 0x81, 0xd1, 0x60, 0x31, 0xfd, 0xc1, 0x22, 0x2d, 0xe0, 0xc1, - 0x95, 0x1f, 0xec, 0x42, 0x02, 0x0d, 0x23, 0x6e, 0x37, 0x88, 0x64, 0xd1, 0x56, 0x9f, 0xb6, 0xb2, - 0xfb, 0xdd, 0x67, 0x02, 0xc3, 0x0d, 0x88, 0x43, 0xf6, 0xae, 0x01, 0xc3, 0xd4, 0x80, 0x2a, 0xef, - 0x57, 0xa3, 0xa8, 0x4d, 0xc5, 0x4c, 0x72, 0xa9, 0x28, 0xba, 0x53, 0x1d, 0x72, 0x5f, 0xf3, 0x6c, - 0x5a, 0xac, 0x0b, 0xad, 0x4e, 0xa3, 0x62, 0x73, 0x71, 0x85, 0x64, 0xd4, 0x65, 0x2e, 0xc4, 0x55, - 0xa4, 0x62, 0x6b, 0xdf, 0x28, 0xc5, 0x18, 0x14, 0x11, 0x3f, 0x91, 0x3e, 0xd5, 0x1b, 0x3f, 0x1f, - 0x59, 0x11, 0x07, 0x15, 0x32, 0xb2, 0xf1, 0xd3, 0x51, 0x45, 0x6e, 0x60, 0xc5, 0xa9, 0xd0, 0x26, - 0xb9, 0xce, 0x28, 0x79, 0xc4, 0xa8, 0x03, 0x2b, 0x07, 0xfc, 0xa4, 0x2a, 0xed, 0xd8, 0x70, 0x03, - 0x2f, 0x77, 0x08, 0x3d, 0xe9, 0x45, 0xa5, 0xd2, 0xec, 0x28, 0x17, 0x67, 0x4b, 0x2e, 0xee, 0x1a, - 0x3f, 0x63, 0xbe, 0x0a, 0x7a, 0x27, 0xd8, 0x95, 0x8b, 0x47, 0x42, 0x61, 0x4e, 0x2c, 0xbe, 0x89, - 0x30, 0x07, 0x3b, 0x00, 0xd5, 0x14, 0x12, 0x86, 0x50, 0xe4, 0x3b, 0xd3, 0x34, 0x09, 0x9f, 0x7f, - 0x5d, 0x3b, 0x88, 0x24, 0x0e, 0x77, 0x17, 0x87, 0x07, 0xe7, 0x4f, 0x0a, 0xc5, 0xfa, 0x78, 0x2d, - 0x57, 0x41, 0x69, 0x04, 0x31, 0x64, 0x12, 0x99, 0x2a, 0x02, 0x78, 0x63, 0xfa, 0x4d, 0xa8, 0x37, - 0x03, 0xc7, 0x12, 0x76, 0xe0, 0xb8, 0x17, 0x3e, 0x53, 0xa6, 0xae, 0x44, 0x3e, 0x9c, 0x18, 0x83, - 0x63, 0x69, 0xe1, 0x9d, 0xdc, 0x15, 0x78, 0x7e, 0x22, 0x5e, 0x9d, 0x46, 0x38, 0x64, 0xad, 0x3c, - 0x6b, 0x9b, 0x1a, 0x7e, 0x95, 0x3f, 0x49, 0xc1, 0x01, 0x92, 0x60, 0x38, 0x50, 0x6f, 0x75, 0x41, - 0xf0, 0x52, 0x37, 0xd8, 0x27, 0xed, 0xb8, 0x08, 0xbb, 0xae, 0x39, 0x1a, 0x1f, 0x6f, 0x06, 0x70, - 0x72, 0x7c, 0xfd, 0xd7, 0x80, 0x46, 0x7d, 0x96, 0xdd, 0xdb, 0x20, 0x3f, 0x4d, 0x2b, 0x24, 0x1f, - 0x13, 0x19, 0x12, 0x75, 0xa4, 0x12, 0x40, 0x48, 0xb2, 0x02, 0xe5, 0x15, 0x94, 0xba, 0xbc, 0xb5, - 0x92, 0x81, 0x9a, 0x70, 0xd3, 0xd4, 0x1a, 0xe3, 0xf1, 0x1d, 0xb7, 0xe0, 0x18, 0xb6, 0x4f, 0xe0, - 0x2d, 0x22, 0x55, 0x68, 0xfa, 0x9c, 0x4f, 0x61, 0x17, 0x87, 0xc9, 0xdb, 0xa0, 0xfb, 0x4a, 0x09, - 0x56, 0x7e, 0x4d, 0x45, 0x3b, 0xfa, 0x37, 0x90, 0x16, 0x62, 0x60, 0x0f, 0x79, 0xa9, 0x65, 0x6b, - 0x12, 0xfd, 0x74, 0x54, 0x2d, 0x8c, 0x87, 0xb2, 0x17, 0xba, 0x46, 0x24, 0xe7, 0x23, 0xb1, 0x88, - 0x4d, 0x16, 0x08, 0xda, 0xac, 0x68, 0x24, 0x8d, 0x9f, 0x5a, 0xaa, 0x86, 0xa2, 0x2e, 0xf0, 0xfc, - 0x49, 0x2e, 0xf0, 0xc2, 0x40, 0xa0, 0x75, 0x05, 0x69, 0xe7, 0x7b, 0x53, 0x2a, 0xea, 0xba, 0xb6, - 0x98, 0xe4, 0xd4, 0x12, 0x7b, 0x68, 0xed, 0xe2, 0x70, 0x87, 0x80, 0xb7, 0xf2, 0xd6, 0x49, 0x40, - 0xc4, 0x8f, 0x45, 0x01, 0x3c, 0xad, 0x75, 0x8a, 0x21, 0x20, 0x1b, 0xab, 0xf4, 0x37, 0x71, 0x37, - 0xb9, 0xe4, 0x24, 0x59, 0x6d, 0x51, 0x3c, 0x92, 0x45, 0xf1, 0x64, 0x34, 0xf5, 0x7d, 0x9a, 0x2a, - 0xdb, 0x9a, 0x4d, 0x55, 0xa6, 0x4d, 0xb5, 0x45, 0x01, 0xbc, 0xa3, 0xf8, 0xa2, 0x8e, 0x69, 0x62, - 0xd7, 0x36, 0xdb, 0x2f, 0xb2, 0xf1, 0xb8, 0xea, 0x94, 0x9c, 0xc8, 0xb7, 0x1f, 0x95, 0x13, 0x30, - 0xa6, 0xf3, 0x72, 0x52, 0x6e, 0xd5, 0x66, 0x8f, 0x0a, 0x56, 0xf5, 0x9c, 0x58, 0x3c, 0xce, 0xab, - 0x28, 0x16, 0xf9, 0x76, 0x8a, 0x05, 0x8c, 0x89, 0x62, 0x29, 0xb7, 0x8a, 0x62, 0x15, 0xec, 0x59, - 0x1f, 0xac, 0xc3, 0x4d, 0xa9, 0x38, 0xa3, 0x25, 0xf2, 0xed, 0xef, 0xff, 0x72, 0x10, 0xe3, 0x1b, - 0xc0, 0x22, 0xb7, 0xf2, 0xb5, 0x37, 0x05, 0x6c, 0x1d, 0xc1, 0xf6, 0x33, 0x94, 0x3c, 0xbb, 0x9a, - 0x5c, 0xdb, 0x69, 0x4a, 0x91, 0xb9, 0x96, 0x58, 0x65, 0x2f, 0x6a, 0x13, 0x63, 0x58, 0x9a, 0x70, - 0xe2, 0xa7, 0xe9, 0x64, 0x99, 0xc8, 0xf5, 0xd5, 0x69, 0x68, 0x3a, 0x63, 0x26, 0xa3, 0xda, 0x69, - 0x2a, 0x89, 0x9f, 0x26, 0x5a, 0x44, 0xae, 0xaf, 0x4e, 0x30, 0x13, 0x2d, 0x32, 0xaa, 0xed, 0x27, - 0xc9, 0xc1, 0x8f, 0xa4, 0x49, 0xbc, 0x2f, 0x7e, 0x9a, 0x5e, 0x20, 0xe6, 0x99, 0xbe, 0x3a, 0x21, - 0x8c, 0x2f, 0x11, 0x4b, 0x98, 0x76, 0xe1, 0x6a, 0xfe, 0xcb, 0x46, 0x08, 0x3d, 0x0c, 0x28, 0x31, - 0xba, 0x95, 0x0c, 0xba, 0x6b, 0x6a, 0x60, 0xd7, 0xe7, 0xe3, 0x34, 0xa9, 0x3d, 0x21, 0xb5, 0x27, - 0xa4, 0xf6, 0x84, 0xd4, 0x9e, 0x90, 0xda, 0x13, 0xe2, 0x71, 0xa6, 0x94, 0xbc, 0x1e, 0xae, 0x7e, - 0x28, 0x43, 0x3e, 0x97, 0xa7, 0x1c, 0xe3, 0x7b, 0x3c, 0xd7, 0x87, 0x78, 0x5c, 0x6b, 0x3e, 0xcb, - 0xc7, 0x31, 0xb4, 0xf7, 0x1e, 0xbe, 0x10, 0x6a, 0xeb, 0x94, 0x3d, 0x3b, 0xc4, 0xdc, 0x21, 0xfb, - 0x93, 0x52, 0x2f, 0xf8, 0xe4, 0x31, 0x53, 0x5b, 0xed, 0xd8, 0xb9, 0xc2, 0xae, 0x7b, 0x9d, 0x7f, - 0xf8, 0xd4, 0xff, 0xfa, 0xcf, 0x06, 0x12, 0xbc, 0x47, 0x65, 0x9b, 0x12, 0x96, 0xd1, 0xb0, 0xca, - 0x0d, 0x63, 0xb6, 0xfa, 0xe4, 0x53, 0x38, 0xdb, 0x1e, 0x05, 0xd4, 0x0c, 0xda, 0x87, 0xb4, 0xf9, - 0x0e, 0x6b, 0xaf, 0x1d, 0xd0, 0xd6, 0x3a, 0x94, 0xb9, 0x74, 0x50, 0x5b, 0x67, 0x9f, 0xa6, 0x4a, - 0x25, 0x9b, 0x6c, 0x67, 0x69, 0x54, 0x1b, 0x1a, 0x5b, 0x19, 0x0a, 0xfb, 0x38, 0xda, 0x27, 0x8d, - 0xde, 0x76, 0x1a, 0x7b, 0xd5, 0xd0, 0x6c, 0xac, 0x74, 0x13, 0x98, 0x8f, 0x1f, 0x7e, 0xf9, 0xd8, - 0xff, 0xe5, 0xdd, 0x6f, 0xbf, 0xbd, 0x43, 0x1a, 0x42, 0xb7, 0x73, 0x1a, 0x98, 0xe3, 0x04, 0xc2, - 0x0c, 0x07, 0x2d, 0x9b, 0xce, 0x72, 0xd0, 0x84, 0xcb, 0xf2, 0x9d, 0xce, 0x76, 0x7e, 0x51, 0x1f, - 0x2b, 0x89, 0x2c, 0x71, 0x25, 0xcb, 0x6f, 0xd6, 0x51, 0x34, 0x53, 0xa8, 0xca, 0x1b, 0x2a, 0x3a, - 0x22, 0x60, 0x05, 0x19, 0x35, 0x69, 0xf8, 0x65, 0x69, 0x87, 0x89, 0x8b, 0x44, 0x13, 0x03, 0x87, - 0xe3, 0xf7, 0x14, 0x49, 0xe8, 0x86, 0xf2, 0xe1, 0xce, 0xab, 0x8b, 0x8b, 0xc8, 0xc1, 0x1b, 0x9f, - 0x2d, 0x7c, 0x19, 0x83, 0x6e, 0x82, 0x72, 0x75, 0x1a, 0xfa, 0x92, 0x9d, 0x09, 0x8a, 0x24, 0x76, - 0x21, 0xd5, 0x39, 0xbc, 0xab, 0xbd, 0x6e, 0xbb, 0xfb, 0x36, 0x20, 0x42, 0xbc, 0x29, 0xa8, 0x70, - 0x2b, 0xc8, 0x20, 0x75, 0x43, 0xcd, 0x62, 0xe4, 0x03, 0xb1, 0xbf, 0x40, 0x91, 0x85, 0x77, 0x12, - 0xb9, 0xf8, 0x64, 0xa2, 0xc9, 0xaf, 0x0c, 0x5e, 0xe5, 0x76, 0x5c, 0xee, 0x10, 0x52, 0xd7, 0x30, - 0xc2, 0x1f, 0x9e, 0xbc, 0x1e, 0x28, 0xba, 0x0f, 0xf6, 0x69, 0x4b, 0x67, 0x19, 0x81, 0xb4, 0x96, - 0x8c, 0xc0, 0x87, 0x94, 0xa6, 0x92, 0xb2, 0xe1, 0xc1, 0x45, 0x4f, 0x5d, 0xf1, 0x9e, 0xb4, 0xcf, - 0xbb, 0x76, 0x6b, 0xff, 0x99, 0xdd, 0xda, 0xe6, 0xe4, 0x7e, 0x86, 0x06, 0x48, 0xd6, 0x74, 0x4e, - 0x4c, 0xea, 0xcf, 0x49, 0xed, 0xf2, 0xae, 0x5d, 0xde, 0xb5, 0xcb, 0xbb, 0x76, 0x79, 0xd7, 0x2e, - 0xef, 0xda, 0xe5, 0xfd, 0x74, 0x5d, 0xde, 0xd4, 0x1d, 0xb2, 0x80, 0xcb, 0x28, 0x11, 0xcf, 0xc3, - 0x57, 0x85, 0x45, 0xd1, 0xda, 0xef, 0x5d, 0xfb, 0xbd, 0x1f, 0xd5, 0xef, 0xcd, 0x4d, 0xc0, 0xda, - 0xc9, 0x5d, 0x3b, 0xb9, 0x1f, 0xc3, 0xc9, 0xfd, 0xa7, 0xf5, 0x6c, 0xa3, 0x4e, 0xb3, 0x38, 0xb7, - 0x3b, 0x68, 0x91, 0xd1, 0xb3, 0xa8, 0x69, 0x24, 0x9c, 0xdf, 0x27, 0x5b, 0x38, 0xbf, 0x7d, 0xb2, - 0x0a, 0xd9, 0x7c, 0xe0, 0x52, 0x12, 0x44, 0x78, 0xe0, 0xdf, 0x67, 0xef, 0xbf, 0x7c, 0x86, 0x7b, - 0x5a, 0xf7, 0x71, 0x92, 0x1b, 0xf2, 0x48, 0x53, 0x1e, 0xce, 0x8b, 0xfe, 0x90, 0xf6, 0x62, 0xed, - 0x2e, 0xaf, 0xdd, 0xe5, 0xb5, 0xbb, 0xfc, 0xf0, 0xee, 0x72, 0x9b, 0xf7, 0x1a, 0x94, 0x0e, 0xe6, - 0xe9, 0xbe, 0x89, 0x22, 0x90, 0x48, 0x44, 0xe9, 0xc0, 0x6e, 0x73, 0x2c, 0x49, 0x22, 0x21, 0x34, - 0x43, 0xeb, 0xd9, 0xe1, 0xad, 0x4e, 0x0e, 0x63, 0xb4, 0x3e, 0xc3, 0x7f, 0xff, 0x13, 0xc4, 0xf3, - 0x14, 0x61, 0x9d, 0x62, 0xbd, 0xd6, 0xe2, 0xed, 0xdf, 0x6c, 0xb7, 0x60, 0xd7, 0x9d, 0x01, 0x83, - 0xb2, 0x57, 0x3b, 0xfa, 0x6b, 0x47, 0x3f, 0x75, 0xf4, 0xff, 0x3f, 0xe9, 0x2d, 0xb6, 0x55}; + 0x78, 0xda, 0xed, 0x3d, 0xfd, 0x6f, 0xe3, 0x36, 0xb2, 0xf7, 0x73, 0xfe, 0x0a, 0x17, 0x05, 0x0e, + 0x96, 0x2c, 0x7f, 0x26, 0xd9, 0x8f, 0xaa, 0xba, 0x62, 0xb1, 0x4d, 0xfb, 0x02, 0xf4, 0x76, 0x17, + 0x4d, 0xaf, 0xef, 0xe1, 0x8a, 0x85, 0x21, 0xd9, 0x8a, 0xa3, 0x3b, 0xdb, 0xf2, 0xd9, 0x4a, 0x62, + 0xe7, 0xb0, 0xff, 0xfb, 0xe3, 0xf0, 0x9b, 0x14, 0x29, 0xc9, 0x1f, 0x71, 0x92, 0xae, 0x50, 0x74, + 0x63, 0x91, 0xc3, 0xe1, 0x90, 0x1c, 0x0e, 0x67, 0x86, 0xe4, 0xf0, 0xdb, 0xe4, 0x7a, 0x1c, 0x5f, + 0x37, 0x7e, 0xfe, 0x65, 0x78, 0x71, 0x75, 0xb2, 0x58, 0xc6, 0xa3, 0x64, 0x95, 0xa4, 0xf3, 0xc6, + 0x4d, 0x32, 0xb9, 0x59, 0x34, 0xae, 0xa7, 0x69, 0x98, 0xf9, 0x27, 0xdf, 0xc6, 0xd3, 0x55, 0x7c, + 0xf2, 0x6d, 0x72, 0xdd, 0xf8, 0x06, 0xc1, 0x26, 0xf3, 0x78, 0xdc, 0x9c, 0xa6, 0xf7, 0x0b, 0xe7, + 0xe4, 0x5b, 0xf2, 0xd9, 0x80, 0x2f, 0x04, 0x35, 0x1f, 0x27, 0xd7, 0x2a, 0xd8, 0x2c, 0x1e, 0x27, + 0xb7, 0x33, 0x09, 0x92, 0x26, 0x18, 0x81, 0x71, 0x9d, 0x02, 0x14, 0x7f, 0x72, 0x40, 0xf2, 0xe7, + 0x2e, 0x1e, 0x0d, 0x1a, 0xb7, 0xf3, 0x45, 0x38, 0xfa, 0xf7, 0x10, 0x13, 0xd7, 0x1c, 0xa5, 0xf3, + 0x55, 0x46, 0x08, 0x6d, 0x40, 0x72, 0x3c, 0xfe, 0x3d, 0x9c, 0xde, 0xc6, 0x4e, 0xe3, 0xbf, 0xc9, + 0x9c, 0xa5, 0x5c, 0xce, 0x33, 0x9c, 0x18, 0xa0, 0xa4, 0xa6, 0x0c, 0xe4, 0x03, 0xcc, 0x5d, 0x2f, + 0x50, 0xc1, 0xba, 0x83, 0xf3, 0x57, 0xfe, 0x32, 0xce, 0x6e, 0x97, 0xf3, 0x06, 0x54, 0xd8, 0xbc, + 0xeb, 0x79, 0x2a, 0x44, 0xfb, 0xae, 0xe7, 0x22, 0x20, 0xc7, 0xff, 0x22, 0x13, 0x94, 0xa2, 0x7f, + 0x93, 0x6c, 0x63, 0x20, 0xe9, 0x23, 0xc9, 0xa1, 0x44, 0xa1, 0xff, 0x69, 0x82, 0x44, 0x10, 0x03, + 0xe9, 0x0e, 0x94, 0xaa, 0x49, 0x23, 0x45, 0x09, 0xa7, 0xdb, 0x1f, 0xbc, 0xee, 0xf4, 0xbc, 0x59, + 0x3a, 0x56, 0x0b, 0x7a, 0x83, 0x4e, 0xcf, 0x21, 0x04, 0x9d, 0x35, 0xc6, 0xf1, 0x28, 0x1d, 0xc7, + 0xc3, 0x51, 0x3a, 0x4d, 0x97, 0x94, 0x1c, 0x4c, 0x68, 0x3c, 0x87, 0xf4, 0xf1, 0x7b, 0x48, 0x47, + 0xc4, 0x88, 0x8a, 0xce, 0x9a, 0x4a, 0xa7, 0xca, 0x70, 0x7f, 0xf4, 0x3e, 0x23, 0xa2, 0xce, 0xcf, + 0x51, 0xa5, 0x76, 0x98, 0x3e, 0x83, 0x39, 0x41, 0x24, 0x90, 0x96, 0x53, 0xe0, 0x59, 0xb2, 0x1e, + 0xe2, 0x96, 0x48, 0x64, 0x48, 0x43, 0xe0, 0xc9, 0x9d, 0x95, 0x09, 0x9a, 0x50, 0x31, 0x79, 0xa4, + 0x10, 0x11, 0x9e, 0xfc, 0xd9, 0xff, 0xec, 0x65, 0xac, 0xb1, 0x52, 0x45, 0x5a, 0x83, 0xcf, 0x68, + 0x4d, 0x98, 0xc6, 0x55, 0xae, 0x2a, 0x0c, 0x31, 0x4b, 0xe6, 0x38, 0x3b, 0x50, 0xfa, 0x0c, 0x53, + 0x2c, 0x17, 0x16, 0x04, 0xd0, 0x6f, 0xd4, 0x62, 0xc7, 0x27, 0x18, 0xc2, 0x75, 0x25, 0x0c, 0x03, + 0x0d, 0xc3, 0x29, 0x60, 0x90, 0x9a, 0xcb, 0x28, 0xf1, 0x18, 0x42, 0xd6, 0xc4, 0x41, 0x63, 0x12, + 0x67, 0xc3, 0x45, 0x98, 0x65, 0xf1, 0x72, 0x3e, 0x5c, 0xa4, 0x2b, 0xa5, 0x2f, 0x93, 0x75, 0x3c, + 0x45, 0x75, 0xa6, 0xcb, 0xf1, 0xf0, 0x76, 0xb1, 0x88, 0x97, 0x9e, 0x25, 0x13, 0xcd, 0x51, 0x2d, + 0x93, 0x22, 0x5c, 0x25, 0x0f, 0xda, 0x30, 0x24, 0xd3, 0x78, 0x78, 0x3b, 0x4f, 0xb2, 0xd5, 0x30, + 0x4b, 0x87, 0x18, 0xc7, 0x4a, 0x29, 0x98, 0xae, 0x48, 0xef, 0x0d, 0x1a, 0xe9, 0xf5, 0xf5, 0x2a, + 0xce, 0x02, 0xe0, 0x46, 0xf6, 0x7f, 0x9e, 0x20, 0xb9, 0x22, 0x07, 0xe6, 0x4d, 0xa7, 0x67, 0x4a, + 0x6b, 0xe5, 0xa9, 0x55, 0xa0, 0x58, 0x5f, 0x35, 0x4d, 0xf4, 0xb9, 0x88, 0xa8, 0x16, 0xa1, 0xc6, + 0xe9, 0xca, 0xc5, 0xfc, 0x2f, 0x27, 0x7f, 0xf9, 0xd6, 0x2c, 0xe3, 0xa8, 0x2c, 0x7a, 0x7e, 0x52, + 0xee, 0x2f, 0x88, 0xfe, 0x65, 0x12, 0xdd, 0x66, 0x31, 0xe9, 0xf0, 0x10, 0x06, 0xdd, 0x47, 0x2d, + 0xbe, 0x4e, 0x97, 0x33, 0xc4, 0x6f, 0x19, 0x62, 0xfa, 0x21, 0xfa, 0xb3, 0x4c, 0xd6, 0xfe, 0x5d, + 0x9a, 0x8c, 0x51, 0x52, 0x32, 0x6f, 0xa2, 0x31, 0x99, 0x4c, 0x87, 0x9f, 0xd2, 0x55, 0x92, 0xa1, + 0xd6, 0x05, 0x0c, 0xc2, 0xc5, 0xd3, 0x1b, 0xa3, 0xf0, 0x7a, 0x5e, 0xdf, 0x81, 0x0e, 0x61, 0xa8, + 0xc8, 0xfc, 0x21, 0x1c, 0xcb, 0xf1, 0xd3, 0xe9, 0xcb, 0xc4, 0x59, 0xae, 0x86, 0x9f, 0x96, 0xe1, + 0x84, 0x30, 0x3c, 0x2d, 0xe9, 0x0a, 0xd8, 0x13, 0xda, 0xd5, 0x1f, 0x7f, 0xbf, 0xf8, 0xf5, 0xc7, + 0x5f, 0xdf, 0xfd, 0xef, 0xf0, 0xf2, 0xc3, 0xd5, 0xa7, 0x8b, 0xf7, 0xbf, 0x7d, 0xfc, 0xf5, 0x44, + 0x29, 0x89, 0x69, 0xea, 0x23, 0x89, 0xe5, 0xb3, 0x36, 0x4b, 0x54, 0xa9, 0x0d, 0x94, 0x68, 0x45, + 0x92, 0x76, 0x28, 0x8f, 0xed, 0x30, 0x2c, 0xcc, 0x8d, 0x72, 0xb9, 0x3a, 0x6b, 0x16, 0x01, 0x60, + 0x0e, 0xcc, 0x75, 0xca, 0x6a, 0x14, 0x4e, 0xe5, 0x7a, 0xd5, 0xf4, 0x28, 0x97, 0x6e, 0xe2, 0x55, + 0xdf, 0x38, 0xbc, 0x77, 0xe1, 0x72, 0x93, 0xcc, 0x27, 0x24, 0xe9, 0x0e, 0x92, 0x50, 0x35, 0x86, + 0xc4, 0x68, 0x87, 0x21, 0xa7, 0xe8, 0x02, 0x5d, 0x8e, 0x18, 0xba, 0xc4, 0x33, 0xf4, 0x82, 0xc7, + 0xdb, 0xed, 0xea, 0x03, 0xe0, 0x99, 0x9b, 0xe8, 0xe1, 0xca, 0x59, 0xc5, 0xd1, 0xde, 0x15, 0x47, + 0x7a, 0xc5, 0x51, 0x49, 0xc5, 0x2a, 0x93, 0xcb, 0xac, 0x91, 0x4d, 0xed, 0x6c, 0x13, 0x2d, 0xed, + 0x79, 0xa8, 0x5c, 0x54, 0x50, 0x2e, 0x97, 0x97, 0xc5, 0x6b, 0x2c, 0x7f, 0x74, 0x8e, 0x98, 0x49, + 0x3c, 0xad, 0x4f, 0x35, 0x96, 0xbe, 0x0a, 0x67, 0x8b, 0x69, 0xbc, 0x1c, 0xfc, 0x88, 0xf2, 0x92, + 0x59, 0x38, 0x89, 0x77, 0xe5, 0x0e, 0x9c, 0x83, 0x31, 0xe0, 0x5e, 0xc5, 0x82, 0x9a, 0x96, 0xf6, + 0xf0, 0xf4, 0x63, 0x02, 0x3d, 0x80, 0x15, 0x48, 0xed, 0xa4, 0x2e, 0x6f, 0x83, 0xa7, 0xf6, 0x90, + 0x94, 0x21, 0x50, 0xd3, 0xc5, 0x10, 0x0b, 0x84, 0x7e, 0x80, 0xf2, 0x91, 0xac, 0x8e, 0x07, 0x3f, + 0x36, 0x69, 0x03, 0x3c, 0xc2, 0x0e, 0x2a, 0x39, 0x88, 0x31, 0x04, 0x41, 0x91, 0x4a, 0xd0, 0x20, + 0x4f, 0x51, 0x64, 0xa3, 0x28, 0x32, 0x52, 0x34, 0x8c, 0x64, 0x9a, 0x06, 0x66, 0x9a, 0x06, 0x8e, + 0xaf, 0x08, 0x26, 0xa8, 0x94, 0xb4, 0xc1, 0x23, 0xc5, 0x3c, 0x3c, 0x62, 0xce, 0x71, 0x64, 0x5c, + 0x94, 0xa6, 0x53, 0x2e, 0x4c, 0xee, 0x93, 0xec, 0x06, 0x01, 0x2c, 0xf4, 0xdc, 0x45, 0x92, 0x8d, + 0x6e, 0xf2, 0xb9, 0x94, 0xed, 0x50, 0x23, 0x97, 0xb7, 0x48, 0x0b, 0xc1, 0x38, 0x78, 0x26, 0x2c, + 0x5d, 0x9c, 0xdb, 0xc6, 0xf1, 0x5d, 0x32, 0x8a, 0xe9, 0x6c, 0x5b, 0x86, 0x48, 0x74, 0x70, 0x38, + 0x49, 0xed, 0x87, 0x75, 0x21, 0x9c, 0xc5, 0xcb, 0x10, 0x26, 0xd7, 0x28, 0x9e, 0xa3, 0xce, 0x1e, + 0x8e, 0x93, 0x55, 0x16, 0xce, 0x47, 0x71, 0xa9, 0x04, 0x3b, 0x45, 0xec, 0x38, 0x0e, 0xb3, 0x10, + 0x77, 0xd6, 0x1c, 0x7a, 0xeb, 0x7f, 0xde, 0x5d, 0x0d, 0xff, 0xf1, 0xe1, 0xf2, 0xa7, 0x8f, 0xbf, + 0xfe, 0x7d, 0x48, 0xd7, 0x8d, 0x13, 0x23, 0x75, 0x38, 0x6b, 0x98, 0x49, 0x55, 0x10, 0xa2, 0xf0, + 0x50, 0x86, 0x74, 0xad, 0x62, 0x55, 0x49, 0x59, 0x24, 0x83, 0xae, 0xe2, 0x6a, 0x7b, 0x94, 0x65, + 0x4e, 0x5a, 0x94, 0x0d, 0x84, 0x2d, 0x43, 0xb4, 0x72, 0xaf, 0xcc, 0x94, 0x91, 0x3c, 0x85, 0x34, + 0xa6, 0x42, 0xd0, 0x5e, 0x20, 0x10, 0x9c, 0x3a, 0x45, 0xc1, 0x68, 0xd0, 0x4c, 0x8d, 0x42, 0x15, + 0x86, 0x55, 0x52, 0x42, 0x65, 0x34, 0xbd, 0xb5, 0xf4, 0x1e, 0xe4, 0x28, 0x14, 0xe2, 0x5c, 0x4a, + 0x1e, 0x64, 0x72, 0xe2, 0xa4, 0x62, 0x38, 0x5d, 0xa3, 0x2b, 0x87, 0xb5, 0x84, 0x24, 0x3a, 0x3b, + 0xcc, 0xe5, 0x69, 0xa6, 0x95, 0x30, 0xae, 0x6a, 0xe4, 0x69, 0x13, 0xb3, 0xce, 0x4e, 0x9e, 0x04, + 0x53, 0x40, 0xe1, 0x2a, 0x5b, 0xa6, 0xff, 0x8e, 0x8b, 0x58, 0x4f, 0x86, 0xb0, 0x73, 0xa0, 0x0c, + 0x65, 0x62, 0x44, 0x25, 0xbf, 0x88, 0x1f, 0x75, 0xc0, 0x72, 0xda, 0xef, 0x93, 0x71, 0x76, 0x53, + 0x48, 0x3b, 0x86, 0x28, 0x62, 0x51, 0x19, 0xce, 0xc2, 0xa8, 0x0a, 0x48, 0x09, 0xbb, 0xea, 0xb0, + 0xe5, 0x6d, 0x28, 0x64, 0x14, 0x15, 0xc6, 0xca, 0x2f, 0x2a, 0x98, 0x89, 0x6d, 0x34, 0x88, 0x22, + 0xee, 0xc9, 0x83, 0x12, 0x57, 0x03, 0x5f, 0x47, 0xe1, 0x17, 0x5a, 0x4b, 0x0b, 0x45, 0xd9, 0x88, + 0x28, 0xc4, 0xba, 0x29, 0x4a, 0xe5, 0x95, 0xc7, 0xc5, 0x9a, 0xc3, 0x48, 0xd1, 0x25, 0x57, 0xb0, + 0x95, 0x7c, 0x22, 0x7f, 0x02, 0xdd, 0xc6, 0x66, 0x12, 0xc8, 0x13, 0xc2, 0x8a, 0x57, 0x68, 0x12, + 0x46, 0xc1, 0x36, 0xf2, 0x06, 0xfe, 0x31, 0xd4, 0x08, 0xc9, 0x1e, 0x13, 0x3c, 0xbc, 0x36, 0x4d, + 0xba, 0x04, 0x5b, 0xc9, 0x10, 0xfa, 0xd7, 0x50, 0x19, 0xcd, 0xf1, 0x24, 0x91, 0x62, 0xaa, 0x92, + 0x23, 0xd8, 0x45, 0x34, 0xc8, 0x1f, 0xa6, 0x11, 0x95, 0xf3, 0x3d, 0x5d, 0x68, 0x98, 0xc6, 0x57, + 0x45, 0xb8, 0xf3, 0xb4, 0x97, 0x3f, 0x0c, 0x5d, 0x23, 0x67, 0x7b, 0xba, 0x3c, 0xb0, 0x70, 0x81, + 0x8a, 0x72, 0x8f, 0xc9, 0xac, 0x7e, 0xda, 0xa9, 0x13, 0xe3, 0xa7, 0xcf, 0x74, 0xd3, 0x30, 0xea, + 0x58, 0xad, 0x53, 0x15, 0xfb, 0xb6, 0x88, 0xe2, 0x13, 0xe0, 0x0a, 0x41, 0xad, 0x24, 0xf6, 0x0f, + 0xb8, 0xc5, 0x5c, 0xf4, 0x4f, 0x5b, 0x68, 0x97, 0xa3, 0x64, 0x39, 0x42, 0xfa, 0x15, 0xd1, 0x69, + 0x02, 0x54, 0x15, 0x1e, 0x56, 0x04, 0xec, 0xf6, 0x3a, 0xe7, 0x8e, 0x8f, 0x8c, 0xf5, 0xa6, 0xae, + 0x65, 0x31, 0x55, 0x7a, 0x94, 0x2e, 0xe7, 0x48, 0x0f, 0x5a, 0x30, 0x8b, 0x4b, 0x41, 0x45, 0x4b, + 0xaa, 0xda, 0x1b, 0x2a, 0xa9, 0x15, 0x6a, 0x05, 0x94, 0x54, 0xb7, 0x49, 0x26, 0x5f, 0x4b, 0xee, + 0x77, 0xd0, 0x34, 0x55, 0x1d, 0xee, 0x4b, 0x03, 0xfa, 0x85, 0xba, 0xab, 0x16, 0xcb, 0xf4, 0x5f, + 0xf1, 0x28, 0x8b, 0xc7, 0x8c, 0x7c, 0xd5, 0xe6, 0x53, 0xe8, 0x21, 0xb6, 0xdf, 0x7e, 0xb5, 0xbb, + 0x4d, 0xbd, 0xc6, 0xce, 0x7d, 0xb7, 0x40, 0x33, 0x44, 0x96, 0x97, 0xdd, 0x22, 0xd5, 0x48, 0xa1, + 0xee, 0x08, 0xda, 0xbc, 0x82, 0x62, 0xf9, 0x46, 0x59, 0x7a, 0x5a, 0xc2, 0xd1, 0x59, 0x6f, 0xb6, + 0x6d, 0x6a, 0x91, 0xc2, 0x6b, 0xa0, 0x72, 0x87, 0x1a, 0xe4, 0xd2, 0xf7, 0xfe, 0x97, 0x2f, 0x12, + 0xaf, 0x87, 0xf3, 0x2c, 0x09, 0xa7, 0x49, 0xb8, 0xc2, 0xe2, 0x12, 0x31, 0x6b, 0xd7, 0xa4, 0xa8, + 0x77, 0x8d, 0xf5, 0xf8, 0x44, 0xd9, 0x06, 0xd6, 0x3f, 0x6d, 0xd2, 0x1a, 0x3b, 0x6b, 0x8f, 0xfd, + 0xda, 0x78, 0x0a, 0x72, 0x6c, 0x1c, 0x6f, 0xad, 0xab, 0x3f, 0xb6, 0xc6, 0x7d, 0x1c, 0x9d, 0xf9, + 0x91, 0x95, 0xdf, 0xe3, 0xe9, 0xaf, 0x4f, 0xa1, 0x77, 0x3e, 0xa5, 0xb6, 0xf8, 0xc8, 0x2a, 0x1e, + 0x55, 0xef, 0x6c, 0xcc, 0x5f, 0x45, 0x59, 0xb3, 0x72, 0x76, 0x65, 0xc5, 0xcb, 0xc2, 0xb3, 0xe5, + 0xaa, 0x94, 0x9d, 0x21, 0xab, 0xea, 0x44, 0x25, 0xdc, 0xb6, 0xbd, 0x32, 0x53, 0xc2, 0x4a, 0x3b, + 0xa9, 0x21, 0xa5, 0x4c, 0xb2, 0xb7, 0xea, 0x80, 0xe5, 0x20, 0x92, 0xeb, 0x3e, 0x41, 0xc2, 0x84, + 0xf7, 0x34, 0x9e, 0x4f, 0x10, 0x65, 0xe4, 0x0f, 0x13, 0xb0, 0x8e, 0x6f, 0x95, 0xde, 0x14, 0xcf, + 0x83, 0xaf, 0x65, 0xa2, 0x35, 0x14, 0xe7, 0xb7, 0x67, 0xe1, 0xba, 0x89, 0xf5, 0x66, 0x4d, 0x30, + 0x2b, 0x23, 0x35, 0xcc, 0x82, 0xd5, 0x2c, 0x4d, 0xb3, 0x9b, 0x55, 0x16, 0x2f, 0x9a, 0xbd, 0x4e, + 0xcf, 0xd3, 0x11, 0x79, 0x2a, 0x81, 0x44, 0xc5, 0x21, 0x38, 0xa8, 0x3a, 0x1a, 0xc8, 0x7d, 0xd9, + 0xf8, 0xbe, 0x81, 0xb0, 0xf4, 0x1b, 0x3f, 0xc0, 0x9f, 0xc6, 0x77, 0x0d, 0x09, 0x7b, 0x0e, 0x33, + 0x54, 0xa7, 0x61, 0x27, 0x0c, 0x6b, 0x5e, 0x81, 0x34, 0x2f, 0x1a, 0x6f, 0x81, 0xcb, 0xfd, 0x69, + 0x2e, 0x53, 0xfd, 0x64, 0x8e, 0x71, 0x35, 0xb5, 0x50, 0x52, 0xa2, 0xf7, 0xf0, 0xb1, 0x3d, 0xf6, + 0xee, 0x89, 0x7d, 0x43, 0x44, 0x90, 0x53, 0xea, 0xea, 0x63, 0xa2, 0xc9, 0xec, 0xaf, 0xb3, 0x39, + 0x86, 0x59, 0x7a, 0x82, 0xb4, 0x93, 0xf9, 0x0a, 0x72, 0xaa, 0xec, 0x25, 0xd0, 0x3a, 0x6c, 0x0b, + 0xfc, 0x7d, 0x8c, 0xa6, 0x77, 0x66, 0x96, 0x9c, 0x24, 0xcf, 0xec, 0x0c, 0x81, 0xda, 0x48, 0xbe, + 0xe6, 0x06, 0x21, 0x85, 0x69, 0x96, 0x71, 0x25, 0x52, 0xd1, 0x1f, 0xc3, 0x27, 0xb7, 0x9d, 0x0a, + 0x41, 0x76, 0x3b, 0x65, 0x5a, 0xff, 0x79, 0xf1, 0xeb, 0x47, 0xac, 0x96, 0xe1, 0x6d, 0xee, 0x6e, + 0xff, 0x55, 0xa7, 0xe7, 0xf3, 0x4d, 0xbc, 0x9f, 0xdf, 0xfd, 0xe3, 0xea, 0x6a, 0xf8, 0xfe, 0xe3, + 0xc5, 0x4f, 0x68, 0x6a, 0x9d, 0xbe, 0x7d, 0xf3, 0xf6, 0x6c, 0x30, 0x78, 0xd3, 0x3b, 0xeb, 0xf5, + 0xcf, 0x4e, 0x07, 0xaf, 0x2b, 0x7b, 0x12, 0xe8, 0x38, 0x90, 0x3f, 0x06, 0x1b, 0x8a, 0x64, 0x78, + 0x62, 0x50, 0x34, 0x63, 0x53, 0xee, 0xf6, 0x60, 0xbb, 0xbe, 0x35, 0xaf, 0x51, 0x07, 0xf7, 0x2e, + 0xd0, 0xd3, 0x12, 0x98, 0xd7, 0xc7, 0xc3, 0x4a, 0x16, 0x1b, 0x41, 0x78, 0x15, 0xac, 0xfe, 0xb3, + 0xcc, 0x9a, 0x6d, 0x94, 0xec, 0x4e, 0xd3, 0x49, 0x13, 0x46, 0xa3, 0x4b, 0x1a, 0xd8, 0x95, 0x66, + 0x43, 0x57, 0x0c, 0x84, 0xe3, 0x74, 0x4f, 0xd1, 0x10, 0x71, 0xe6, 0x0f, 0xae, 0x5c, 0xbd, 0x62, + 0x5f, 0x13, 0xfe, 0x4c, 0x97, 0x27, 0x44, 0xe7, 0xec, 0x30, 0x62, 0x7f, 0xa5, 0x2b, 0x32, 0xcb, + 0x75, 0xb3, 0xb1, 0x45, 0x81, 0x89, 0x94, 0x30, 0x8a, 0x12, 0x98, 0x99, 0x92, 0x5c, 0x50, 0x67, + 0x82, 0x98, 0xd1, 0x3b, 0x4d, 0xde, 0x43, 0x4d, 0xc0, 0x2d, 0x19, 0xda, 0xaa, 0x37, 0x51, 0xb2, + 0xaa, 0x30, 0x26, 0xc9, 0x1d, 0x07, 0x6d, 0xd4, 0x8d, 0x2e, 0x1a, 0x33, 0xfc, 0xff, 0x38, 0xcd, + 0x9a, 0xbc, 0xed, 0x1e, 0xff, 0xc5, 0xf8, 0xe1, 0x2e, 0x9c, 0x06, 0x04, 0x8d, 0x2b, 0x75, 0x9d, + 0x2b, 0xc8, 0x76, 0xe3, 0xf5, 0xa2, 0x39, 0xd6, 0x96, 0x25, 0x3c, 0x70, 0xa8, 0x28, 0xec, 0x34, + 0xb1, 0xff, 0x9d, 0x23, 0xec, 0x59, 0xdf, 0xa7, 0xcb, 0xe9, 0xb8, 0xea, 0xae, 0xef, 0x56, 0x6b, + 0x92, 0x4b, 0x91, 0x4b, 0xdb, 0xbc, 0x9d, 0x75, 0x10, 0x92, 0xbf, 0xf4, 0x7b, 0x03, 0x62, 0xab, + 0x4d, 0xd2, 0x36, 0x32, 0x03, 0xe6, 0x77, 0x19, 0x4d, 0x39, 0x64, 0x4d, 0x5e, 0xa2, 0x14, 0xfb, + 0x09, 0x81, 0x92, 0x46, 0xd0, 0x63, 0x25, 0x86, 0x1d, 0x38, 0x0c, 0xec, 0x74, 0x96, 0xd2, 0x46, + 0x9d, 0x02, 0x25, 0x2a, 0xf7, 0xb0, 0x94, 0xc8, 0x3c, 0x98, 0x6b, 0xda, 0xb0, 0xee, 0x75, 0x08, + 0xa1, 0x57, 0x45, 0x79, 0xc8, 0x25, 0x86, 0xf3, 0xd1, 0x4d, 0xba, 0x34, 0xe7, 0xb1, 0x09, 0x9b, + 0xc7, 0x34, 0x0d, 0x47, 0xb1, 0x81, 0x0f, 0x56, 0x37, 0xc9, 0x75, 0xe6, 0x57, 0xe2, 0xa4, 0x62, + 0x6d, 0xc1, 0xee, 0xbe, 0x60, 0x23, 0x44, 0x67, 0x0f, 0x23, 0x45, 0x4f, 0x9e, 0xa7, 0xd9, 0x3f, + 0x56, 0x90, 0xae, 0xed, 0x21, 0x4b, 0x7e, 0xa7, 0x4f, 0x29, 0x9a, 0x6e, 0x39, 0x56, 0x14, 0xfd, + 0x41, 0x38, 0x51, 0x9e, 0xf7, 0x82, 0x2a, 0x0a, 0xc5, 0xa8, 0x0a, 0x54, 0xa4, 0x9d, 0x7b, 0xb5, + 0x58, 0x3a, 0x9d, 0xe2, 0x73, 0x3a, 0xc3, 0x45, 0xbc, 0x5c, 0x2d, 0x10, 0x5c, 0x72, 0x17, 0x13, + 0x2f, 0x48, 0x30, 0x9a, 0x22, 0x8e, 0x40, 0x43, 0x77, 0xde, 0x02, 0x99, 0xd1, 0x2c, 0x68, 0x79, + 0xd7, 0x5a, 0xbb, 0x83, 0x75, 0xdc, 0x33, 0x18, 0xfe, 0x52, 0xc5, 0x8f, 0x89, 0x0a, 0xdd, 0xfb, + 0xd3, 0xe4, 0xa3, 0xdd, 0xa2, 0xc3, 0x58, 0xe2, 0xf3, 0x71, 0x0b, 0x5a, 0xe5, 0xb3, 0x61, 0x09, + 0x18, 0xab, 0xe0, 0x29, 0x4c, 0xc7, 0x44, 0x24, 0x6e, 0x64, 0xff, 0xcd, 0x2e, 0x03, 0x4a, 0xad, + 0x92, 0xe9, 0xe2, 0x26, 0x0c, 0x50, 0xff, 0xf9, 0x46, 0x29, 0x87, 0x1b, 0xcd, 0x1a, 0xee, 0x62, + 0x60, 0xec, 0x75, 0x63, 0x55, 0x35, 0xfe, 0xd6, 0x80, 0xa9, 0x68, 0x52, 0x80, 0xa5, 0x92, 0x78, + 0xba, 0xd2, 0xd2, 0x5f, 0x48, 0x71, 0x4a, 0x92, 0xb1, 0xbc, 0x1b, 0x74, 0xfa, 0xfe, 0x97, 0xf2, + 0x59, 0x48, 0x5b, 0xc0, 0xd4, 0x8b, 0x1c, 0xf4, 0xf5, 0x34, 0x9c, 0xac, 0x4a, 0x66, 0x14, 0x4d, + 0x4d, 0xe6, 0x77, 0x96, 0xb9, 0x76, 0x97, 0xc4, 0xf7, 0x8b, 0x74, 0x99, 0x0d, 0x8d, 0xc7, 0x38, + 0xaa, 0xcf, 0x35, 0x6d, 0x53, 0x58, 0x5b, 0xd6, 0x73, 0x03, 0x99, 0x67, 0x0b, 0x0d, 0x82, 0xb3, + 0x90, 0x8f, 0x9d, 0x77, 0x59, 0xfa, 0x5b, 0x32, 0x8d, 0x19, 0x8b, 0xe1, 0x73, 0x87, 0x8d, 0xd5, + 0x68, 0x19, 0xc7, 0xf3, 0x4f, 0xec, 0x9c, 0xde, 0x19, 0x52, 0xc8, 0x36, 0x57, 0x59, 0xb8, 0x84, + 0x89, 0x2b, 0x1a, 0x4c, 0x58, 0x9c, 0xc3, 0x7a, 0x6d, 0xbe, 0x24, 0xb2, 0x32, 0x17, 0xf3, 0x71, + 0xa3, 0x51, 0x58, 0xa6, 0xc1, 0xcb, 0xb0, 0x2a, 0xd0, 0xc4, 0x78, 0xe8, 0x06, 0xfc, 0xeb, 0xde, + 0x27, 0x78, 0x20, 0xb9, 0xd1, 0xc0, 0x19, 0xf0, 0xa5, 0xce, 0xf5, 0x2c, 0x00, 0xa6, 0x69, 0xf3, + 0x42, 0x0f, 0x0e, 0x98, 0x99, 0x18, 0xf0, 0x41, 0x4e, 0x95, 0x8f, 0x4b, 0xca, 0xf5, 0x79, 0xa2, + 0x0e, 0x72, 0x68, 0x32, 0x77, 0x06, 0xe6, 0x3f, 0xb7, 0xe1, 0xf8, 0x3d, 0x1e, 0x28, 0x44, 0x35, + 0x59, 0x20, 0x7d, 0x45, 0x57, 0xe5, 0xcc, 0xa4, 0x49, 0x9f, 0x80, 0x72, 0x13, 0x9a, 0x8b, 0x74, + 0x00, 0xe2, 0x25, 0x5a, 0xa1, 0x2e, 0xc7, 0x6b, 0x9e, 0xb3, 0xf1, 0x79, 0x15, 0xbf, 0xe3, 0xcc, + 0x8f, 0xe4, 0x54, 0x24, 0xd1, 0x6b, 0x11, 0xa9, 0xac, 0x63, 0x3d, 0x72, 0x72, 0x96, 0x63, 0x68, + 0xfc, 0x2d, 0xc0, 0xa7, 0x76, 0xbd, 0x12, 0x20, 0x94, 0xda, 0xf8, 0xeb, 0x5f, 0x45, 0xcd, 0x8d, + 0xef, 0x49, 0x39, 0x47, 0xaf, 0xf8, 0x62, 0x8d, 0x34, 0xa1, 0x2c, 0xd0, 0x29, 0x71, 0x19, 0x0b, + 0x62, 0x7e, 0x21, 0xdc, 0x12, 0x68, 0x7c, 0xa3, 0x74, 0x10, 0x3b, 0x38, 0x33, 0x4d, 0x16, 0x00, + 0xaa, 0xca, 0x44, 0x8a, 0x80, 0x8c, 0x7a, 0x35, 0x41, 0x4f, 0x11, 0x3d, 0x9d, 0x84, 0x67, 0x87, + 0xb1, 0xc7, 0x63, 0x34, 0x93, 0x86, 0xd7, 0xe1, 0x28, 0x4b, 0xc1, 0xc9, 0x3e, 0xf0, 0xd9, 0xf4, + 0x0c, 0x58, 0x17, 0x71, 0x7b, 0x41, 0xef, 0x55, 0x57, 0x2d, 0xed, 0xdf, 0x99, 0xa8, 0x2e, 0x94, + 0xee, 0x82, 0xa7, 0xc4, 0x14, 0x96, 0x97, 0x1e, 0xb2, 0xd9, 0x41, 0xbb, 0x0a, 0x66, 0x11, 0xef, + 0x36, 0xdc, 0xd7, 0x2d, 0x9c, 0x5f, 0x42, 0x56, 0x57, 0x93, 0x5b, 0x60, 0x48, 0x31, 0x51, 0xee, + 0x98, 0x16, 0x8e, 0x47, 0x94, 0x4e, 0x05, 0x6b, 0x8e, 0x3b, 0x03, 0x6b, 0x38, 0x8f, 0xce, 0x93, + 0x6c, 0x3e, 0xea, 0x1b, 0xa2, 0xe3, 0xd3, 0xeb, 0xbc, 0x75, 0xc1, 0x6d, 0x56, 0x52, 0x88, 0x8d, + 0xbd, 0x60, 0x14, 0xe6, 0xb6, 0xcb, 0xd9, 0x10, 0x32, 0x68, 0x3c, 0x9e, 0xc4, 0x41, 0x18, 0xad, + 0x9a, 0xf9, 0xf2, 0x6d, 0xd6, 0x47, 0x85, 0xee, 0xb9, 0xb6, 0x42, 0x2d, 0xee, 0xf1, 0xb6, 0x5e, + 0x81, 0x7c, 0x1c, 0x0d, 0x1f, 0x34, 0x33, 0xae, 0x96, 0x9e, 0x71, 0x05, 0xf6, 0xa4, 0x9e, 0x35, + 0xaa, 0xbf, 0xb8, 0x6b, 0x5d, 0x71, 0x70, 0xc2, 0xb6, 0x88, 0x6a, 0x03, 0x7d, 0x7b, 0xe7, 0x57, + 0xf3, 0x53, 0xa5, 0x48, 0xfa, 0x4c, 0xc3, 0x0d, 0xb3, 0x85, 0x15, 0x01, 0x8b, 0xb0, 0x10, 0x91, + 0xda, 0x7d, 0xd3, 0x7f, 0x8b, 0x18, 0xce, 0x2f, 0xb7, 0x5a, 0x14, 0x74, 0xb9, 0x73, 0xc9, 0x86, + 0x4d, 0x24, 0x93, 0x69, 0x42, 0x91, 0x18, 0xda, 0x94, 0x57, 0x60, 0x59, 0x85, 0x79, 0x1b, 0x83, + 0xe6, 0x78, 0x50, 0xd0, 0x70, 0x1a, 0x90, 0x12, 0xe0, 0x29, 0x08, 0xd4, 0xaf, 0x4e, 0xe8, 0xf8, + 0xdb, 0xf9, 0x1d, 0x5f, 0xda, 0xb1, 0xb8, 0xe7, 0x74, 0xba, 0x2b, 0xe7, 0x7d, 0x78, 0xf2, 0x43, + 0x39, 0x47, 0x38, 0xb7, 0x52, 0xd5, 0x37, 0xfd, 0x24, 0x5b, 0xb8, 0x07, 0xde, 0xfe, 0x7c, 0xe4, + 0x6d, 0xb9, 0xad, 0xf6, 0xc6, 0x0c, 0x92, 0xf6, 0x20, 0xe7, 0x80, 0xb7, 0x90, 0x15, 0x46, 0x67, + 0x92, 0xc1, 0xe5, 0x62, 0x1b, 0x9c, 0xdb, 0x6c, 0x9a, 0xcc, 0x0b, 0xcf, 0x3d, 0x2a, 0x20, 0x76, + 0x19, 0xa3, 0x80, 0x99, 0x64, 0x8d, 0x0a, 0x50, 0xc4, 0x55, 0x39, 0xc8, 0x3f, 0x91, 0xec, 0x51, + 0x3b, 0x5c, 0xf9, 0x32, 0xc9, 0x22, 0x05, 0xc0, 0xcb, 0x0d, 0x86, 0x49, 0x36, 0x69, 0x38, 0x77, + 0xea, 0xcd, 0xa7, 0x96, 0x55, 0x98, 0x67, 0x83, 0xa6, 0xea, 0x51, 0xe9, 0x2a, 0xce, 0x92, 0x16, + 0x4c, 0x9a, 0x2e, 0xb8, 0xfc, 0x19, 0xd7, 0xab, 0x07, 0x57, 0xb6, 0x62, 0xfc, 0xa3, 0xb3, 0xeb, + 0xf1, 0x84, 0xa1, 0xda, 0xd0, 0x5d, 0xf8, 0x64, 0x4f, 0x21, 0x29, 0xf4, 0x69, 0xa1, 0x6c, 0xa3, + 0x81, 0x69, 0x73, 0x31, 0x98, 0x2e, 0xc1, 0x36, 0x67, 0x0a, 0x34, 0xb1, 0x02, 0xc0, 0x29, 0xad, + 0xed, 0x6f, 0x83, 0xd2, 0x0b, 0x58, 0xf4, 0xdd, 0x64, 0x99, 0x6c, 0xb7, 0xa9, 0x68, 0xba, 0xc7, + 0x73, 0xdf, 0x1f, 0xee, 0x2e, 0x19, 0x36, 0xc3, 0xe9, 0xe9, 0xb5, 0xbd, 0xef, 0x82, 0x55, 0x9f, + 0x0e, 0xcf, 0xfe, 0x80, 0x3e, 0xbb, 0xd1, 0x73, 0xbd, 0x4c, 0x67, 0x66, 0x3c, 0x32, 0x84, 0x91, + 0x56, 0x58, 0xa6, 0x64, 0x20, 0x95, 0x60, 0x7a, 0x25, 0x58, 0xca, 0x36, 0x11, 0x4d, 0xe7, 0xbc, + 0x0e, 0x57, 0x81, 0xf0, 0x2c, 0x2d, 0x26, 0x1b, 0xd9, 0x81, 0x65, 0x44, 0x67, 0x69, 0x01, 0xc9, + 0x28, 0xb3, 0x02, 0xc1, 0x04, 0xaa, 0x88, 0x5c, 0x71, 0x9e, 0xb0, 0xa8, 0xaf, 0x35, 0x28, 0x2b, + 0x6f, 0xe8, 0x80, 0x85, 0x9c, 0x60, 0x02, 0xae, 0x48, 0xaa, 0xb5, 0x77, 0x15, 0x98, 0x4a, 0x64, + 0x5a, 0x3a, 0xd2, 0x8c, 0x71, 0xbb, 0xc5, 0xff, 0xa9, 0x8e, 0xb0, 0x2b, 0x93, 0x47, 0xfe, 0x08, + 0xc2, 0xa1, 0x89, 0xe5, 0xa5, 0x53, 0x12, 0xea, 0x9c, 0x08, 0x76, 0x65, 0x7d, 0xf1, 0x33, 0x08, + 0x87, 0x79, 0x96, 0x35, 0x56, 0x88, 0x60, 0xf7, 0x61, 0x5c, 0xa9, 0xbf, 0xf4, 0x3c, 0x43, 0xcf, + 0xeb, 0x20, 0x9e, 0x89, 0xc9, 0x4d, 0x63, 0x91, 0xc7, 0xbd, 0x27, 0x1f, 0x5b, 0x70, 0x43, 0x6f, + 0x14, 0x52, 0x9d, 0xa5, 0x5e, 0x9e, 0xdf, 0xcb, 0x28, 0x26, 0x7d, 0x6c, 0x61, 0x69, 0x39, 0x10, + 0x00, 0x5c, 0xfa, 0x0c, 0xe4, 0xb1, 0x87, 0x93, 0x70, 0x0a, 0x04, 0xdc, 0xfe, 0x54, 0x21, 0x1e, + 0xee, 0x7d, 0x1d, 0x47, 0x14, 0x88, 0x01, 0x35, 0x61, 0x50, 0xf2, 0x51, 0x79, 0x11, 0x74, 0xe0, + 0x57, 0xec, 0x44, 0xa5, 0x2b, 0x23, 0x77, 0xb8, 0x43, 0x3d, 0x57, 0x90, 0xc2, 0x73, 0xd8, 0xf9, + 0xbc, 0x2c, 0x55, 0xd3, 0x1f, 0xfc, 0x6a, 0xaa, 0x27, 0x10, 0x84, 0xf4, 0x8c, 0x05, 0x76, 0x40, + 0xe1, 0x6b, 0xcc, 0x41, 0x53, 0x6e, 0x62, 0x5b, 0xee, 0x11, 0xa7, 0x9b, 0x1b, 0xeb, 0x3c, 0x82, + 0x48, 0x41, 0x10, 0xc9, 0x08, 0x22, 0x15, 0x41, 0x96, 0xee, 0x7d, 0x1b, 0x9b, 0x77, 0x88, 0xab, + 0x36, 0xc2, 0xe3, 0x7d, 0x78, 0xa8, 0xeb, 0xd7, 0xb4, 0x83, 0xd5, 0x7a, 0x22, 0x4b, 0x3d, 0x3b, + 0x28, 0xf3, 0x25, 0x57, 0xa6, 0xed, 0x07, 0x14, 0x98, 0xa4, 0xbe, 0x0e, 0xc7, 0xf1, 0xa3, 0x6a, + 0x4b, 0xc7, 0x53, 0x78, 0x8e, 0xad, 0xa9, 0x1c, 0x50, 0xcd, 0xa8, 0x62, 0xa3, 0xec, 0x7d, 0x20, + 0x59, 0xe9, 0xac, 0x5d, 0x56, 0xaf, 0xc2, 0xde, 0xd8, 0x6a, 0x75, 0x7a, 0x0e, 0x52, 0x73, 0xbb, + 0x9b, 0xfd, 0x96, 0x7b, 0xfd, 0x4f, 0x74, 0xab, 0xdf, 0x72, 0xa7, 0xff, 0x60, 0x37, 0xfa, 0x1f, + 0xd9, 0x1e, 0x35, 0xc5, 0x08, 0x00, 0x41, 0xe4, 0xa8, 0x9b, 0x30, 0xc7, 0x08, 0x86, 0xf2, 0x3c, + 0x8c, 0xd0, 0xda, 0xe2, 0xac, 0x2d, 0xce, 0xda, 0xe2, 0xac, 0x2d, 0xce, 0xda, 0xe2, 0xac, 0x2d, + 0xce, 0x97, 0x65, 0x71, 0xfe, 0x33, 0x4d, 0x67, 0xfb, 0x5b, 0x9d, 0x4f, 0x6d, 0x50, 0x1e, 0x25, + 0x06, 0x58, 0xa1, 0xd5, 0xc9, 0xfb, 0xf1, 0x08, 0x96, 0x67, 0xae, 0xae, 0x72, 0x43, 0x52, 0x31, + 0x17, 0x0f, 0x11, 0x64, 0xab, 0xb6, 0x1a, 0x6b, 0xab, 0xb1, 0xb6, 0x1a, 0xff, 0x5c, 0x56, 0x63, + 0x45, 0x1b, 0xef, 0x38, 0xd6, 0x1d, 0xd8, 0x66, 0x53, 0xb8, 0xdf, 0xa4, 0x9e, 0x7e, 0x63, 0x53, + 0x8a, 0x67, 0xcb, 0xc7, 0x46, 0x14, 0x59, 0x82, 0x73, 0xc5, 0xa5, 0x32, 0x5d, 0x12, 0xc2, 0x59, + 0xe2, 0x04, 0x49, 0xd8, 0xe1, 0x04, 0x4e, 0x2c, 0xc6, 0xf3, 0xcc, 0x2f, 0x94, 0x48, 0xe5, 0xb7, + 0x62, 0xc0, 0xa4, 0x98, 0xa3, 0xf2, 0x08, 0x65, 0xac, 0x1c, 0x4f, 0x39, 0x23, 0x87, 0x42, 0xf1, + 0x86, 0xb3, 0x39, 0x30, 0x43, 0x68, 0x8d, 0xbc, 0x80, 0x72, 0xec, 0x57, 0x4f, 0x21, 0xb7, 0xf8, + 0x72, 0x1b, 0x83, 0x28, 0x10, 0x6d, 0x37, 0x05, 0x77, 0x5f, 0x6f, 0x4a, 0xee, 0xbe, 0xde, 0x54, + 0xb8, 0x5f, 0x77, 0x53, 0xe5, 0x12, 0xe6, 0xbe, 0xc7, 0xfe, 0xaa, 0x9f, 0xdf, 0xaa, 0x62, 0x50, + 0xe0, 0xf1, 0x90, 0x5b, 0x01, 0x09, 0xa6, 0xc0, 0x4f, 0x28, 0xd9, 0x63, 0x83, 0x64, 0xbc, 0x8a, + 0x4a, 0x0a, 0x6e, 0x31, 0x0c, 0x72, 0xe1, 0x1b, 0xdb, 0x35, 0xd8, 0x1b, 0x76, 0x0d, 0xf6, 0xa6, + 0xe8, 0x1a, 0x2c, 0x2b, 0xbe, 0xcd, 0x08, 0xe4, 0xcf, 0x93, 0x1d, 0xf0, 0xe8, 0x20, 0x9e, 0xb5, + 0x64, 0x86, 0x04, 0xd2, 0x54, 0x81, 0x83, 0xde, 0x3e, 0xee, 0x28, 0x38, 0xdd, 0x0c, 0x5e, 0x27, + 0xf8, 0x70, 0x7c, 0x4a, 0x3f, 0x4b, 0x24, 0x9f, 0xcc, 0x63, 0x45, 0x22, 0x2e, 0x13, 0x1c, 0x9d, + 0x35, 0xbe, 0x31, 0x5b, 0xaa, 0x04, 0x66, 0xf8, 0xc6, 0x4d, 0xaf, 0xf1, 0x03, 0xed, 0x9a, 0xc6, + 0x77, 0x78, 0x7c, 0x40, 0x35, 0x94, 0x42, 0x06, 0xdc, 0xe1, 0x38, 0xe9, 0xe4, 0x54, 0xeb, 0xd2, + 0xed, 0x75, 0x06, 0xfd, 0xc1, 0xab, 0x16, 0xf9, 0x9c, 0xa0, 0xcf, 0xd7, 0xfd, 0xf3, 0x01, 0xfd, + 0x8c, 0xd0, 0x67, 0xef, 0xf5, 0x60, 0xe0, 0xd3, 0xe9, 0xad, 0xde, 0xfd, 0xe9, 0x29, 0x57, 0x49, + 0xc2, 0x59, 0x04, 0x32, 0x06, 0xcb, 0x24, 0x0e, 0x77, 0xea, 0x89, 0x7f, 0x30, 0x28, 0x46, 0xd3, + 0x0a, 0x64, 0x60, 0xee, 0xca, 0x5b, 0xc2, 0x81, 0xef, 0x74, 0x8e, 0xfa, 0x8e, 0xdc, 0x0c, 0x80, + 0xfb, 0xa1, 0xa4, 0xfd, 0xdd, 0xfe, 0xab, 0xd3, 0x37, 0x67, 0x10, 0x9d, 0x9c, 0x4b, 0x44, 0x47, + 0x54, 0x2f, 0x97, 0x04, 0x99, 0x0e, 0x92, 0xb8, 0xad, 0x4b, 0x47, 0x07, 0x42, 0x6e, 0x93, 0x2c, + 0xd1, 0x09, 0xad, 0x3c, 0x14, 0x3e, 0x88, 0x2d, 0x61, 0x24, 0x71, 0x88, 0xe8, 0x30, 0x6c, 0x1a, + 0xdf, 0x04, 0x70, 0xc8, 0xbe, 0xf1, 0x5f, 0x09, 0xc2, 0x0d, 0x58, 0x8d, 0x39, 0x81, 0xeb, 0xb4, + 0x9a, 0x86, 0x54, 0x97, 0x34, 0xaf, 0x99, 0xb5, 0x30, 0x1b, 0xb8, 0x8b, 0xf4, 0xbe, 0x49, 0xc6, + 0xab, 0xdb, 0x3f, 0xef, 0xb1, 0x23, 0xe2, 0xd0, 0x12, 0x34, 0x18, 0xe8, 0xe3, 0xed, 0x1b, 0xcf, + 0xdc, 0xa2, 0x3e, 0xb9, 0x20, 0xf2, 0x85, 0x8e, 0x4e, 0x07, 0x75, 0x2c, 0x41, 0xcd, 0xc6, 0x56, + 0xa6, 0x52, 0x5e, 0x6b, 0x3a, 0x4b, 0x8a, 0x1e, 0xea, 0x3a, 0x95, 0xb1, 0xd3, 0x6c, 0x87, 0x0e, + 0x2c, 0x45, 0x3c, 0x51, 0x11, 0x4f, 0xec, 0x88, 0x27, 0xc5, 0x88, 0x27, 0x1a, 0xe2, 0x48, 0x45, + 0x1c, 0xd9, 0x11, 0x47, 0xc5, 0x88, 0x23, 0x15, 0xb1, 0x2b, 0xe9, 0x8e, 0xea, 0x81, 0x32, 0xb1, + 0x54, 0x15, 0x84, 0x78, 0x90, 0x16, 0xb3, 0x67, 0xeb, 0xdc, 0xd5, 0x56, 0x30, 0x7a, 0x63, 0xc5, + 0xe8, 0xfa, 0xdd, 0x53, 0x31, 0x78, 0x44, 0x95, 0x65, 0x0f, 0x9d, 0xa3, 0xfa, 0x36, 0x20, 0x0c, + 0x39, 0xad, 0x77, 0x72, 0x00, 0x05, 0x45, 0x89, 0xb6, 0x0a, 0xcb, 0x9e, 0x29, 0xe0, 0x94, 0x41, + 0x6f, 0xc9, 0x61, 0x3d, 0xac, 0xda, 0x22, 0x93, 0x75, 0xa3, 0x46, 0xec, 0x90, 0x8a, 0x9a, 0xf5, + 0x19, 0x03, 0xee, 0xda, 0xab, 0xfe, 0x55, 0x78, 0xd5, 0x0d, 0x2c, 0xf2, 0x32, 0x3d, 0xef, 0x25, + 0x0d, 0x79, 0x3c, 0xdf, 0x3c, 0x96, 0x1c, 0x5b, 0xa9, 0xcf, 0x9a, 0x9c, 0xd8, 0x4e, 0x7b, 0xde, + 0x5e, 0x63, 0xce, 0xcd, 0xfe, 0x60, 0x97, 0x39, 0xfe, 0xb5, 0x38, 0xff, 0x5f, 0x94, 0xc7, 0xbf, + 0x76, 0xf3, 0x1f, 0xf2, 0x60, 0x59, 0x91, 0xf5, 0x46, 0x83, 0xc5, 0x8d, 0x27, 0x31, 0xbf, 0xf0, + 0x2c, 0x83, 0xdc, 0x3f, 0xf9, 0xfe, 0xc0, 0x21, 0xcc, 0x4b, 0x92, 0xf3, 0x10, 0x58, 0xcc, 0xc8, + 0x52, 0xf3, 0xf3, 0x81, 0x9f, 0xbc, 0x03, 0xef, 0x22, 0xc3, 0x1d, 0xb0, 0xbb, 0xed, 0xcc, 0x88, + 0x0a, 0xc0, 0x86, 0x92, 0x12, 0x1e, 0x10, 0x04, 0xb1, 0xef, 0x4e, 0x7e, 0x20, 0x2a, 0xe0, 0xc9, + 0x77, 0xe4, 0x65, 0x2c, 0xb9, 0xbf, 0xbd, 0x07, 0x57, 0x53, 0x76, 0x9d, 0x63, 0x9c, 0xb2, 0x3b, + 0xce, 0x19, 0x3b, 0x5a, 0x0b, 0xd3, 0x52, 0x2d, 0x76, 0x76, 0x45, 0x43, 0xf9, 0xf4, 0x10, 0x86, + 0x32, 0x5c, 0xcb, 0xff, 0xb3, 0x58, 0xc7, 0xac, 0x5b, 0x3b, 0xcb, 0x09, 0x37, 0x38, 0x6d, 0x86, + 0xa6, 0x47, 0x2f, 0x6d, 0x9f, 0xe2, 0xa8, 0x41, 0x1e, 0xfd, 0x75, 0xea, 0xe4, 0x4c, 0x4e, 0x9a, + 0x87, 0x6b, 0x91, 0x86, 0x4e, 0xb3, 0x3c, 0x8f, 0xbd, 0x69, 0xb5, 0x8b, 0xd9, 0xf3, 0xb8, 0xf6, + 0xcb, 0xb1, 0x8c, 0x90, 0x17, 0xbc, 0x4b, 0x56, 0x51, 0x35, 0x79, 0x5a, 0x5d, 0xfd, 0x38, 0x0a, + 0xb6, 0x85, 0x45, 0xcb, 0x55, 0x66, 0x2b, 0xff, 0x55, 0x53, 0x7f, 0x9f, 0xf5, 0xae, 0xa2, 0x19, + 0xd9, 0x56, 0xc7, 0x56, 0x0a, 0x07, 0x7f, 0x9f, 0x93, 0x25, 0xcf, 0x59, 0x39, 0xac, 0x77, 0x42, + 0xed, 0x3b, 0xa1, 0xf4, 0x61, 0xcc, 0x35, 0x7d, 0xaa, 0xd2, 0xbe, 0x19, 0x9a, 0xdb, 0x33, 0xa5, + 0x25, 0x5c, 0x6d, 0x75, 0x79, 0x5c, 0x47, 0xe9, 0x38, 0x99, 0xc1, 0xba, 0x9e, 0xce, 0xfd, 0x6a, + 0xc1, 0xfb, 0x68, 0xb3, 0x0f, 0x11, 0x7f, 0x51, 0x8e, 0x76, 0x47, 0xa2, 0x89, 0x2e, 0x56, 0xc9, + 0x14, 0xc1, 0xd2, 0x00, 0xfe, 0x9c, 0x32, 0x1a, 0xd2, 0x06, 0x5b, 0x15, 0x4d, 0x29, 0xa3, 0xb3, + 0x86, 0x98, 0xa6, 0x4e, 0x57, 0x49, 0x62, 0xf7, 0x29, 0x14, 0x52, 0x69, 0x6c, 0x15, 0xc7, 0xc5, + 0x48, 0x5a, 0xb4, 0xa2, 0x82, 0xe7, 0x2d, 0xb5, 0x27, 0x7c, 0x71, 0x97, 0x6e, 0xa3, 0x46, 0xd8, + 0xbb, 0x59, 0xd7, 0x50, 0x1e, 0x52, 0x24, 0x33, 0xb4, 0x37, 0x25, 0x89, 0xbd, 0x49, 0xdb, 0x8d, + 0x74, 0xe3, 0x8b, 0x69, 0x7c, 0x17, 0x8a, 0x08, 0x65, 0x98, 0x1f, 0x3d, 0x2a, 0xb5, 0x93, 0x90, + 0x07, 0x2a, 0xc3, 0xef, 0x18, 0xe4, 0xf9, 0x92, 0x4c, 0x26, 0x17, 0xc7, 0xde, 0xf5, 0x71, 0x70, + 0xed, 0x30, 0x80, 0x80, 0x59, 0x2c, 0x20, 0x18, 0x68, 0xb9, 0x90, 0xec, 0xb1, 0x8a, 0x9d, 0x2e, + 0x32, 0x19, 0x4c, 0x81, 0xc0, 0x8a, 0x07, 0x08, 0x9b, 0x0b, 0x12, 0xa9, 0xd0, 0x0f, 0x2d, 0x6c, + 0x6e, 0xb4, 0x69, 0x41, 0x64, 0x0f, 0xf1, 0x9f, 0x1b, 0x87, 0x84, 0x55, 0xa2, 0xcd, 0xb0, 0x96, + 0xed, 0xd9, 0x8a, 0x8c, 0xac, 0x45, 0x4a, 0x6b, 0x1b, 0x57, 0xa1, 0xb4, 0xa7, 0x14, 0x89, 0x0d, + 0x45, 0xe4, 0xfc, 0xeb, 0x0a, 0xd4, 0xa8, 0x18, 0x27, 0x55, 0x88, 0x30, 0xd3, 0x7f, 0x53, 0xd0, + 0x5b, 0xe6, 0x12, 0x49, 0x05, 0xf2, 0xcc, 0x25, 0xe3, 0x75, 0x38, 0x99, 0xc4, 0x78, 0x19, 0x9a, + 0xff, 0x44, 0x62, 0x7f, 0x11, 0xa6, 0x6d, 0x7c, 0xdf, 0x18, 0x60, 0x5b, 0xb6, 0xd7, 0x39, 0x43, + 0x86, 0x2c, 0x4f, 0x3c, 0xeb, 0x9c, 0xe3, 0xc4, 0xd3, 0x73, 0x94, 0x8a, 0xfe, 0x18, 0xf0, 0x08, + 0x0c, 0xfd, 0x73, 0x8c, 0xa2, 0x49, 0x12, 0xda, 0xf0, 0xe9, 0xb8, 0xf9, 0x2a, 0x31, 0xa6, 0x1e, + 0x35, 0xe5, 0xe3, 0x65, 0x72, 0x47, 0xe2, 0xc3, 0x35, 0x47, 0xad, 0x6b, 0xf4, 0x5f, 0xe2, 0xb4, + 0x9b, 0x61, 0x6b, 0x8c, 0xfe, 0x9b, 0x38, 0x5e, 0x73, 0xd2, 0xba, 0x41, 0xff, 0x91, 0xb4, 0x08, + 0xfd, 0x37, 0x72, 0x90, 0x4d, 0x8f, 0x6c, 0x9d, 0x01, 0x8e, 0xca, 0x2e, 0x30, 0xb7, 0x9a, 0xfd, + 0xb7, 0x9d, 0xc1, 0xf9, 0xab, 0x41, 0x9b, 0x54, 0x9e, 0x8b, 0x8c, 0x8a, 0xcd, 0x19, 0x2c, 0xae, + 0x70, 0x95, 0x9d, 0x35, 0xdc, 0xc0, 0x82, 0x90, 0x6a, 0x1e, 0xf9, 0xde, 0xf0, 0x6f, 0x16, 0xc7, + 0x4f, 0x58, 0x84, 0x8f, 0x20, 0xb8, 0x9f, 0x48, 0x3e, 0x13, 0x71, 0x6a, 0x92, 0xa6, 0xc5, 0xe1, + 0x70, 0xcb, 0x65, 0xe2, 0x14, 0x55, 0x18, 0xce, 0xa5, 0x8b, 0x69, 0x2c, 0x1d, 0xeb, 0x90, 0x9a, + 0x48, 0x5c, 0xdd, 0x84, 0xe3, 0xf4, 0x5e, 0x4f, 0x05, 0x31, 0x6d, 0x04, 0x0f, 0x47, 0x10, 0x80, + 0x4c, 0x04, 0x19, 0xff, 0x74, 0xd9, 0x38, 0xed, 0xf4, 0xcf, 0xfa, 0xe7, 0x6f, 0x07, 0xaf, 0xce, + 0x4f, 0xcf, 0xdf, 0xbc, 0x7d, 0xfd, 0xf6, 0xf4, 0xc4, 0x10, 0xa9, 0x15, 0x74, 0x2e, 0x6b, 0xa8, + 0x5d, 0x99, 0xff, 0x9a, 0xe4, 0xad, 0x66, 0x64, 0xf9, 0x42, 0x94, 0x38, 0x47, 0x8e, 0xb7, 0x8d, + 0xd7, 0x18, 0x3a, 0x55, 0x46, 0xe9, 0x0a, 0xc7, 0xfc, 0x0f, 0xe7, 0xab, 0x66, 0x53, 0x34, 0xf9, + 0x8f, 0xde, 0xe7, 0xb6, 0xf4, 0xd5, 0xff, 0xec, 0xb8, 0xd8, 0x98, 0xa7, 0x41, 0x87, 0x9d, 0x96, + 0x9a, 0xc9, 0x31, 0x4f, 0xd3, 0x45, 0x1c, 0x20, 0x51, 0x3d, 0x47, 0xd0, 0x83, 0x73, 0x97, 0x5e, + 0xd0, 0xc1, 0x14, 0x39, 0x5d, 0xa9, 0x5e, 0x7e, 0x3b, 0x07, 0x07, 0x7b, 0x0b, 0x28, 0xff, 0x12, + 0x37, 0x02, 0x9a, 0x6e, 0x18, 0x03, 0x65, 0x62, 0xaf, 0x4d, 0x73, 0x1d, 0x34, 0xc9, 0x3e, 0x5d, + 0xe2, 0x5b, 0x86, 0x2c, 0x8f, 0xbb, 0xab, 0xc0, 0xd1, 0xf4, 0x9d, 0xdc, 0x46, 0xee, 0x0e, 0x08, + 0xe8, 0x78, 0x71, 0xc7, 0x60, 0xf8, 0x90, 0xcc, 0x6e, 0xf1, 0x53, 0x14, 0x24, 0x7d, 0xd3, 0xfa, + 0x74, 0xe9, 0x4b, 0x16, 0x46, 0xbf, 0xf3, 0xe6, 0xf5, 0x79, 0x5b, 0x84, 0x9d, 0xee, 0x77, 0x5e, + 0x9f, 0xd3, 0xfc, 0x59, 0xb8, 0x26, 0x4f, 0xcd, 0x43, 0x90, 0x3b, 0x5e, 0x8a, 0xc4, 0x1d, 0xbf, + 0xc2, 0x4d, 0xe7, 0xc5, 0x70, 0x53, 0x40, 0xce, 0xa0, 0x71, 0x40, 0x73, 0x1b, 0xef, 0x07, 0xe0, + 0xde, 0x21, 0x23, 0xd1, 0x15, 0xa9, 0x0c, 0x29, 0xc9, 0x70, 0x5c, 0xf6, 0x0d, 0x6f, 0x38, 0x40, + 0x01, 0x46, 0x36, 0x66, 0x18, 0x3c, 0x5e, 0x52, 0x85, 0xec, 0x08, 0x06, 0xce, 0xa4, 0x47, 0x35, + 0xf0, 0x40, 0x91, 0x14, 0x08, 0x58, 0x4b, 0x7e, 0x51, 0xe7, 0x8a, 0x68, 0xd6, 0x20, 0xef, 0x5f, + 0x02, 0x16, 0x26, 0x81, 0xf2, 0x40, 0x45, 0x6d, 0x92, 0xb1, 0x69, 0xd1, 0xfe, 0x72, 0xba, 0x9f, + 0x2e, 0xb1, 0x2c, 0x11, 0xdc, 0x44, 0x9e, 0x0c, 0x81, 0x42, 0xc3, 0x91, 0x14, 0x51, 0x8d, 0xcc, + 0x04, 0x4f, 0x62, 0x7e, 0x0f, 0x03, 0x21, 0xe5, 0x06, 0x71, 0xb2, 0x4c, 0x7c, 0x31, 0x51, 0x8a, + 0x1c, 0x92, 0x5b, 0x48, 0x58, 0x51, 0xaa, 0xb8, 0x13, 0x3a, 0x2d, 0xe9, 0x73, 0x3f, 0xe1, 0xc6, + 0xa7, 0x24, 0xa6, 0x14, 0x3f, 0xaa, 0x71, 0xfe, 0xe6, 0xf5, 0x69, 0xaf, 0xff, 0xea, 0xc4, 0x24, + 0xe1, 0xa8, 0x2f, 0x38, 0xbf, 0x77, 0x8d, 0x5f, 0x5d, 0x2a, 0x89, 0x52, 0x9b, 0x7b, 0xa7, 0x40, + 0x7e, 0xae, 0x95, 0x4a, 0x1b, 0xfd, 0x7d, 0xe9, 0xaa, 0xaf, 0xbe, 0x6a, 0xf2, 0x8d, 0x92, 0xa9, + 0xa5, 0xe2, 0x07, 0x3e, 0x06, 0xb9, 0x38, 0x8f, 0x93, 0x70, 0x36, 0x0b, 0x59, 0x34, 0x40, 0x43, + 0xf0, 0x79, 0xb0, 0x00, 0xe6, 0xf1, 0x2a, 0xbd, 0x0e, 0x97, 0x2f, 0x2e, 0xda, 0x5d, 0xfd, 0xbc, + 0xea, 0x0e, 0xc7, 0xd2, 0x27, 0xe1, 0xa2, 0xe0, 0x79, 0x52, 0x96, 0x5b, 0xf4, 0x52, 0x07, 0x83, + 0x29, 0x7b, 0xab, 0x43, 0x86, 0x2b, 0xea, 0x32, 0x1c, 0xfb, 0xd6, 0xd2, 0x24, 0x9c, 0x67, 0xef, + 0x30, 0x9c, 0x5d, 0xdc, 0x29, 0x1c, 0xa4, 0x80, 0x84, 0x82, 0x0e, 0x29, 0xed, 0x8d, 0x4a, 0x5d, + 0xa1, 0xf6, 0xc3, 0xf3, 0x8b, 0x8c, 0xf8, 0x67, 0x7f, 0x38, 0x94, 0x33, 0xbd, 0x3a, 0x30, 0x2c, + 0xd9, 0x40, 0x08, 0xcb, 0xf2, 0xe4, 0x39, 0x61, 0x79, 0x46, 0x45, 0xa0, 0xd9, 0x92, 0xe7, 0xe5, + 0x16, 0x91, 0x58, 0xd4, 0x86, 0x1e, 0xc1, 0x19, 0x9e, 0x98, 0x0b, 0xc6, 0xfe, 0xa0, 0xa5, 0xb7, + 0x61, 0x77, 0xb5, 0x0d, 0xb6, 0x7e, 0x60, 0x9d, 0x50, 0xdc, 0x03, 0xac, 0xf9, 0x6a, 0xdb, 0x49, + 0xde, 0xbb, 0x0f, 0xbf, 0x5d, 0xbe, 0xfb, 0xe5, 0xf2, 0xdd, 0xd5, 0xe5, 0x87, 0x9f, 0xed, 0x0f, + 0x26, 0x0e, 0x98, 0xcd, 0xc5, 0x43, 0xf5, 0x07, 0x21, 0x7b, 0xe6, 0xab, 0xdd, 0x1f, 0xbc, 0x41, + 0xd9, 0x2c, 0x9a, 0x3c, 0xdf, 0xf6, 0x09, 0xc8, 0x63, 0x34, 0xe4, 0x11, 0x2f, 0x1c, 0x40, 0x1a, + 0xfb, 0x1a, 0xa4, 0x25, 0x2d, 0xe0, 0xef, 0xbf, 0x10, 0x20, 0xf0, 0x36, 0x38, 0x2d, 0xfa, 0x75, + 0xef, 0xbe, 0x3a, 0xa3, 0x6f, 0xd8, 0x08, 0x2f, 0xa2, 0xf4, 0x5e, 0x0c, 0x5d, 0x68, 0xc9, 0x6b, + 0xa3, 0xca, 0xac, 0xe7, 0x1b, 0xcc, 0x02, 0x0a, 0x3f, 0x79, 0x03, 0x96, 0x07, 0xdf, 0x21, 0x65, + 0x3f, 0xd8, 0x1b, 0x39, 0x3e, 0x5b, 0xb9, 0x69, 0x8e, 0xcf, 0xd9, 0x86, 0xfd, 0xc0, 0x9d, 0x40, + 0xcd, 0xee, 0x70, 0x7a, 0x4d, 0x32, 0x45, 0x0e, 0x1d, 0x64, 0xc0, 0xe5, 0xd2, 0x71, 0x66, 0x1a, + 0x32, 0xa4, 0x33, 0x2c, 0xad, 0x26, 0xfb, 0xc5, 0x75, 0x6a, 0x79, 0x08, 0x88, 0x7d, 0xcb, 0x83, + 0x24, 0xdf, 0x66, 0x4a, 0x59, 0x5e, 0xaf, 0x9b, 0xc7, 0x32, 0xc0, 0xaf, 0x91, 0xe1, 0x10, 0xd7, + 0x4d, 0x41, 0x1f, 0xd5, 0xf3, 0xc9, 0x53, 0x65, 0x72, 0x45, 0x5a, 0x9f, 0xe1, 0x6b, 0xfe, 0xa4, + 0x3a, 0x97, 0x8f, 0x31, 0x71, 0x92, 0xf9, 0x9a, 0xb8, 0xc4, 0x4a, 0xb9, 0x34, 0xce, 0x5a, 0x7e, + 0x46, 0x1e, 0x4a, 0x41, 0xca, 0xed, 0xad, 0x56, 0x07, 0xe9, 0x95, 0x41, 0x40, 0xfe, 0xea, 0xd5, + 0xb8, 0x7c, 0x44, 0x90, 0xf2, 0x06, 0x6f, 0x94, 0xb4, 0x6f, 0xbd, 0x5b, 0x88, 0x43, 0xaf, 0xbd, + 0xd8, 0xca, 0xf8, 0x4f, 0xb5, 0x53, 0x81, 0xfe, 0x2e, 0x55, 0xec, 0x44, 0xa4, 0x6e, 0xbb, 0x5d, + 0x0b, 0x5e, 0x0f, 0x4a, 0x8f, 0x52, 0x0c, 0xf7, 0x5f, 0xae, 0x32, 0xe3, 0x4b, 0x76, 0xf8, 0xc9, + 0x54, 0xd4, 0x65, 0x72, 0x28, 0x6d, 0x16, 0x29, 0x81, 0xc4, 0x3b, 0xb0, 0x96, 0x32, 0x15, 0xc9, + 0x55, 0x9a, 0x0b, 0xfe, 0xe2, 0xe6, 0x74, 0x54, 0x30, 0xca, 0x25, 0x15, 0x32, 0x28, 0x27, 0xb0, + 0x5b, 0x42, 0x8d, 0xcf, 0x54, 0x55, 0xe2, 0x57, 0x21, 0x1c, 0xe1, 0x61, 0x16, 0x56, 0xae, 0x08, + 0x6e, 0xa9, 0x14, 0x6b, 0xea, 0xaf, 0x59, 0x55, 0x36, 0x29, 0xc5, 0x4f, 0xf3, 0x9a, 0xea, 0x0b, + 0x7a, 0xe5, 0xf4, 0x91, 0xc3, 0xfc, 0x1e, 0xe7, 0xed, 0x4c, 0x53, 0xa8, 0x11, 0xc2, 0x1c, 0x8e, + 0xcb, 0x98, 0xa7, 0xc3, 0x1e, 0x95, 0x80, 0xba, 0x07, 0x01, 0x7e, 0xf9, 0xb1, 0x65, 0x5b, 0xb0, + 0xa0, 0x98, 0xcc, 0x46, 0x72, 0x88, 0x12, 0x62, 0x0b, 0x43, 0xe8, 0x7c, 0xa8, 0xb0, 0xdd, 0xe4, + 0x15, 0x64, 0x6d, 0x8c, 0x1a, 0xa2, 0xc4, 0xb3, 0x2a, 0x71, 0xf4, 0x79, 0xa7, 0x8b, 0xd3, 0x2d, + 0x06, 0xf3, 0x23, 0xc4, 0xd3, 0x3c, 0xa8, 0x65, 0x9c, 0x7f, 0xef, 0xe5, 0xf6, 0x6e, 0xb8, 0x36, + 0x24, 0xaf, 0x16, 0xd3, 0x24, 0x1b, 0x26, 0x88, 0x65, 0xd7, 0x7b, 0x99, 0xd3, 0x65, 0xa2, 0xa1, + 0xa2, 0xd9, 0xcd, 0x9f, 0x74, 0x03, 0xbf, 0x9b, 0x7e, 0xde, 0xfa, 0xb0, 0xb6, 0xb6, 0x88, 0x78, + 0x5f, 0x9b, 0xb2, 0xb5, 0x29, 0xfb, 0x95, 0x99, 0xb2, 0xb5, 0x71, 0x59, 0x1b, 0x97, 0x7f, 0x1a, + 0xe3, 0x52, 0x79, 0x0e, 0x2b, 0x86, 0x2a, 0xe8, 0x89, 0x24, 0x52, 0xb9, 0xb2, 0x96, 0x28, 0xf7, + 0x5c, 0x91, 0xc1, 0x34, 0x54, 0x0a, 0x80, 0x91, 0x23, 0x27, 0xf8, 0xf8, 0x7d, 0x16, 0xda, 0x33, + 0xb0, 0x82, 0x7a, 0xca, 0x8a, 0xa9, 0xc0, 0xb6, 0x73, 0xe8, 0x9c, 0xda, 0x84, 0xad, 0x4d, 0xd8, + 0xda, 0x84, 0x7d, 0x51, 0x26, 0x6c, 0xe5, 0x1d, 0xed, 0x9d, 0x8d, 0xdb, 0x5d, 0xb4, 0xd0, 0x3f, + 0x8d, 0x55, 0x5a, 0x5b, 0x96, 0x06, 0xcb, 0xd2, 0xf2, 0x80, 0x2f, 0x3b, 0x7b, 0x90, 0x7b, 0x5a, + 0xeb, 0xb8, 0xc6, 0x27, 0xcb, 0xf9, 0xe5, 0xf2, 0xc3, 0xc5, 0xf0, 0xc7, 0xcb, 0xab, 0xdf, 0xde, + 0x7d, 0x78, 0x7f, 0x31, 0xbc, 0x7a, 0xff, 0xee, 0x97, 0x0b, 0x90, 0xdd, 0x07, 0xdf, 0xb6, 0x2d, + 0xb1, 0x10, 0xf7, 0x33, 0x43, 0xf7, 0x31, 0x25, 0xc5, 0xa6, 0x6c, 0x95, 0xe9, 0xcd, 0xf2, 0x98, + 0x86, 0x54, 0x9b, 0x98, 0x87, 0x32, 0x31, 0x9f, 0x81, 0x45, 0xf7, 0xec, 0xac, 0xdc, 0x23, 0x9b, + 0x98, 0x66, 0x22, 0xb0, 0x92, 0x5b, 0x40, 0x89, 0xc8, 0xb7, 0x0e, 0x90, 0x00, 0x29, 0x1c, 0x24, + 0x15, 0xac, 0xbe, 0x4f, 0x5f, 0xdf, 0xa7, 0xaf, 0xef, 0xd3, 0x7f, 0xe5, 0x1e, 0x9f, 0xa7, 0xf5, + 0xb0, 0x3c, 0x37, 0x7f, 0xd3, 0xb1, 0x3c, 0x3e, 0xa5, 0x0b, 0x81, 0xd4, 0xa3, 0x22, 0xd5, 0x40, + 0x84, 0xc8, 0xf4, 0xd4, 0x85, 0xc2, 0x34, 0x36, 0x32, 0xa6, 0x1d, 0xd7, 0x82, 0x3a, 0xee, 0x42, + 0x1d, 0x77, 0x41, 0x93, 0xa2, 0x4f, 0xe4, 0xbd, 0x64, 0x70, 0xdb, 0x1d, 0x90, 0x31, 0x58, 0x63, + 0xb5, 0xb7, 0xb1, 0xf6, 0x36, 0xd6, 0xde, 0xc6, 0x63, 0x79, 0x1b, 0xc5, 0x74, 0x0d, 0x65, 0xcf, + 0x40, 0x81, 0x17, 0x92, 0xe6, 0x05, 0xd2, 0x82, 0xb5, 0x83, 0x63, 0x72, 0x9b, 0x88, 0x07, 0x12, + 0x5f, 0xe5, 0xa3, 0xd6, 0x95, 0x7a, 0x38, 0x9f, 0xda, 0x39, 0x52, 0x87, 0x21, 0x78, 0xe9, 0x61, + 0x08, 0xbe, 0x06, 0x8f, 0x76, 0x1d, 0xcf, 0x60, 0xaf, 0x78, 0x06, 0x4f, 0xb8, 0x4b, 0x50, 0x3f, + 0xa7, 0xf1, 0x08, 0xef, 0x33, 0xca, 0xed, 0xa5, 0xf5, 0xe3, 0xa5, 0x50, 0xa5, 0xa9, 0xb3, 0x76, + 0x79, 0xab, 0xba, 0xea, 0xc3, 0x14, 0x1a, 0xe0, 0xc6, 0x31, 0xe0, 0x8c, 0x0c, 0x38, 0x23, 0x84, + 0x93, 0xf6, 0x47, 0x11, 0xc6, 0xa8, 0xb3, 0x51, 0x6f, 0x47, 0x22, 0x02, 0xf5, 0x2a, 0xbb, 0x6c, + 0x61, 0x52, 0xe0, 0xa2, 0x40, 0x47, 0xa4, 0xc1, 0xbd, 0x98, 0xfd, 0x26, 0x82, 0x6d, 0x8d, 0x5a, + 0x4e, 0x82, 0x65, 0xf0, 0xb5, 0xbb, 0xab, 0x8e, 0x1c, 0xea, 0x51, 0xd6, 0x47, 0x6a, 0xc1, 0xa8, + 0xb8, 0x60, 0x24, 0x0a, 0x46, 0x72, 0xc1, 0x0d, 0xd6, 0x89, 0x59, 0xd7, 0x74, 0x36, 0x70, 0xe1, + 0x91, 0x8c, 0x2e, 0x39, 0x35, 0x01, 0x85, 0xa9, 0xc9, 0xc5, 0xd4, 0x1b, 0x66, 0xd2, 0x00, 0xad, + 0x5a, 0x2c, 0x11, 0x57, 0x14, 0x6a, 0x8b, 0x9f, 0x4a, 0x5c, 0x11, 0x09, 0xa4, 0x25, 0x81, 0x60, + 0xe6, 0x41, 0xcd, 0xf7, 0x36, 0x8e, 0x38, 0xa2, 0x01, 0x8d, 0xd2, 0xe2, 0x83, 0x94, 0xd7, 0x10, + 0x15, 0xd7, 0x10, 0xb1, 0x1a, 0xd8, 0xf6, 0x1e, 0xd4, 0x60, 0x8c, 0x1c, 0x82, 0xe6, 0xa2, 0x67, + 0xce, 0x88, 0x1c, 0x73, 0xc4, 0x10, 0xb2, 0x09, 0x78, 0xc0, 0x57, 0xf3, 0x9e, 0xd1, 0x16, 0xe0, + 0x41, 0x8f, 0x9a, 0xd2, 0xe1, 0xc2, 0xad, 0x1a, 0x86, 0x39, 0x85, 0x19, 0xf5, 0xfa, 0x70, 0x23, + 0xa5, 0x9b, 0x4a, 0x45, 0x96, 0x52, 0x51, 0xd9, 0xa6, 0xe5, 0x2e, 0x1a, 0x35, 0x4d, 0x85, 0x1a, + 0x42, 0x53, 0x62, 0xb4, 0xfb, 0xd1, 0xf9, 0xfa, 0xbe, 0x68, 0x7d, 0xc8, 0xb6, 0x3e, 0x64, 0x6b, + 0xdb, 0x01, 0x65, 0x43, 0x66, 0xf0, 0x7b, 0x3f, 0xbf, 0xdd, 0x51, 0x03, 0x7f, 0xed, 0xbe, 0x77, + 0x5a, 0x5f, 0x7e, 0xad, 0xcf, 0x27, 0x3f, 0xfd, 0xf9, 0xe4, 0x27, 0xd9, 0x9f, 0x3a, 0xde, 0xa6, + 0x54, 0xbd, 0xbd, 0x50, 0x6f, 0x2f, 0xd4, 0xdb, 0x0b, 0xf5, 0xf6, 0x42, 0xb5, 0xed, 0x05, 0xac, + 0xfe, 0xb3, 0x9b, 0x07, 0x7c, 0xee, 0xba, 0xba, 0x39, 0xd3, 0x59, 0x77, 0x25, 0x21, 0xc5, 0x07, + 0x2f, 0x07, 0xb6, 0x69, 0x71, 0x4b, 0xc7, 0xa1, 0xd8, 0xa3, 0x52, 0xec, 0x51, 0x35, 0xec, 0x91, + 0x84, 0x3d, 0x72, 0x1e, 0xff, 0x20, 0xb6, 0x6e, 0x8b, 0xad, 0xc6, 0xd7, 0xb8, 0xfb, 0x73, 0x19, + 0x48, 0x92, 0x3f, 0x37, 0x0b, 0xac, 0xbe, 0xbc, 0x5c, 0xac, 0x03, 0x1c, 0x4f, 0x07, 0x7f, 0x5c, + 0x05, 0xfa, 0x25, 0xde, 0xc7, 0x36, 0x62, 0x28, 0x38, 0x48, 0x94, 0xef, 0xf1, 0x5d, 0x4e, 0x02, + 0xd9, 0x55, 0xa5, 0x17, 0xe6, 0x4f, 0x45, 0x62, 0x08, 0x72, 0x87, 0xa1, 0xf1, 0x10, 0x3f, 0x16, + 0x26, 0x4e, 0x27, 0xd4, 0x80, 0x23, 0x2b, 0x70, 0x94, 0x03, 0xc6, 0xde, 0x43, 0x5e, 0x8b, 0xc7, + 0x51, 0x78, 0x58, 0xd2, 0x39, 0x3e, 0xf1, 0x05, 0x06, 0xab, 0x59, 0x9a, 0x66, 0x37, 0xab, 0x2c, + 0x5e, 0xc0, 0x63, 0x03, 0x6d, 0x21, 0x1f, 0x65, 0x59, 0x4e, 0x9e, 0x21, 0x30, 0xe5, 0x50, 0xb4, + 0x8f, 0x7f, 0xe5, 0xa0, 0xd2, 0x2d, 0x80, 0x6c, 0x8a, 0xd6, 0x9a, 0xa5, 0xfc, 0x94, 0x1a, 0x97, + 0xfa, 0x78, 0xed, 0xb1, 0x64, 0x46, 0xb7, 0xd7, 0xd7, 0xf1, 0x92, 0x0e, 0xf6, 0x21, 0x22, 0x67, + 0xf6, 0x0c, 0x69, 0xfd, 0x5d, 0xc3, 0x69, 0xf6, 0x82, 0x66, 0xd3, 0x1c, 0xa0, 0xb8, 0x0d, 0x7a, + 0x74, 0x57, 0xa5, 0xbf, 0xe1, 0x10, 0x3f, 0x39, 0xae, 0x32, 0x20, 0xb1, 0x5b, 0x7b, 0xae, 0xda, + 0x01, 0x10, 0x31, 0x52, 0x74, 0x95, 0xd4, 0xb9, 0xf2, 0xb1, 0x80, 0x61, 0xbe, 0x9f, 0xf4, 0xa7, + 0xe8, 0x72, 0x8b, 0x6d, 0xcf, 0x9e, 0xd5, 0xaf, 0xdc, 0x4d, 0xb9, 0xd1, 0x59, 0xc2, 0xed, 0x48, + 0xa4, 0x74, 0xac, 0xe0, 0x1d, 0x8f, 0xa2, 0x6c, 0x10, 0x97, 0xf9, 0x91, 0x0f, 0x51, 0xb7, 0xe1, + 0x18, 0xae, 0xfa, 0xeb, 0x7c, 0xc2, 0xa5, 0x39, 0xcf, 0x96, 0xe1, 0xca, 0xfa, 0x7a, 0xdf, 0x22, + 0x99, 0x0f, 0xef, 0xf1, 0x15, 0x4d, 0x2d, 0x24, 0xaa, 0x10, 0xcc, 0xbd, 0xfc, 0xc4, 0xec, 0x91, + 0x38, 0xa0, 0xbd, 0x92, 0xc0, 0xe4, 0x7d, 0x02, 0xd6, 0x27, 0x6f, 0x78, 0x10, 0x64, 0x9d, 0x90, + 0x58, 0x08, 0xa8, 0x0a, 0x9a, 0xb0, 0x9c, 0x44, 0x81, 0xf8, 0xd9, 0x65, 0x60, 0xfe, 0x17, 0x5e, + 0xa8, 0xaf, 0x17, 0xea, 0x8b, 0x42, 0x7d, 0x51, 0xa8, 0x0f, 0x85, 0xb4, 0x2d, 0x06, 0x82, 0xcd, + 0xa3, 0x71, 0xc7, 0xd9, 0xe8, 0xd3, 0x57, 0x42, 0x3b, 0xa1, 0xfc, 0x96, 0x06, 0xee, 0x12, 0x8e, + 0x17, 0xd0, 0xfa, 0xf0, 0x85, 0xdf, 0xe0, 0x80, 0xc8, 0xd0, 0xe8, 0xc3, 0x53, 0x7b, 0x0c, 0xde, + 0xed, 0x71, 0x3c, 0x4b, 0xde, 0xc3, 0x7a, 0x63, 0xcd, 0xdb, 0x3c, 0xac, 0x79, 0x28, 0xd3, 0xf0, + 0x2e, 0x46, 0xd2, 0x21, 0x0e, 0xd8, 0x93, 0x9a, 0xec, 0x9d, 0x54, 0xf6, 0x40, 0xaa, 0xd3, 0x3d, + 0x85, 0x08, 0xd5, 0xf0, 0xae, 0x48, 0x93, 0xc2, 0xb6, 0xd1, 0x17, 0x44, 0xdc, 0xcc, 0x0f, 0x3f, + 0x10, 0x0c, 0x15, 0xe2, 0xd9, 0xe3, 0xe6, 0x86, 0x9f, 0x6d, 0x33, 0x9d, 0xd2, 0x88, 0xb1, 0x60, + 0xdd, 0x93, 0x06, 0xea, 0xac, 0xe8, 0x95, 0x26, 0x38, 0x0c, 0x11, 0xfa, 0x6d, 0xc1, 0x03, 0x55, + 0x78, 0x15, 0x52, 0x34, 0x09, 0x8b, 0x25, 0x05, 0x09, 0xf1, 0xc9, 0x88, 0xf4, 0x78, 0x35, 0x1e, + 0x6e, 0x3b, 0x1d, 0x3e, 0x8f, 0x45, 0xe5, 0xdc, 0x4f, 0xfe, 0xa2, 0x5e, 0x5a, 0x65, 0x74, 0xca, + 0x7c, 0xba, 0x0c, 0x72, 0xf1, 0x71, 0xf3, 0x3b, 0x37, 0x60, 0xc9, 0x53, 0xa3, 0xba, 0x2c, 0xea, + 0x08, 0x2b, 0x01, 0x4b, 0xb0, 0xa9, 0xc8, 0x29, 0x64, 0x72, 0x5b, 0x4b, 0x15, 0xc8, 0xcc, 0x63, + 0x81, 0xb9, 0x56, 0x97, 0x50, 0x51, 0x9a, 0x4e, 0x41, 0x02, 0xad, 0xc8, 0x56, 0x23, 0x44, 0x6e, + 0x1e, 0xe2, 0x96, 0x84, 0xd2, 0x32, 0xa0, 0x01, 0x5d, 0xc7, 0x21, 0x16, 0xb4, 0x39, 0x38, 0xf5, + 0xbd, 0x69, 0x0c, 0x5b, 0x94, 0x69, 0xc9, 0x1a, 0x85, 0x33, 0xc4, 0xa0, 0x60, 0x0f, 0x42, 0x10, + 0x55, 0x24, 0xb6, 0xd9, 0xd3, 0x4a, 0x16, 0xf8, 0x45, 0x92, 0x8d, 0x6e, 0x74, 0x5a, 0x97, 0x69, + 0x16, 0x66, 0xf1, 0x70, 0xb5, 0x99, 0x45, 0xe9, 0xd4, 0x52, 0x90, 0xee, 0xa9, 0xaa, 0xf6, 0x91, + 0x22, 0xe1, 0x47, 0x37, 0x4a, 0x44, 0x65, 0xcb, 0xee, 0x1a, 0x49, 0x9d, 0x86, 0x11, 0x52, 0x8f, + 0x16, 0xd3, 0x70, 0x1e, 0x5b, 0x20, 0xc8, 0xc3, 0x07, 0x5a, 0x9e, 0xe8, 0x5b, 0x90, 0x7c, 0x7a, + 0x32, 0x6e, 0x1b, 0xb1, 0x67, 0x67, 0xe1, 0xc2, 0x76, 0x68, 0x2d, 0x6f, 0x53, 0xe5, 0x2c, 0x2a, + 0x65, 0xf0, 0x5f, 0xc0, 0x46, 0x4d, 0x15, 0x17, 0xfa, 0x11, 0xbc, 0xcd, 0x42, 0xc3, 0x09, 0xe4, + 0xf9, 0xca, 0x8f, 0xa2, 0x30, 0xf7, 0xad, 0x9a, 0xcb, 0x0e, 0xb2, 0x60, 0x9d, 0x44, 0x78, 0x1a, + 0x59, 0x22, 0xde, 0x97, 0x67, 0xee, 0xc2, 0x7b, 0xee, 0x51, 0xc4, 0xf3, 0x05, 0xe9, 0xcd, 0xdc, + 0x1f, 0x08, 0x09, 0x7f, 0xf4, 0x3e, 0x13, 0x67, 0x20, 0xa3, 0x64, 0x2d, 0x2a, 0x14, 0xc2, 0x40, + 0x42, 0x8e, 0x10, 0xfc, 0x84, 0xe4, 0x35, 0x39, 0xc8, 0xa2, 0x02, 0x3d, 0xdc, 0x77, 0x07, 0xe7, + 0xaf, 0xb4, 0x00, 0x0f, 0xab, 0x78, 0x32, 0x83, 0x58, 0xc5, 0x88, 0xd1, 0x51, 0x81, 0xb6, 0x26, + 0x46, 0xfe, 0x18, 0x7c, 0x66, 0x4a, 0x33, 0x30, 0x1a, 0x2c, 0xa6, 0xdf, 0x58, 0xa4, 0x05, 0xbc, + 0x94, 0xf6, 0x8d, 0x5d, 0x48, 0xa0, 0x61, 0xc4, 0xed, 0x06, 0x91, 0x2c, 0xda, 0xea, 0xd1, 0x56, + 0xf6, 0x3f, 0x7b, 0x4c, 0x60, 0x38, 0x5d, 0xe2, 0x90, 0xfd, 0xd2, 0x80, 0x61, 0x6a, 0x40, 0x95, + 0xfb, 0xd5, 0x28, 0x6a, 0x53, 0x31, 0x93, 0x5c, 0x2a, 0x8a, 0xbe, 0xa8, 0x0e, 0xb9, 0x4f, 0x69, + 0x32, 0xcf, 0xca, 0x5e, 0xd9, 0xa0, 0x0f, 0x27, 0x70, 0x71, 0x85, 0x64, 0xd4, 0x4d, 0x2a, 0xc4, + 0x55, 0xa0, 0x62, 0xeb, 0xdc, 0x2b, 0xc5, 0x18, 0x14, 0x11, 0x3f, 0x81, 0x3e, 0xd5, 0x1b, 0x3f, + 0x9c, 0x58, 0x11, 0x77, 0x0b, 0x64, 0x64, 0xe3, 0xbb, 0x93, 0x82, 0xdc, 0xae, 0x15, 0xa7, 0x42, + 0x9b, 0xe4, 0x3a, 0xa3, 0xe4, 0x11, 0xa3, 0x0e, 0xac, 0x1c, 0xf0, 0x93, 0xaa, 0xb4, 0x63, 0xc3, + 0x0d, 0xbc, 0xdc, 0x3e, 0xf4, 0xa4, 0x1b, 0xe4, 0x4a, 0xb3, 0x73, 0x57, 0x9c, 0x2d, 0xb9, 0xb8, + 0x6b, 0xfc, 0x80, 0xf9, 0xaa, 0x3b, 0x38, 0xc3, 0xae, 0x5c, 0x3c, 0x12, 0x0a, 0x73, 0x62, 0xf1, + 0x4d, 0x84, 0x39, 0xd8, 0x01, 0xf0, 0x6a, 0x01, 0x61, 0x08, 0x45, 0xbe, 0x33, 0x4d, 0x93, 0xf0, + 0xf9, 0xa7, 0xd2, 0x41, 0x24, 0x4f, 0x35, 0xf4, 0xf1, 0x0b, 0x12, 0xfc, 0x2d, 0xc0, 0x50, 0x1f, + 0xaf, 0xf5, 0xa6, 0x9b, 0x1b, 0x41, 0x0c, 0x19, 0x05, 0xa6, 0x8a, 0x00, 0xde, 0x98, 0x7e, 0xef, + 0xeb, 0xcd, 0xc0, 0x01, 0xe3, 0x9b, 0x51, 0x67, 0xd3, 0x86, 0x03, 0x59, 0x5d, 0x75, 0x25, 0xf2, + 0xa2, 0xce, 0x1a, 0xa5, 0x23, 0x03, 0xf4, 0x8b, 0xdc, 0x15, 0x78, 0x7e, 0x22, 0x5e, 0x9d, 0x07, + 0x38, 0x2e, 0xb9, 0x3c, 0x6b, 0x5b, 0x1a, 0x7e, 0x95, 0x3f, 0x49, 0xc1, 0x11, 0x92, 0x60, 0x38, + 0x1a, 0x7b, 0x71, 0x41, 0xf0, 0x52, 0x37, 0xd8, 0x27, 0xed, 0xb8, 0x00, 0xbb, 0xae, 0x39, 0x1a, + 0x0f, 0x6f, 0x06, 0x70, 0x72, 0x3c, 0xfd, 0xd7, 0x88, 0x86, 0xf6, 0x97, 0xdd, 0xdb, 0x20, 0x3f, + 0x4d, 0x2b, 0x24, 0x1f, 0x13, 0x19, 0x12, 0x75, 0xa4, 0x12, 0x25, 0x4e, 0xb2, 0x02, 0xe5, 0x15, + 0x94, 0xba, 0xbc, 0xb5, 0x92, 0x5d, 0x35, 0xe1, 0xbe, 0xa5, 0x35, 0xc6, 0xe5, 0x3b, 0x6e, 0xdd, + 0x53, 0xd8, 0x3e, 0x81, 0x47, 0x04, 0x55, 0xa1, 0xe9, 0x71, 0x3e, 0x85, 0x5d, 0x1c, 0x26, 0x6f, + 0xbb, 0xfd, 0x57, 0xca, 0x8b, 0x14, 0x77, 0x54, 0xb4, 0xa3, 0x7f, 0xf5, 0xe3, 0x55, 0xf2, 0x52, + 0xcb, 0xd6, 0x24, 0xfa, 0xd9, 0x54, 0xb5, 0x30, 0xfe, 0xda, 0x89, 0xd0, 0x35, 0x02, 0x39, 0x1f, + 0x89, 0x45, 0x6c, 0xb2, 0x40, 0x64, 0x7e, 0x45, 0x23, 0x69, 0x7c, 0xd7, 0x56, 0x35, 0x14, 0x75, + 0x81, 0xe7, 0x6f, 0x69, 0x82, 0x17, 0x06, 0x5e, 0xd3, 0x50, 0x90, 0xf6, 0x3e, 0xb7, 0xa4, 0xa2, + 0x8e, 0x63, 0x7b, 0x78, 0x82, 0x5a, 0x62, 0x87, 0xd6, 0x2e, 0x8e, 0x77, 0x94, 0x78, 0x2b, 0x6f, + 0x9d, 0x04, 0x44, 0xfc, 0x58, 0x14, 0xc0, 0xd5, 0x5a, 0xa7, 0x18, 0x02, 0xb2, 0xb1, 0x4a, 0x7f, + 0x13, 0x77, 0x93, 0x43, 0x4e, 0x92, 0xd5, 0x16, 0xc5, 0x13, 0x59, 0x14, 0xcf, 0x46, 0x53, 0x7f, + 0x4c, 0x53, 0x65, 0x5b, 0xb3, 0xa9, 0xc8, 0xb4, 0x29, 0xb6, 0x28, 0x80, 0x77, 0x14, 0x5f, 0xd4, + 0x29, 0x4d, 0xec, 0xdb, 0x66, 0xfb, 0x75, 0x32, 0x9d, 0x16, 0x9d, 0x92, 0x13, 0xf9, 0xf6, 0xa3, + 0x72, 0x02, 0xc6, 0x74, 0x5e, 0x4e, 0xca, 0x2d, 0xda, 0xec, 0x51, 0xc1, 0x8a, 0xde, 0x01, 0x0d, + 0xa7, 0x69, 0x11, 0xc5, 0x22, 0xdf, 0x4e, 0xb1, 0x80, 0x31, 0x51, 0x2c, 0xe5, 0x16, 0x51, 0xac, + 0x82, 0xbd, 0xe8, 0x83, 0x75, 0xb8, 0x29, 0x05, 0x67, 0xb4, 0x44, 0xbe, 0x95, 0x4e, 0x01, 0x62, + 0x22, 0x55, 0xca, 0x2d, 0x7c, 0xa6, 0x55, 0x01, 0x2b, 0x23, 0xd8, 0x7e, 0x86, 0x92, 0x67, 0x17, + 0x93, 0x6b, 0x3b, 0x4d, 0x29, 0x32, 0x4b, 0x89, 0x55, 0xf6, 0xa2, 0xaa, 0x18, 0xc3, 0xd2, 0x84, + 0x13, 0x3f, 0x4d, 0x27, 0xcb, 0x44, 0xae, 0xa7, 0x4e, 0x43, 0xd3, 0x19, 0x33, 0x19, 0xd5, 0x4e, + 0x53, 0x49, 0xfc, 0x34, 0xd1, 0x22, 0x72, 0x3d, 0x75, 0x82, 0x99, 0x68, 0x91, 0x51, 0x6d, 0x3f, + 0x49, 0x8e, 0x7e, 0x24, 0x4d, 0xe2, 0x7d, 0xf1, 0xd3, 0x50, 0xbd, 0xc8, 0xf4, 0xd4, 0x09, 0x61, + 0x22, 0x42, 0xc6, 0xb4, 0x0b, 0x57, 0xf3, 0x5f, 0x36, 0x42, 0xe8, 0x61, 0x40, 0x89, 0xd1, 0xad, + 0x64, 0xd0, 0x5d, 0x53, 0x03, 0xbb, 0xbe, 0x1c, 0xa7, 0x49, 0xed, 0x09, 0xa9, 0x3d, 0x21, 0xb5, + 0x27, 0xa4, 0xf6, 0x84, 0xd4, 0x9e, 0x10, 0x97, 0x33, 0xa5, 0xe4, 0xf5, 0x70, 0xf4, 0x43, 0x19, + 0xf2, 0xb9, 0x3c, 0xe5, 0x18, 0xdf, 0xd3, 0xb9, 0x3e, 0xc4, 0x0b, 0x8a, 0xcb, 0x45, 0x3a, 0x0d, + 0xa1, 0xbd, 0x7b, 0xf8, 0x42, 0xa8, 0xad, 0x93, 0xf7, 0xec, 0x10, 0x73, 0x87, 0xec, 0x4f, 0x4a, + 0xbd, 0xe0, 0x91, 0x77, 0xad, 0x6d, 0xb5, 0x63, 0xe7, 0x0a, 0xbb, 0xee, 0x75, 0xf5, 0xe3, 0x4f, + 0xc3, 0x4f, 0xff, 0xd7, 0x40, 0x82, 0xf7, 0x24, 0x6f, 0x53, 0xc2, 0x32, 0xea, 0x17, 0xb9, 0x61, + 0xcc, 0x56, 0x9f, 0x7c, 0x0a, 0x67, 0xdb, 0xa3, 0x80, 0x9a, 0x41, 0x7b, 0x48, 0x9b, 0xef, 0xb8, + 0xf6, 0xda, 0x11, 0x6d, 0xad, 0x63, 0x99, 0x4b, 0x47, 0xb5, 0x75, 0x1e, 0xd3, 0x54, 0x29, 0x64, + 0x93, 0xed, 0x2c, 0x8d, 0x62, 0x43, 0x63, 0x2b, 0x43, 0xe1, 0x31, 0x8e, 0xf6, 0x49, 0xa3, 0xb7, + 0x9d, 0xc6, 0x5e, 0x34, 0x34, 0x95, 0x95, 0x6e, 0x02, 0x73, 0xf1, 0xe3, 0xcf, 0x17, 0xc3, 0x9f, + 0xdf, 0xfd, 0xfd, 0xef, 0xef, 0x90, 0x86, 0xd0, 0xef, 0x9d, 0x77, 0xcd, 0x51, 0x5b, 0xe9, 0x1d, + 0xe1, 0x80, 0xce, 0x72, 0xd0, 0x84, 0xf3, 0xf2, 0x9d, 0xce, 0x76, 0x7e, 0x6f, 0x1e, 0x2b, 0x89, + 0x2c, 0x71, 0x23, 0xcb, 0x6f, 0xd6, 0x51, 0x34, 0x53, 0xa8, 0xca, 0x15, 0x15, 0x1d, 0x11, 0xf0, + 0x83, 0x8c, 0x9a, 0x34, 0xfc, 0xb2, 0xb4, 0xc3, 0xc4, 0x05, 0xa2, 0x89, 0xdd, 0x26, 0xc7, 0xef, + 0x2a, 0x92, 0xd0, 0xf1, 0xe5, 0xc3, 0x9d, 0xb7, 0xd7, 0xd7, 0x41, 0x13, 0x6f, 0x7c, 0xb6, 0xf1, + 0x65, 0x0c, 0xba, 0x09, 0xca, 0xd5, 0x69, 0xe8, 0x4b, 0x76, 0x26, 0x28, 0x90, 0xd8, 0x85, 0x54, + 0xd7, 0xe4, 0x5d, 0xed, 0xf6, 0x3b, 0xfd, 0xb7, 0x5d, 0x22, 0xc4, 0x5b, 0x82, 0x0a, 0xa7, 0x80, + 0x0c, 0x52, 0x37, 0xd4, 0x2c, 0x46, 0xbe, 0x2b, 0xf6, 0x17, 0x28, 0x32, 0xff, 0x8b, 0x44, 0x2e, + 0x3e, 0x99, 0x68, 0xf2, 0x2b, 0x83, 0x57, 0xb9, 0x13, 0xe6, 0x3b, 0x84, 0xd4, 0x35, 0x0e, 0xf0, + 0x87, 0x2b, 0xaf, 0x07, 0x8a, 0xee, 0x83, 0x7d, 0xda, 0xd2, 0x59, 0x46, 0x20, 0xad, 0x2d, 0x23, + 0xf0, 0x20, 0xa5, 0xa5, 0xa4, 0x54, 0x3c, 0xb8, 0xe8, 0xaa, 0x2b, 0xde, 0xb3, 0xf6, 0x79, 0xd7, + 0x6e, 0xed, 0xaf, 0xd9, 0xad, 0x6d, 0x4e, 0x1e, 0x26, 0x68, 0x80, 0x64, 0x4d, 0xe7, 0xcc, 0xa4, + 0xfe, 0x9c, 0xd5, 0x2e, 0xef, 0xda, 0xe5, 0x5d, 0xbb, 0xbc, 0x6b, 0x97, 0x77, 0xed, 0xf2, 0xae, + 0x5d, 0xde, 0xcf, 0xd7, 0xe5, 0x4d, 0xdd, 0x21, 0x2b, 0xb8, 0x8c, 0x12, 0xf0, 0x3c, 0x7c, 0x55, + 0x58, 0x14, 0xad, 0xfd, 0xde, 0xb5, 0xdf, 0xfb, 0x49, 0xfd, 0xde, 0xdc, 0x04, 0xac, 0x9d, 0xdc, + 0xb5, 0x93, 0xfb, 0x29, 0x9c, 0xdc, 0x5f, 0xad, 0x67, 0x1b, 0x75, 0x9a, 0xc5, 0xb9, 0xdd, 0x43, + 0x8b, 0x8c, 0x9e, 0x45, 0x4d, 0x23, 0xe1, 0xfc, 0x3e, 0xdb, 0xc2, 0xf9, 0xed, 0x91, 0x55, 0xc8, + 0xe6, 0x03, 0x97, 0x92, 0x20, 0xc2, 0x03, 0xff, 0xbe, 0x7c, 0xff, 0xf1, 0x03, 0xdc, 0xd3, 0xda, + 0xc7, 0x49, 0x6e, 0xc8, 0x23, 0x4d, 0x39, 0x9c, 0x17, 0xfd, 0x90, 0xf6, 0x62, 0xed, 0x2e, 0xaf, + 0xdd, 0xe5, 0xb5, 0xbb, 0xfc, 0xf8, 0xee, 0x72, 0x9b, 0xf7, 0x1a, 0x94, 0x0e, 0xe6, 0xe9, 0xbe, + 0x0f, 0x02, 0x90, 0x48, 0x44, 0xe9, 0xc0, 0x6e, 0x73, 0x2c, 0x49, 0x02, 0x21, 0x34, 0x7d, 0xeb, + 0xd9, 0xe1, 0xad, 0x4e, 0x0e, 0x63, 0xb4, 0x1e, 0xc3, 0xbf, 0xff, 0x09, 0xe2, 0x65, 0x8c, 0xb0, + 0xce, 0xb1, 0x5e, 0x6b, 0xf1, 0xf6, 0x57, 0xdb, 0x2d, 0xd8, 0x75, 0x67, 0xc0, 0xa0, 0xec, 0xd5, + 0x8e, 0xfe, 0xda, 0xd1, 0x4f, 0x1d, 0xfd, 0xff, 0x0f, 0xa5, 0x2c, 0x96, 0x57}; const char* shaderSource() { static std::string decompressed = util::decompress(std::string(reinterpret_cast(compressedShaderSource), sizeof(compressedShaderSource))); diff --git a/src/mbgl/programs/gl/symbol_icon.cpp b/src/mbgl/programs/gl/symbol_icon.cpp index 8b8fc2d2a66..db1d54d608a 100644 --- a/src/mbgl/programs/gl/symbol_icon.cpp +++ b/src/mbgl/programs/gl/symbol_icon.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "symbol_icon"; static constexpr const uint8_t hash[8] = {0xa9, 0xd8, 0x73, 0xdf, 0xd9, 0xd8, 0x82, 0xf2}; - static constexpr const auto vertexOffset = 50455; - static constexpr const auto fragmentOffset = 53204; + static constexpr const auto vertexOffset = 54462; + static constexpr const auto fragmentOffset = 57211; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/symbol_sdf_icon.cpp b/src/mbgl/programs/gl/symbol_sdf_icon.cpp index bf49137c1ee..00f192e613a 100644 --- a/src/mbgl/programs/gl/symbol_sdf_icon.cpp +++ b/src/mbgl/programs/gl/symbol_sdf_icon.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "symbol_sdf_icon"; static constexpr const uint8_t hash[8] = {0x46, 0xe9, 0x60, 0xde, 0x1e, 0x85, 0x36, 0x54}; - static constexpr const auto vertexOffset = 53609; - static constexpr const auto fragmentOffset = 57649; + static constexpr const auto vertexOffset = 57616; + static constexpr const auto fragmentOffset = 61656; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/symbol_sdf_text.cpp b/src/mbgl/programs/gl/symbol_sdf_text.cpp index 017d8cb3161..93f5e3dbfae 100644 --- a/src/mbgl/programs/gl/symbol_sdf_text.cpp +++ b/src/mbgl/programs/gl/symbol_sdf_text.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "symbol_sdf_text"; static constexpr const uint8_t hash[8] = {0x46, 0xe9, 0x60, 0xde, 0x1e, 0x85, 0x36, 0x54}; - static constexpr const auto vertexOffset = 53609; - static constexpr const auto fragmentOffset = 57649; + static constexpr const auto vertexOffset = 57616; + static constexpr const auto fragmentOffset = 61656; }; constexpr const char* ShaderSource::name; diff --git a/src/mbgl/programs/gl/symbol_text_and_icon.cpp b/src/mbgl/programs/gl/symbol_text_and_icon.cpp index a86702290ec..0304db2bf7b 100644 --- a/src/mbgl/programs/gl/symbol_text_and_icon.cpp +++ b/src/mbgl/programs/gl/symbol_text_and_icon.cpp @@ -16,8 +16,8 @@ template <> struct ShaderSource { static constexpr const char* name = "symbol_text_and_icon"; static constexpr const uint8_t hash[8] = {0x7e, 0xbe, 0x72, 0x43, 0x55, 0x8e, 0xb5, 0xeb}; - static constexpr const auto vertexOffset = 59485; - static constexpr const auto fragmentOffset = 63541; + static constexpr const auto vertexOffset = 63492; + static constexpr const auto fragmentOffset = 67548; }; constexpr const char* ShaderSource::name;