From 1e3e3f54a4f80bd05d168c9ae749ed32e1275868 Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 6 Feb 2026 14:08:09 +0100 Subject: fix(shaders): Resolve WGSL validation errors and add shader compilation tests Fixed three critical WGSL shader issues causing demo64k and test_3d_render to crash: 1. **renderer_3d.wgsl**: Removed dead code using non-existent `inverse()` function - WGSL doesn't have `inverse()` for matrices - Dead code was unreachable but still validated by shader compiler - Also removed reference to undefined `in.normal` vertex input 2. **sdf_utils.wgsl & lighting.wgsl**: Fixed `get_normal_basic()` signature mismatch - Changed parameter from `obj_type: f32` to `obj_params: vec4` - Now correctly matches `get_dist()` function signature 3. **scene_query_linear.wgsl**: Fixed incorrect BVH binding declaration - Linear mode was incorrectly declaring binding 2 (BVH buffer) - Replaced BVH traversal with simple linear object loop - Root cause: Both BVH and Linear shaders were identical (copy-paste error) Added comprehensive shader compilation test (test_shader_compilation.cc): - Tests all production shaders compile successfully through WebGPU - Validates both BVH and Linear composition modes - Catches WGSL syntax errors, binding mismatches, and type errors - Would have caught all three bugs fixed in this commit Why tests didn't catch this: - Existing test_shader_assets only checked for keywords, not compilation - No test actually created WebGPU shader modules from composed code - New test fills this gap with real GPU validation Results: - demo64k runs without WebGPU errors - test_3d_render no longer crashes - All 22/23 tests pass (FftTest unrelated issue from FFT Phase 1) Co-Authored-By: Claude Sonnet 4.5 --- src/generated/assets_data.cc | 1555 +++++++++++++++++++----------------------- 1 file changed, 712 insertions(+), 843 deletions(-) (limited to 'src/generated') diff --git a/src/generated/assets_data.cc b/src/generated/assets_data.cc index 0b2daba..8e2ab08 100644 --- a/src/generated/assets_data.cc +++ b/src/generated/assets_data.cc @@ -369584,7 +369584,7 @@ static const float ASSET_PROC_PARAMS_NOISE_TEX[] = {1234.000000, 16.000000}; static const char* ASSET_PROC_FUNC_STR_NOISE_TEX = "gen_noise"; -const size_t ASSET_SIZE_SHADER_RENDERER_3D = 9449; +const size_t ASSET_SIZE_SHADER_RENDERER_3D = 8682; alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDERER_3D[] = { 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x22, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, @@ -369815,565 +369815,501 @@ alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDERER_3D[] = { 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x5f, 0x70, 0x6f, 0x73, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, 0x6f, - 0x72, 0x72, 0x65, 0x63, 0x74, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x68, - 0x65, 0x73, 0x3a, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x20, 0x6d, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x46, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x75, 0x6e, 0x69, 0x66, - 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x2c, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x65, 0x63, - 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, - 0x69, 0x76, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, - 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x35, - 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x20, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x20, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x20, 0x6d, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x20, 0x28, 0x75, 0x70, 0x70, 0x65, 0x72, 0x20, - 0x33, 0x78, 0x33, 0x20, 0x70, 0x61, 0x72, 0x74, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x3d, - 0x20, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, - 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x30, - 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x2c, - 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x32, - 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6e, 0x6f, 0x72, 0x6d, - 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x3d, 0x20, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65, 0x28, 0x69, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x65, 0x28, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, - 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x74, 0x72, + 0x5f, 0x70, 0x6f, 0x73, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x53, 0x44, + 0x46, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, + 0x2c, 0x20, 0x77, 0x65, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x75, + 0x73, 0x65, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x6e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x73, 0x20, 0x2d, 0x20, 0x74, 0x68, 0x65, 0x79, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x64, 0x20, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x72, + 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, + 0x72, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x68, 0x20, 0x70, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x28, 0x6d, 0x65, 0x73, 0x68, + 0x5f, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x77, 0x67, 0x73, 0x6c, + 0x29, 0x2c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x53, 0x44, 0x46, 0x20, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, - 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x2e, - 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x53, 0x44, 0x46, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, - 0x76, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x65, 0x20, 0x64, 0x6f, 0x6e, 0x27, - 0x74, 0x20, 0x75, 0x73, 0x65, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, 0x20, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x68, 0x65, 0x72, 0x65, 0x3b, 0x20, - 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x68, - 0x61, 0x64, 0x65, 0x72, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, - 0x2c, 0x20, 0x77, 0x65, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x6e, - 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x74, - 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x20, - 0x77, 0x65, 0x72, 0x65, 0x20, 0x61, 0x20, 0x72, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, - 0x69, 0x76, 0x65, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, - 0x61, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x44, - 0x46, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x73, - 0x68, 0x61, 0x64, 0x65, 0x72, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, - 0x73, 0x73, 0x2c, 0x20, 0x77, 0x65, 0x27, 0x6c, 0x6c, 0x20, 0x70, 0x61, - 0x73, 0x73, 0x20, 0x69, 0x74, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x77, 0x65, 0x72, 0x65, 0x20, 0x61, 0x20, 0x72, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x6d, 0x65, 0x73, 0x68, - 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, - 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, - 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, - 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x30, - 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x6c, 0x61, - 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, - 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x20, 0x22, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x73, - 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x22, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x20, 0x22, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x73, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x73, 0x22, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, + 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, + 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, + 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, + 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x22, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x2f, - 0x6c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x74, 0x69, - 0x6c, 0x73, 0x22, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x20, 0x22, 0x72, 0x61, 0x79, 0x5f, 0x62, 0x6f, 0x78, 0x22, 0x0a, 0x0a, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x46, 0x72, 0x61, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x28, 0x30, 0x29, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, - 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, - 0x66, 0x72, 0x61, 0x67, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x29, 0x20, - 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x2c, 0x0a, - 0x7d, 0x3b, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x66, 0x73, 0x5f, 0x6d, 0x61, 0x69, 0x6e, - 0x28, 0x69, 0x6e, 0x3a, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x46, 0x72, - 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f, - 0x62, 0x6a, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x5b, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x2e, 0x78, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x61, 0x72, 0x20, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, - 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, - 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3a, 0x20, 0x76, 0x65, 0x63, - 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x61, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6c, - 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, - 0x72, 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x65, 0x74, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x69, 0x72, - 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, - 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, - 0x29, 0x29, 0x3b, 0x20, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3c, - 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x2f, 0x2f, 0x20, - 0x52, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, - 0x28, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x20, 0x6f, 0x72, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x70, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x55, 0x73, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, - 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x73, - 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x69, 0x6e, 0x2e, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x6e, - 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x20, 0x67, 0x72, 0x69, 0x64, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, - 0x75, 0x76, 0x20, 0x3d, 0x20, 0x70, 0x2e, 0x78, 0x7a, 0x20, 0x2a, 0x20, - 0x30, 0x2e, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x67, 0x72, 0x69, 0x64, 0x20, 0x3d, 0x20, - 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2a, 0x20, - 0x73, 0x69, 0x6e, 0x28, 0x75, 0x76, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x33, - 0x2e, 0x31, 0x34, 0x29, 0x20, 0x2a, 0x20, 0x73, 0x69, 0x6e, 0x28, 0x75, - 0x76, 0x2e, 0x79, 0x20, 0x2a, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, + 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x20, 0x22, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x73, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x73, 0x22, 0x0a, 0x23, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x20, 0x22, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x74, + 0x69, 0x6c, 0x73, 0x22, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x20, 0x22, 0x72, 0x61, 0x79, 0x5f, 0x62, 0x6f, 0x78, 0x22, 0x0a, + 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x46, 0x72, 0x61, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x30, 0x29, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, + 0x28, 0x66, 0x72, 0x61, 0x67, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x29, + 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x2c, + 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x66, 0x73, 0x5f, 0x6d, 0x61, 0x69, + 0x6e, 0x28, 0x69, 0x6e, 0x3a, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x46, + 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x6f, 0x62, 0x6a, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x5b, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x61, 0x72, 0x20, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, + 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, + 0x72, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3a, 0x20, 0x76, 0x65, + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x61, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x65, 0x74, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x69, + 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, + 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, + 0x30, 0x29, 0x29, 0x3b, 0x20, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x2f, 0x2f, + 0x20, 0x52, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x70, 0x61, 0x74, 0x68, + 0x20, 0x28, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x20, 0x6f, 0x72, 0x20, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x55, 0x73, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, + 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x69, 0x6e, 0x2e, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f, + 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x20, 0x67, 0x72, 0x69, 0x64, 0x20, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, - 0x20, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, - 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x30, - 0x2e, 0x34, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x35, 0x2c, 0x20, 0x67, - 0x72, 0x69, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x20, 0x3d, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, - 0x72, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x30, - 0x2e, 0x35, 0x20, 0x2a, 0x20, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x76, 0x61, - 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, - 0x73, 0x65, 0x20, 0x7b, 0x20, 0x2f, 0x2f, 0x20, 0x53, 0x44, 0x46, 0x20, - 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x2e, - 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x64, 0x5f, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x69, 0x6e, 0x2e, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x20, 0x2d, 0x20, 0x72, 0x6f, 0x5f, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x52, 0x61, 0x79, 0x2d, 0x42, 0x6f, 0x78, 0x20, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x20, - 0x74, 0x69, 0x67, 0x68, 0x74, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x20, 0x75, 0x76, 0x20, 0x3d, 0x20, 0x70, 0x2e, 0x78, 0x7a, 0x20, 0x2a, + 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x67, 0x72, 0x69, 0x64, 0x20, 0x3d, + 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2a, + 0x20, 0x73, 0x69, 0x6e, 0x28, 0x75, 0x76, 0x2e, 0x78, 0x20, 0x2a, 0x20, + 0x33, 0x2e, 0x31, 0x34, 0x29, 0x20, 0x2a, 0x20, 0x73, 0x69, 0x6e, 0x28, + 0x75, 0x76, 0x2e, 0x79, 0x20, 0x2a, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, + 0x74, 0x20, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, + 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, + 0x30, 0x2e, 0x34, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x35, 0x2c, 0x20, + 0x67, 0x72, 0x69, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x20, 0x3d, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, + 0x30, 0x2e, 0x35, 0x20, 0x2a, 0x20, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x76, + 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x20, 0x2f, 0x2f, 0x20, 0x53, 0x44, 0x46, + 0x20, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x6f, 0x5f, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, + 0x2e, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x64, + 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x69, 0x6e, 0x2e, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x20, 0x2d, 0x20, 0x72, 0x6f, + 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x52, 0x61, 0x79, 0x2d, 0x42, 0x6f, 0x78, + 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6e, 0x64, + 0x20, 0x74, 0x69, 0x67, 0x68, 0x74, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, + 0x74, 0x20, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3d, + 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, + 0x33, 0x32, 0x3e, 0x28, 0x72, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, - 0x20, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3d, 0x20, - 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, - 0x32, 0x3e, 0x28, 0x72, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2c, - 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, + 0x20, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3d, 0x20, + 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x28, 0x6f, + 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, + 0x28, 0x72, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2c, 0x20, 0x30, + 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x20, 0x62, 0x6f, 0x78, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x20, + 0x28, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x76, 0x73, 0x5f, + 0x6d, 0x61, 0x69, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x4d, 0x45, 0x53, 0x48, 0x45, 0x53, 0x20, + 0x75, 0x73, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x2e, 0x79, 0x7a, 0x77, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, + 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, + 0x28, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x33, + 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, + 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, + 0x28, 0x31, 0x2e, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x31, + 0x2e, 0x35, 0x29, 0x3b, 0x20, 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x6f, + 0x72, 0x75, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, + 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x20, 0x3d, 0x3d, + 0x20, 0x35, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x7a, 0x77, 0x3b, 0x20, 0x7d, 0x20, 0x2f, + 0x2f, 0x20, 0x4d, 0x45, 0x53, 0x48, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x5f, + 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x2c, 0x20, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, + 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x2e, 0x68, 0x69, 0x74, 0x29, 0x20, + 0x7b, 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x20, 0x7d, + 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, + 0x72, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x2e, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x68, 0x69, + 0x74, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, + 0x76, 0x61, 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, + 0x20, 0x3c, 0x20, 0x36, 0x34, 0x3b, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, + 0x20, 0x2b, 0x20, 0x31, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, - 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, - 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x28, 0x6f, 0x62, - 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x20, - 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, - 0x72, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2c, 0x20, 0x30, 0x2e, - 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x20, - 0x62, 0x6f, 0x78, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x28, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x76, 0x73, 0x5f, 0x6d, - 0x61, 0x69, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x4d, 0x45, 0x53, 0x48, 0x45, 0x53, 0x20, 0x75, - 0x73, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x2e, 0x79, 0x7a, 0x77, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, - 0x74, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x61, 0x72, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x20, - 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, - 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x2e, - 0x30, 0x29, 0x20, 0x7b, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x20, - 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, - 0x31, 0x2e, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x31, 0x2e, - 0x35, 0x29, 0x3b, 0x20, 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x6f, 0x72, - 0x75, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x2e, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x20, 0x3d, 0x3d, 0x20, - 0x35, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x74, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x2e, 0x79, 0x7a, 0x77, 0x3b, 0x20, 0x7d, 0x20, 0x2f, 0x2f, - 0x20, 0x4d, 0x45, 0x53, 0x48, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, + 0x71, 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x2b, 0x20, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x2a, 0x20, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, + 0x69, 0x73, 0x74, 0x28, 0x71, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3c, 0x20, 0x30, 0x2e, + 0x30, 0x30, 0x30, 0x35, 0x29, 0x20, 0x7b, 0x20, 0x68, 0x69, 0x74, 0x20, + 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, + 0x6b, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x20, 0x2b, + 0x20, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x28, 0x74, 0x20, 0x3e, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x2e, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x29, 0x20, 0x7b, 0x20, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x68, 0x69, 0x74, 0x29, 0x20, + 0x7b, 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x73, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x5f, 0x62, - 0x6f, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x28, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x2c, 0x20, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x20, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x2e, 0x68, 0x69, 0x74, 0x29, 0x20, 0x7b, - 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x20, 0x7d, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, - 0x20, 0x74, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x2e, - 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x68, 0x69, 0x74, - 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x76, - 0x61, 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, - 0x3c, 0x20, 0x36, 0x34, 0x3b, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x20, - 0x2b, 0x20, 0x31, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, - 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x2b, 0x20, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x2a, - 0x20, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, - 0x73, 0x74, 0x28, 0x71, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x64, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, - 0x30, 0x30, 0x35, 0x29, 0x20, 0x7b, 0x20, 0x68, 0x69, 0x74, 0x20, 0x3d, - 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x20, 0x2b, 0x20, - 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x74, 0x20, 0x3e, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x2e, - 0x74, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x29, 0x20, 0x7b, 0x20, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x68, 0x69, 0x74, 0x29, 0x20, 0x7b, - 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, 0x68, - 0x69, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x2b, 0x20, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x2a, 0x20, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x70, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, - 0x66, 0x33, 0x32, 0x3e, 0x28, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x2c, 0x20, - 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x20, 0x2f, - 0x2f, 0x20, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x20, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, + 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x2b, 0x20, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x2a, 0x20, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x70, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x2c, + 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x20, + 0x2f, 0x2f, 0x20, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x20, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x62, 0x75, 0x6d, 0x70, + 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x65, 0x20, 0x3d, + 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, + 0x2e, 0x30, 0x30, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, 0x78, 0x31, 0x20, + 0x3d, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2b, 0x20, 0x65, 0x2e, + 0x78, 0x79, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x78, 0x31, 0x20, 0x3d, + 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, + 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x78, 0x31, 0x2e, 0x78, 0x2c, + 0x20, 0x71, 0x5f, 0x78, 0x31, 0x2e, 0x7a, 0x29, 0x20, 0x2f, 0x20, 0x36, + 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x61, + 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x71, 0x5f, + 0x78, 0x31, 0x2e, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x28, 0x71, 0x5f, 0x78, 0x31, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, + 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, + 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x5f, 0x78, 0x31, 0x20, 0x3d, + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x78, + 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x78, 0x31, 0x29, 0x2e, + 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x65, 0x74, 0x20, 0x64, 0x5f, 0x78, 0x31, 0x20, 0x3d, 0x20, 0x67, 0x65, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, 0x78, 0x31, 0x2c, + 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, + 0x20, 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, 0x78, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, - 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x62, 0x75, 0x6d, 0x70, 0x20, - 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x65, 0x20, 0x3d, 0x20, - 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, - 0x30, 0x30, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, - 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, 0x78, 0x31, 0x20, 0x3d, - 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x78, - 0x79, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x78, 0x31, 0x20, 0x3d, 0x20, - 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x74, - 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x78, 0x31, 0x2e, 0x78, 0x2c, 0x20, - 0x71, 0x5f, 0x78, 0x31, 0x2e, 0x7a, 0x29, 0x20, 0x2f, 0x20, 0x36, 0x2e, - 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x61, 0x63, - 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x71, 0x5f, 0x78, - 0x31, 0x2e, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x28, 0x71, 0x5f, 0x78, 0x31, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, - 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, 0x2e, - 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x5f, 0x78, 0x31, 0x20, 0x3d, 0x20, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x2c, - 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x78, 0x31, 0x29, 0x2e, 0x72, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, + 0x78, 0x32, 0x20, 0x3d, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2d, + 0x20, 0x65, 0x2e, 0x78, 0x79, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x78, + 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, + 0x3e, 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x78, 0x32, + 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x78, 0x32, 0x2e, 0x7a, 0x29, 0x20, + 0x2f, 0x20, 0x36, 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, + 0x2c, 0x20, 0x61, 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, + 0x28, 0x71, 0x5f, 0x78, 0x32, 0x2e, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, 0x78, 0x32, 0x29, 0x2c, 0x20, + 0x2d, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, + 0x2f, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x5f, 0x78, + 0x32, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, + 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x78, + 0x32, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, 0x5f, 0x78, 0x32, 0x20, 0x3d, + 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, + 0x78, 0x32, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, + 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, + 0x78, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, + 0x20, 0x71, 0x5f, 0x79, 0x31, 0x20, 0x3d, 0x20, 0x71, 0x5f, 0x68, 0x69, + 0x74, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, + 0x76, 0x5f, 0x79, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, + 0x5f, 0x79, 0x31, 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x79, 0x31, 0x2e, + 0x7a, 0x29, 0x20, 0x2f, 0x20, 0x36, 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, + 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x61, 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, + 0x61, 0x6d, 0x70, 0x28, 0x71, 0x5f, 0x79, 0x31, 0x2e, 0x79, 0x20, 0x2f, + 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, 0x79, 0x31, + 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, + 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x68, 0x5f, 0x79, 0x31, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, + 0x73, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, + 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, + 0x76, 0x5f, 0x79, 0x31, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, 0x5f, 0x79, + 0x31, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, + 0x28, 0x71, 0x5f, 0x79, 0x31, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, 0x64, 0x69, 0x73, + 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2a, + 0x20, 0x68, 0x5f, 0x79, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, 0x79, 0x32, 0x20, 0x3d, 0x20, 0x71, + 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x64, 0x5f, 0x78, 0x31, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, - 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, 0x78, 0x31, 0x2c, 0x20, - 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, - 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, 0x78, 0x31, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, 0x78, - 0x32, 0x20, 0x3d, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2d, 0x20, - 0x65, 0x2e, 0x78, 0x79, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x78, 0x32, - 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, - 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x78, 0x32, 0x2e, - 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x78, 0x32, 0x2e, 0x7a, 0x29, 0x20, 0x2f, - 0x20, 0x36, 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, - 0x20, 0x61, 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, - 0x71, 0x5f, 0x78, 0x32, 0x2e, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, 0x78, 0x32, 0x29, 0x2c, 0x20, 0x2d, - 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2f, - 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x5f, 0x78, 0x32, - 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, - 0x65, 0x78, 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x78, 0x32, - 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, 0x5f, 0x78, 0x32, 0x20, 0x3d, 0x20, - 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, 0x78, - 0x32, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x29, 0x20, 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, 0x78, - 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, + 0x74, 0x20, 0x75, 0x76, 0x5f, 0x79, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x74, 0x61, 0x6e, + 0x32, 0x28, 0x71, 0x5f, 0x79, 0x32, 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x5f, + 0x79, 0x32, 0x2e, 0x7a, 0x29, 0x20, 0x2f, 0x20, 0x36, 0x2e, 0x32, 0x38, + 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x61, 0x63, 0x6f, 0x73, + 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x71, 0x5f, 0x79, 0x32, 0x2e, + 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, + 0x5f, 0x79, 0x32, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x2c, 0x20, + 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, 0x2e, 0x31, 0x34, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x65, 0x74, 0x20, 0x68, 0x5f, 0x79, 0x32, 0x20, 0x3d, 0x20, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, + 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6e, + 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, + 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x79, 0x32, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, - 0x71, 0x5f, 0x79, 0x31, 0x20, 0x3d, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, - 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, - 0x5f, 0x79, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, - 0x33, 0x32, 0x3e, 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, - 0x79, 0x31, 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x79, 0x31, 0x2e, 0x7a, + 0x64, 0x5f, 0x79, 0x32, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, + 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, 0x79, 0x32, 0x2c, 0x20, 0x6f, 0x62, + 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, + 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, 0x79, 0x32, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, 0x7a, 0x31, 0x20, + 0x3d, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2b, 0x20, 0x65, 0x2e, + 0x79, 0x79, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x7a, 0x31, 0x20, 0x3d, + 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, + 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x7a, 0x31, 0x2e, 0x78, 0x2c, + 0x20, 0x71, 0x5f, 0x7a, 0x31, 0x2e, 0x7a, 0x29, 0x20, 0x2f, 0x20, 0x36, + 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x61, + 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x71, 0x5f, + 0x7a, 0x31, 0x2e, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x28, 0x71, 0x5f, 0x7a, 0x31, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, + 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, + 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x5f, 0x7a, 0x31, 0x20, 0x3d, + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x78, + 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x7a, 0x31, 0x29, 0x2e, + 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x65, 0x74, 0x20, 0x64, 0x5f, 0x7a, 0x31, 0x20, 0x3d, 0x20, 0x67, 0x65, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, 0x7a, 0x31, 0x2c, + 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, + 0x20, 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, 0x7a, 0x31, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, + 0x7a, 0x32, 0x20, 0x3d, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2d, + 0x20, 0x65, 0x2e, 0x79, 0x79, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x7a, + 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, + 0x3e, 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x7a, 0x32, + 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x7a, 0x32, 0x2e, 0x7a, 0x29, 0x20, + 0x2f, 0x20, 0x36, 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, + 0x2c, 0x20, 0x61, 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, + 0x28, 0x71, 0x5f, 0x7a, 0x32, 0x2e, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, 0x7a, 0x32, 0x29, 0x2c, 0x20, + 0x2d, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, + 0x2f, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x5f, 0x7a, + 0x32, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, + 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x7a, + 0x32, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, 0x5f, 0x7a, 0x32, 0x20, 0x3d, + 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, + 0x7a, 0x32, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, + 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, + 0x7a, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, + 0x20, 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, 0x65, 0x63, + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x64, 0x5f, 0x78, 0x31, 0x20, + 0x2d, 0x20, 0x64, 0x5f, 0x78, 0x32, 0x2c, 0x20, 0x64, 0x5f, 0x79, 0x31, + 0x20, 0x2d, 0x20, 0x64, 0x5f, 0x79, 0x32, 0x2c, 0x20, 0x64, 0x5f, 0x7a, + 0x31, 0x20, 0x2d, 0x20, 0x64, 0x5f, 0x7a, 0x32, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x4e, + 0x6f, 0x74, 0x65, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x20, + 0x74, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x73, + 0x20, 0x75, 0x73, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, + 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, + 0x74, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, + 0x76, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x30, 0x5d, 0x2e, 0x78, + 0x79, 0x7a, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, 0x2e, 0x78, 0x79, 0x7a, + 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x6d, + 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x2a, 0x20, 0x6e, 0x5f, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x53, + 0x44, 0x46, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x20, 0x7c, 0x7c, 0x20, + 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, + 0x34, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x2f, 0x2f, 0x20, 0x46, 0x6c, + 0x6f, 0x6f, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x30, + 0x29, 0x20, 0x6f, 0x72, 0x20, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x20, 0x3d, + 0x20, 0x70, 0x2e, 0x78, 0x7a, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x67, 0x72, 0x69, 0x64, 0x20, 0x3d, 0x20, + 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2a, 0x20, + 0x73, 0x69, 0x6e, 0x28, 0x75, 0x76, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x2e, + 0x78, 0x20, 0x2a, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x20, 0x2a, 0x20, + 0x73, 0x69, 0x6e, 0x28, 0x75, 0x76, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x2e, + 0x79, 0x20, 0x2a, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x65, 0x74, 0x20, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x20, + 0x3d, 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, + 0x28, 0x30, 0x2e, 0x34, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x35, 0x2c, + 0x20, 0x67, 0x72, 0x69, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x2a, 0x20, 0x28, 0x30, + 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2a, 0x20, 0x67, + 0x72, 0x69, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x68, 0x69, + 0x74, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, + 0x3e, 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x68, 0x69, + 0x74, 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x2e, 0x7a, 0x29, 0x20, 0x2f, 0x20, 0x36, 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x61, 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, - 0x6d, 0x70, 0x28, 0x71, 0x5f, 0x79, 0x31, 0x2e, 0x79, 0x20, 0x2f, 0x20, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, 0x79, 0x31, 0x29, - 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, - 0x29, 0x20, 0x2f, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, - 0x5f, 0x79, 0x31, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, - 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, - 0x65, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, - 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, - 0x5f, 0x79, 0x31, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, 0x5f, 0x79, 0x31, - 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, - 0x71, 0x5f, 0x79, 0x31, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, - 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, - 0x68, 0x5f, 0x79, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x65, 0x74, 0x20, 0x71, 0x5f, 0x79, 0x32, 0x20, 0x3d, 0x20, 0x71, 0x5f, - 0x68, 0x69, 0x74, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, - 0x20, 0x75, 0x76, 0x5f, 0x79, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, - 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, - 0x28, 0x71, 0x5f, 0x79, 0x32, 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x79, - 0x32, 0x2e, 0x7a, 0x29, 0x20, 0x2f, 0x20, 0x36, 0x2e, 0x32, 0x38, 0x20, - 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x61, 0x63, 0x6f, 0x73, 0x28, - 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x71, 0x5f, 0x79, 0x32, 0x2e, 0x79, - 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, - 0x79, 0x32, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, - 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x68, 0x5f, 0x79, 0x32, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, - 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x6e, - 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6e, 0x6f, - 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, - 0x20, 0x75, 0x76, 0x5f, 0x79, 0x32, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, - 0x5f, 0x79, 0x32, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, - 0x73, 0x74, 0x28, 0x71, 0x5f, 0x79, 0x32, 0x2c, 0x20, 0x6f, 0x62, 0x6a, - 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, 0x64, - 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x20, 0x2a, 0x20, 0x68, 0x5f, 0x79, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, 0x7a, 0x31, 0x20, 0x3d, - 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, - 0x79, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x7a, 0x31, 0x20, 0x3d, 0x20, - 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x74, - 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x7a, 0x31, 0x2e, 0x78, 0x2c, 0x20, - 0x71, 0x5f, 0x7a, 0x31, 0x2e, 0x7a, 0x29, 0x20, 0x2f, 0x20, 0x36, 0x2e, - 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x61, 0x63, - 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x71, 0x5f, 0x7a, - 0x31, 0x2e, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x28, 0x71, 0x5f, 0x7a, 0x31, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, - 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, 0x2e, - 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x5f, 0x7a, 0x31, 0x20, 0x3d, 0x20, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x2c, - 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x7a, 0x31, 0x29, 0x2e, 0x72, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x64, 0x5f, 0x7a, 0x31, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, - 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, 0x7a, 0x31, 0x2c, 0x20, - 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, - 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, 0x7a, 0x31, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x5f, 0x7a, - 0x32, 0x20, 0x3d, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x2d, 0x20, - 0x65, 0x2e, 0x79, 0x79, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x7a, 0x32, - 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, - 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x7a, 0x32, 0x2e, - 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x7a, 0x32, 0x2e, 0x7a, 0x29, 0x20, 0x2f, - 0x20, 0x36, 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x2c, - 0x20, 0x61, 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, - 0x71, 0x5f, 0x7a, 0x32, 0x2e, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, 0x7a, 0x32, 0x29, 0x2c, 0x20, 0x2d, - 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2f, - 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x5f, 0x7a, 0x32, + 0x6d, 0x70, 0x28, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x2e, 0x79, 0x20, 0x2f, + 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, 0x68, 0x69, + 0x74, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, + 0x30, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x74, 0x65, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x7a, 0x32, - 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x64, 0x5f, 0x7a, 0x32, 0x20, 0x3d, 0x20, - 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x5f, 0x7a, - 0x32, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x29, 0x20, 0x2d, 0x20, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x68, 0x5f, 0x7a, - 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, - 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, - 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x64, 0x5f, 0x78, 0x31, 0x20, 0x2d, - 0x20, 0x64, 0x5f, 0x78, 0x32, 0x2c, 0x20, 0x64, 0x5f, 0x79, 0x31, 0x20, - 0x2d, 0x20, 0x64, 0x5f, 0x79, 0x32, 0x2c, 0x20, 0x64, 0x5f, 0x7a, 0x31, - 0x20, 0x2d, 0x20, 0x64, 0x5f, 0x7a, 0x32, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x4e, 0x6f, - 0x74, 0x65, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x74, - 0x61, 0x6b, 0x65, 0x73, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x20, 0x72, 0x6f, 0x77, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x73, 0x20, - 0x75, 0x73, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, - 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x72, - 0x69, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, - 0x66, 0x33, 0x32, 0x3e, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x30, 0x5d, 0x2e, 0x78, 0x79, - 0x7a, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x2c, - 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x6f, 0x72, 0x6d, - 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x6d, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x20, 0x2a, 0x20, 0x6e, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, - 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x53, 0x44, - 0x46, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x2e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x20, 0x7c, 0x7c, 0x20, 0x6f, - 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x34, - 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x2f, 0x2f, 0x20, 0x46, 0x6c, 0x6f, - 0x6f, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x30, 0x29, - 0x20, 0x6f, 0x72, 0x20, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x75, 0x76, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x20, 0x3d, 0x20, - 0x70, 0x2e, 0x78, 0x7a, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x65, 0x74, 0x20, 0x67, 0x72, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x30, - 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2a, 0x20, 0x73, - 0x69, 0x6e, 0x28, 0x75, 0x76, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x20, 0x2a, 0x20, 0x73, - 0x69, 0x6e, 0x28, 0x75, 0x76, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x79, - 0x20, 0x2a, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, - 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, - 0x30, 0x2e, 0x34, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x35, 0x2c, 0x20, - 0x67, 0x72, 0x69, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, - 0x35, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2a, 0x20, 0x67, 0x72, - 0x69, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x76, 0x5f, 0x68, 0x69, 0x74, - 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, - 0x28, 0x61, 0x74, 0x61, 0x6e, 0x32, 0x28, 0x71, 0x5f, 0x68, 0x69, 0x74, - 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x2e, 0x7a, 0x29, - 0x20, 0x2f, 0x20, 0x36, 0x2e, 0x32, 0x38, 0x20, 0x2b, 0x20, 0x30, 0x2e, - 0x35, 0x2c, 0x20, 0x61, 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6c, 0x61, 0x6d, - 0x70, 0x28, 0x71, 0x5f, 0x68, 0x69, 0x74, 0x2e, 0x79, 0x20, 0x2f, 0x20, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x5f, 0x68, 0x69, 0x74, - 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, - 0x29, 0x29, 0x20, 0x2f, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x65, 0x74, 0x20, 0x74, 0x65, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x20, - 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x28, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x65, - 0x78, 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x68, 0x69, 0x74, - 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, - 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x37, 0x20, - 0x2b, 0x20, 0x30, 0x2e, 0x33, 0x20, 0x2a, 0x20, 0x74, 0x65, 0x78, 0x5f, - 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x20, 0x3d, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x28, 0x70, 0x2c, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, - 0x5f, 0x64, 0x69, 0x72, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x2c, 0x20, - 0x32, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6c, 0x69, - 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x69, 0x6e, 0x67, 0x28, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2c, - 0x20, 0x70, 0x2c, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, - 0x72, 0x20, 0x6f, 0x75, 0x74, 0x3a, 0x20, 0x46, 0x72, 0x61, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, - 0x28, 0x6c, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, - 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x20, 0x64, 0x65, - 0x70, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, - 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x2e, 0x76, 0x69, 0x65, 0x77, 0x5f, - 0x70, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, - 0x66, 0x33, 0x32, 0x3e, 0x28, 0x70, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x64, 0x65, - 0x70, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, - 0x6f, 0x73, 0x2e, 0x7a, 0x20, 0x2f, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x5f, - 0x70, 0x6f, 0x73, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, - 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x00 + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x76, 0x5f, 0x68, 0x69, + 0x74, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x37, + 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x33, 0x20, 0x2a, 0x20, 0x74, 0x65, 0x78, + 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x5f, 0x73, 0x68, + 0x61, 0x64, 0x6f, 0x77, 0x28, 0x70, 0x2c, 0x20, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x5f, 0x64, 0x69, 0x72, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x2c, + 0x20, 0x32, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6c, + 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x69, 0x6e, 0x67, 0x28, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x2c, 0x20, 0x70, 0x2c, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x61, 0x72, 0x20, 0x6f, 0x75, 0x74, 0x3a, 0x20, 0x46, 0x72, 0x61, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, + 0x3e, 0x28, 0x6c, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, + 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x20, 0x64, + 0x65, 0x70, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, + 0x20, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x2e, 0x76, 0x69, 0x65, 0x77, + 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x70, 0x2c, 0x20, 0x31, 0x2e, 0x30, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x64, + 0x65, 0x70, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x5f, + 0x70, 0x6f, 0x73, 0x2e, 0x7a, 0x20, 0x2f, 0x20, 0x63, 0x6c, 0x69, 0x70, + 0x5f, 0x70, 0x6f, 0x73, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x00 }; const size_t ASSET_SIZE_SHADER_COMMON_UNIFORMS = 346; alignas(16) static const uint8_t ASSET_DATA_SHADER_COMMON_UNIFORMS[] = { @@ -370446,79 +370382,83 @@ alignas(16) static const uint8_t ASSET_DATA_SHADER_SDF_PRIMITIVES[] = { 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x70, 0x2c, 0x20, 0x6e, 0x29, 0x20, 0x2b, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 }; -const size_t ASSET_SIZE_SHADER_LIGHTING = 845; +const size_t ASSET_SIZE_SHADER_LIGHTING = 898; alignas(16) static const uint8_t ASSET_DATA_SHADER_LIGHTING[] = { 0x66, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x28, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x6f, 0x62, - 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x29, - 0x20, 0x2d, 0x3e, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, - 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, - 0x31, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, - 0x70, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x65, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, - 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x30, 0x31, 0x2c, 0x20, 0x30, - 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, - 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x2e, - 0x78, 0x79, 0x79, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x29, 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, - 0x74, 0x28, 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x78, 0x79, 0x79, 0x2c, - 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, 0x2c, 0x0a, + 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x20, 0x76, 0x65, + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x70, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x65, 0x20, 0x3d, 0x20, 0x76, + 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, + 0x30, 0x31, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, + 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x78, 0x79, 0x79, 0x2c, 0x20, 0x6f, 0x62, + 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, + 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, 0x20, 0x2d, + 0x20, 0x65, 0x2e, 0x78, 0x79, 0x79, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x2c, + 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, + 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, + 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x2c, 0x20, 0x6f, + 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, - 0x78, 0x79, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x29, 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x28, 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x2c, 0x20, - 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, - 0x69, 0x73, 0x74, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, 0x79, - 0x78, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, - 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, - 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x79, 0x78, 0x2c, 0x20, 0x6f, - 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x28, 0x72, - 0x6f, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, - 0x2c, 0x20, 0x72, 0x64, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, - 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x74, 0x6d, 0x69, 0x6e, 0x3a, 0x20, 0x66, - 0x33, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x61, 0x78, 0x3a, 0x20, 0x66, 0x33, - 0x32, 0x2c, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x78, 0x3a, - 0x20, 0x75, 0x33, 0x32, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x66, 0x33, 0x32, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x72, - 0x65, 0x73, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x6d, - 0x69, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x74, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x29, 0x20, 0x7b, 0x20, - 0x74, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x3b, 0x20, 0x7d, 0x20, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x76, 0x61, - 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, - 0x20, 0x33, 0x32, 0x3b, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x20, 0x2b, - 0x20, 0x31, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x20, 0x3d, 0x20, 0x6d, 0x61, - 0x70, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x28, 0x72, 0x6f, 0x20, 0x2b, - 0x20, 0x72, 0x64, 0x20, 0x2a, 0x20, 0x74, 0x2c, 0x20, 0x73, 0x6b, 0x69, - 0x70, 0x5f, 0x69, 0x64, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x68, 0x20, 0x3c, 0x20, - 0x30, 0x2e, 0x30, 0x30, 0x31, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x30, 0x2e, 0x30, 0x3b, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, - 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x31, 0x36, - 0x2e, 0x30, 0x20, 0x2a, 0x20, 0x68, 0x20, 0x2f, 0x20, 0x74, 0x29, 0x3b, - 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, - 0x3d, 0x20, 0x74, 0x20, 0x2b, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, - 0x68, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x32, 0x2c, 0x20, 0x30, 0x2e, 0x34, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x28, 0x74, 0x20, 0x3e, 0x20, 0x74, 0x6d, 0x61, 0x78, 0x29, - 0x20, 0x7b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x72, - 0x65, 0x73, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, - 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 + 0x79, 0x78, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, + 0x73, 0x74, 0x28, 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x79, 0x78, + 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, + 0x0a, 0x66, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x28, 0x72, 0x6f, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x72, 0x64, 0x3a, 0x20, 0x76, + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x74, 0x6d, + 0x69, 0x6e, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x61, + 0x78, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x2c, 0x20, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x69, 0x64, 0x78, 0x3a, 0x20, 0x75, 0x33, 0x32, 0x29, 0x20, 0x2d, + 0x3e, 0x20, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x61, 0x72, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x31, 0x2e, + 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x74, + 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x69, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, + 0x35, 0x29, 0x20, 0x7b, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x30, + 0x35, 0x3b, 0x20, 0x7d, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x28, 0x76, 0x61, 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, + 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x33, 0x32, 0x3b, 0x20, 0x69, 0x20, + 0x3d, 0x20, 0x69, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x68, + 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, + 0x28, 0x72, 0x6f, 0x20, 0x2b, 0x20, 0x72, 0x64, 0x20, 0x2a, 0x20, 0x74, + 0x2c, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x78, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x28, 0x68, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x31, 0x29, 0x20, + 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x30, 0x2e, 0x30, + 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x72, 0x65, + 0x73, 0x2c, 0x20, 0x31, 0x36, 0x2e, 0x30, 0x20, 0x2a, 0x20, 0x68, 0x20, + 0x2f, 0x20, 0x74, 0x29, 0x3b, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x20, 0x2b, 0x20, 0x63, + 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x68, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x32, + 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x20, 0x3e, 0x20, + 0x74, 0x6d, 0x61, 0x78, 0x29, 0x20, 0x7b, 0x20, 0x62, 0x72, 0x65, 0x61, + 0x6b, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x6d, 0x70, 0x28, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x30, 0x2e, 0x30, + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 }; const size_t ASSET_SIZE_SHADER_RAY_BOX = 524; alignas(16) static const uint8_t ASSET_DATA_SHADER_RAY_BOX[] = { @@ -371800,68 +371740,73 @@ alignas(16) static const uint8_t ASSET_DATA_SHADER_MATH_SDF_SHAPES[] = { 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x70, 0x2c, 0x20, 0x6e, 0x29, 0x20, 0x2b, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 }; -const size_t ASSET_SIZE_SHADER_MATH_SDF_UTILS = 718; +const size_t ASSET_SIZE_SHADER_MATH_SDF_UTILS = 771; alignas(16) static const uint8_t ASSET_DATA_SHADER_MATH_SDF_UTILS[] = { 0x66, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x28, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x6f, 0x62, - 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x29, - 0x20, 0x2d, 0x3e, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, - 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, - 0x31, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, - 0x70, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x65, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, - 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x30, 0x31, 0x2c, 0x20, 0x30, - 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, - 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x2e, - 0x78, 0x79, 0x79, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x29, 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, - 0x74, 0x28, 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x78, 0x79, 0x79, 0x2c, - 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, 0x2c, 0x0a, + 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x20, 0x76, 0x65, + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x70, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x65, 0x20, 0x3d, 0x20, 0x76, + 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, + 0x30, 0x31, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, + 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x78, 0x79, 0x79, 0x2c, 0x20, 0x6f, 0x62, + 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, + 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, 0x20, 0x2d, + 0x20, 0x65, 0x2e, 0x78, 0x79, 0x79, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x2c, + 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, + 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, + 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x2c, 0x20, 0x6f, + 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, - 0x78, 0x79, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x29, 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x28, 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x78, 0x79, 0x2c, 0x20, - 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, - 0x69, 0x73, 0x74, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x2e, 0x79, 0x79, - 0x78, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, - 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, - 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x79, 0x78, 0x2c, 0x20, 0x6f, - 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x44, - 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, - 0x6e, 0x20, 0x41, 0x78, 0x69, 0x73, 0x2d, 0x41, 0x6c, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, - 0x42, 0x6f, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x61, 0x61, 0x62, 0x62, 0x5f, - 0x73, 0x64, 0x66, 0x28, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, - 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x3a, - 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, - 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, - 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x66, 0x33, 0x32, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, 0x6e, - 0x5f, 0x70, 0x20, 0x2b, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x29, 0x20, - 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x65, 0x74, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x20, - 0x28, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x20, 0x2d, 0x20, 0x6d, 0x69, 0x6e, - 0x5f, 0x70, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x61, - 0x62, 0x73, 0x28, 0x70, 0x20, 0x2d, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x29, 0x20, 0x2d, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x6d, 0x61, 0x78, 0x28, 0x71, - 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, - 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x6d, 0x69, 0x6e, - 0x28, 0x6d, 0x61, 0x78, 0x28, 0x71, 0x2e, 0x78, 0x2c, 0x20, 0x6d, 0x61, - 0x78, 0x28, 0x71, 0x2e, 0x79, 0x2c, 0x20, 0x71, 0x2e, 0x7a, 0x29, 0x29, - 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 + 0x79, 0x78, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x29, 0x20, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, + 0x73, 0x74, 0x28, 0x70, 0x20, 0x2d, 0x20, 0x65, 0x2e, 0x79, 0x79, 0x78, + 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, + 0x0a, 0x2f, 0x2f, 0x20, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x78, 0x69, 0x73, 0x2d, + 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x42, 0x6f, 0x78, 0x0a, 0x66, 0x6e, 0x20, + 0x61, 0x61, 0x62, 0x62, 0x5f, 0x73, 0x64, 0x66, 0x28, 0x70, 0x3a, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x6d, + 0x69, 0x6e, 0x5f, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, + 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x3a, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, + 0x3e, 0x20, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x65, 0x74, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x3d, + 0x20, 0x28, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x20, 0x2b, 0x20, 0x6d, 0x61, + 0x78, 0x5f, 0x70, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x20, + 0x2d, 0x20, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x29, 0x20, 0x2a, 0x20, 0x30, + 0x2e, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x71, 0x20, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x28, 0x70, 0x20, 0x2d, 0x20, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x29, 0x20, 0x2d, 0x20, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, + 0x6d, 0x61, 0x78, 0x28, 0x71, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x20, + 0x2b, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x6d, 0x61, 0x78, 0x28, 0x71, 0x2e, + 0x78, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x71, 0x2e, 0x79, 0x2c, 0x20, + 0x71, 0x2e, 0x7a, 0x29, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, + 0x0a, 0x7d, 0x0a, 0x00 }; const size_t ASSET_SIZE_SHADER_RENDER_SHADOWS = 441; alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDER_SHADOWS[] = { @@ -372104,144 +372049,96 @@ alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDER_SCENE_QUERY_BVH[] = { 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 }; -const size_t ASSET_SIZE_SHADER_RENDER_SCENE_QUERY_LINEAR = 2373; +const size_t ASSET_SIZE_SHADER_RENDER_SCENE_QUERY_LINEAR = 1454; alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDER_SCENE_QUERY_LINEAR[] = { 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x22, 0x6d, 0x61, 0x74, 0x68, 0x2f, 0x73, 0x64, 0x66, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x73, 0x22, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x22, 0x6d, 0x61, 0x74, 0x68, 0x2f, 0x73, 0x64, 0x66, 0x5f, 0x75, 0x74, - 0x69, 0x6c, 0x73, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x20, 0x42, 0x56, 0x48, 0x4e, 0x6f, 0x64, 0x65, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x69, 0x6e, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, - 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x78, 0x3a, 0x20, 0x69, 0x33, 0x32, - 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x3a, 0x20, 0x76, - 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x69, 0x64, 0x78, 0x5f, 0x6f, 0x72, - 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x69, 0x33, 0x32, 0x2c, - 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, - 0x30, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, - 0x32, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x3e, 0x20, 0x62, 0x76, - 0x68, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x3a, 0x20, 0x61, 0x72, 0x72, - 0x61, 0x79, 0x3c, 0x42, 0x56, 0x48, 0x4e, 0x6f, 0x64, 0x65, 0x3e, 0x3b, - 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, - 0x74, 0x28, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, - 0x32, 0x3e, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, - 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x69, 0x6c, 0x73, 0x22, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x67, 0x65, 0x74, + 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x66, 0x33, + 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6f, + 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, + 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x70, 0x29, 0x20, 0x2d, 0x20, 0x31, + 0x2e, 0x30, 0x3b, 0x20, 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x55, 0x6e, 0x69, + 0x74, 0x20, 0x53, 0x70, 0x68, 0x65, 0x72, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x28, 0x70, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x20, - 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x20, 0x53, 0x70, - 0x68, 0x65, 0x72, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x64, 0x42, 0x6f, 0x78, + 0x28, 0x70, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, + 0x3e, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x20, 0x2f, + 0x2f, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x20, 0x42, 0x6f, 0x78, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x2e, 0x30, 0x29, 0x20, + 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x64, 0x54, + 0x6f, 0x72, 0x75, 0x73, 0x28, 0x70, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x30, + 0x2e, 0x34, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x55, + 0x6e, 0x69, 0x74, 0x20, 0x54, 0x6f, 0x72, 0x75, 0x73, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x2e, 0x30, 0x29, 0x20, 0x7b, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x64, 0x50, 0x6c, + 0x61, 0x6e, 0x65, 0x28, 0x70, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, + 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, + 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, - 0x20, 0x32, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x20, 0x35, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x64, 0x42, 0x6f, 0x78, 0x28, 0x70, 0x2c, 0x20, - 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, - 0x30, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x55, 0x6e, - 0x69, 0x74, 0x20, 0x42, 0x6f, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, - 0x3d, 0x3d, 0x20, 0x33, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x64, 0x54, 0x6f, 0x72, 0x75, 0x73, - 0x28, 0x70, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, - 0x3e, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x29, 0x29, - 0x3b, 0x20, 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x20, - 0x54, 0x6f, 0x72, 0x75, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, - 0x3d, 0x20, 0x34, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x73, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x28, - 0x70, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, - 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x30, - 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x35, 0x2e, 0x30, - 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, - 0x64, 0x42, 0x6f, 0x78, 0x28, 0x70, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x7a, 0x77, 0x29, 0x3b, - 0x20, 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x4d, 0x45, 0x53, 0x48, 0x20, 0x41, - 0x41, 0x42, 0x42, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x2e, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x63, 0x65, 0x6e, - 0x65, 0x28, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, - 0x32, 0x3e, 0x2c, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x78, - 0x3a, 0x20, 0x75, 0x33, 0x32, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x66, 0x33, - 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, - 0x64, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x30, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x69, 0x33, 0x32, - 0x2c, 0x20, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x61, 0x72, 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x74, 0x72, - 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x26, 0x62, 0x76, 0x68, 0x5f, - 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x29, 0x20, 0x3e, 0x20, 0x30, 0x75, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x5b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x70, - 0x74, 0x72, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x70, - 0x74, 0x72, 0x2b, 0x2b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x74, 0x72, 0x20, 0x3e, 0x20, - 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x74, 0x72, 0x2d, 0x2d, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x20, 0x3d, - 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5b, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x5f, 0x70, 0x74, 0x72, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, - 0x3d, 0x20, 0x62, 0x76, 0x68, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5b, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x61, 0x61, 0x62, 0x62, 0x5f, 0x73, 0x64, 0x66, 0x28, 0x70, 0x2c, 0x20, - 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x6e, 0x6f, - 0x64, 0x65, 0x2e, 0x6d, 0x61, 0x78, 0x29, 0x20, 0x3c, 0x20, 0x64, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6e, 0x6f, 0x64, 0x65, 0x2e, - 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x78, 0x20, 0x3c, 0x20, 0x30, - 0x29, 0x20, 0x7b, 0x20, 0x2f, 0x2f, 0x20, 0x4c, 0x65, 0x61, 0x66, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x5f, - 0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x75, 0x33, 0x32, 0x28, 0x6e, 0x6f, - 0x64, 0x65, 0x2e, 0x6f, 0x62, 0x6a, 0x5f, 0x69, 0x64, 0x78, 0x5f, 0x6f, - 0x72, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x5f, 0x69, 0x64, - 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x64, - 0x78, 0x29, 0x20, 0x7b, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, - 0x65, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, - 0x20, 0x6f, 0x62, 0x6a, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x5b, 0x6f, 0x62, 0x6a, 0x5f, 0x69, 0x64, 0x78, 0x5d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6f, 0x62, 0x6a, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, + 0x7a, 0x77, 0x29, 0x3b, 0x20, 0x7d, 0x20, 0x2f, 0x2f, 0x20, 0x4d, 0x45, + 0x53, 0x48, 0x20, 0x41, 0x41, 0x42, 0x42, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x2e, 0x30, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x70, 0x5f, + 0x73, 0x63, 0x65, 0x6e, 0x65, 0x28, 0x70, 0x3a, 0x20, 0x76, 0x65, 0x63, + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x69, 0x64, 0x78, 0x3a, 0x20, 0x75, 0x33, 0x32, 0x29, 0x20, 0x2d, + 0x3e, 0x20, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x61, 0x72, 0x20, 0x64, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x30, 0x30, + 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x20, + 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x4c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x28, 0x26, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x76, 0x61, + 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x20, 0x69, 0x20, + 0x3c, 0x20, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x69, 0x20, + 0x3d, 0x3d, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x78, 0x29, + 0x20, 0x7b, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x3b, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x20, 0x3d, 0x20, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x5b, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x69, 0x6e, 0x76, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x70, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x65, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6d, 0x69, + 0x6e, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x6f, 0x62, 0x6a, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x30, 0x5d, 0x2e, 0x78, 0x79, + 0x7a, 0x29, 0x2c, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x5b, 0x31, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x5b, 0x30, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, - 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x6f, - 0x62, 0x6a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, 0x2e, - 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x32, - 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x41, - 0x4e, 0x54, 0x3a, 0x20, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x28, 0x74, - 0x79, 0x70, 0x65, 0x20, 0x34, 0x2e, 0x30, 0x29, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x4d, 0x65, 0x73, 0x68, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x20, - 0x35, 0x2e, 0x30, 0x29, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x27, 0x73, 0x27, 0x2e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6c, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, + 0x20, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x41, 0x4e, 0x54, 0x3a, 0x20, + 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x34, 0x2e, 0x30, 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x4d, 0x65, 0x73, + 0x68, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x20, 0x35, 0x2e, 0x30, 0x29, + 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x27, 0x73, 0x27, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x27, 0x73, 0x27, 0x20, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x69, @@ -372249,61 +372146,33 @@ alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDER_SCENE_QUERY_LINEAR[] = 0x20, 0x28, 0x73, 0x70, 0x68, 0x65, 0x72, 0x65, 0x2c, 0x20, 0x62, 0x6f, 0x78, 0x2c, 0x20, 0x74, 0x6f, 0x72, 0x75, 0x73, 0x29, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x20, 0x6d, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x2e, 0x20, 0x4d, 0x65, 0x73, 0x68, 0x65, 0x73, - 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x2d, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x65, 0x78, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x28, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x2e, 0x78, 0x20, 0x21, 0x3d, 0x20, 0x34, 0x2e, 0x30, 0x20, 0x26, - 0x26, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x2e, 0x78, 0x20, 0x21, 0x3d, 0x20, 0x35, 0x2e, 0x30, 0x29, 0x20, 0x7b, - 0x20, 0x2f, 0x2f, 0x20, 0x4e, 0x6f, 0x74, 0x20, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x68, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x20, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2e, 0x20, 0x4d, 0x65, + 0x73, 0x68, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, + 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2d, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, + 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x20, + 0x21, 0x3d, 0x20, 0x34, 0x2e, 0x30, 0x20, 0x26, 0x26, 0x20, 0x6f, 0x62, + 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x20, 0x21, + 0x3d, 0x20, 0x35, 0x2e, 0x30, 0x29, 0x20, 0x7b, 0x20, 0x2f, 0x2f, 0x20, + 0x4e, 0x6f, 0x74, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2c, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x64, 0x2c, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x20, 0x2a, 0x20, 0x73, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x20, - 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x64, 0x2c, 0x20, 0x67, 0x65, 0x74, - 0x5f, 0x64, 0x69, 0x73, 0x74, 0x28, 0x71, 0x2c, 0x20, 0x6f, 0x62, 0x6a, - 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, - 0x7b, 0x20, 0x2f, 0x2f, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x74, 0x72, 0x20, 0x3c, 0x20, 0x33, 0x31, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, - 0x70, 0x74, 0x72, 0x5d, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x2e, - 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x78, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, - 0x70, 0x74, 0x72, 0x2b, 0x2b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5b, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x5f, 0x70, 0x74, 0x72, 0x5d, 0x20, 0x3d, 0x20, 0x6e, 0x6f, - 0x64, 0x65, 0x2e, 0x6f, 0x62, 0x6a, 0x5f, 0x69, 0x64, 0x78, 0x5f, 0x6f, - 0x72, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x70, - 0x74, 0x72, 0x2b, 0x2b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x3b, 0x0a, 0x7d, 0x00 + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x20, 0x3d, 0x20, 0x6d, 0x69, + 0x6e, 0x28, 0x64, 0x2c, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x28, 0x71, 0x2c, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x3b, + 0x0a, 0x7d, 0x00 }; const size_t ASSET_SIZE_SHADER_RENDER_LIGHTING_UTILS = 330; alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDER_LIGHTING_UTILS[] = { -- cgit v1.2.3