From 237e74cebaf26ab4d018649fbbdf45ee40b298e0 Mon Sep 17 00:00:00 2001 From: Jason <83615043+JJassonn69@users.noreply.github.com> Date: Fri, 1 May 2026 14:26:54 +0545 Subject: [PATCH] =?UTF-8?q?test(realdata):=20PR-K=20=E2=80=94=20synthetic?= =?UTF-8?q?=20regen=20of=20doppler/fullchain=20realdata=20fixtures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the legacy ADI CN0566 .npy capture flow with a synthetic radar scene generated by tb/cosim/real_data/gen_realdata_hex.py via the existing radar_scene + fpga_model bit-accurate Python models. Dimensions now match production radar_params.vh: RP_FFT_SIZE=2048, RP_DECIMATION_FACTOR=4, RP_NUM_RANGE_BINS=512, CHIRPS_PER_FRAME=48, NUM_DOPPLER_BINS=48 (3 sub-frames x 16-pt FFT). Previously both TBs were pinned to legacy 32-chirp / 2-subframe / 1024->64 DECIM=16 dimensions. range_bin_decimator.v's 2-bit comparisons against DECIMATION_FACTOR/2 only behave correctly for small DECIM, so the old DECIM=16 path no longer worked even though the TBs compiled — that is why Full-Chain Real-Data was reporting pass=0/fail=3. Changes: tb/cosim/real_data/gen_realdata_hex.py (new) - synthesises 6 fixture files from a 2-target scene via DopplerProcessor (3-subframe) and RangeBinDecimator (peak, 2048->512). Reproducible (fixed seed 42). tb/cosim/real_data/golden_reference.py (deleted, 1436 lines) - the legacy generator depended on out-of-tree ADI .npy captures and modelled only the 2-subframe / 32-chirp path. tb/cosim/real_data/hex/ - 43 orphan artifacts deleted (CFAR / MTI / notched / detection / range-FFT debug dumps that nothing in the active TB or regression was loading); 6 fixtures regenerated at production dimensions: doppler_input_realdata.hex 24576 packed lines (was 2048) doppler_ref_{i,q}.hex 24576 lines each (was 2048) fullchain_range_input.hex 98304 packed lines (was 32768) fullchain_doppler_ref_{i,q}.hex 24576 lines each (was 2048) tb/tb_doppler_realdata.v - CHIRPS 32->48, RANGE_BINS 64->512, DOPPLER_FFT 32->48, MAX_CYCLES bumped. tb/tb_fullchain_realdata.v - same + INPUT_BINS 1024->2048, DECIM_FACTOR 16->4, fixed decim_bin_index width to RP_RANGE_BIN_WIDTH_MAX, fixed start_bin width 10->11. run_regression.sh - "Doppler Real-Data" label updated (no longer "ADI CN0566"); both realdata tests get explicit --timeout values (300 / 600 s). Standalone results: tb_doppler_realdata - 24584/24584 PASS (3.36 s sim, ~50 s wall) tb_fullchain_realdata - 24585/24585 PASS (4.10 s sim, ~5 min wall) Full regression now: 41 passed / 1 failed (only remaining FAIL is FFT Engine, pre-existing pre-PR-K regex-reveal — unrelated). --- 9_Firmware/9_2_FPGA/run_regression.sh | 4 +- .../tb/cosim/real_data/gen_realdata_hex.py | 182 + .../tb/cosim/real_data/golden_reference.py | 1436 - .../tb/cosim/real_data/hex/STALE_NOTICE.md | 42 - .../tb/cosim/real_data/hex/adc_chirp0.hex | 1024 - .../tb/cosim/real_data/hex/chirp0_i.hex | 1024 - .../tb/cosim/real_data/hex/chirp0_q.hex | 1024 - .../cosim/real_data/hex/decimated_range_i.hex | 2048 - .../cosim/real_data/hex/decimated_range_i.npy | Bin 16512 -> 0 bytes .../cosim/real_data/hex/decimated_range_q.hex | 2048 - .../cosim/real_data/hex/decimated_range_q.npy | Bin 16512 -> 0 bytes .../tb/cosim/real_data/hex/detection_mag.npy | Bin 16512 -> 0 bytes .../tb/cosim/real_data/hex/detections.txt | 361 - .../real_data/hex/doppler_input_realdata.hex | 26624 ++- .../tb/cosim/real_data/hex/doppler_map_i.hex | 2048 - .../tb/cosim/real_data/hex/doppler_map_i.npy | Bin 16512 -> 0 bytes .../tb/cosim/real_data/hex/doppler_map_q.hex | 2048 - .../tb/cosim/real_data/hex/doppler_map_q.npy | Bin 16512 -> 0 bytes .../tb/cosim/real_data/hex/doppler_ref_i.hex | 26620 ++- .../tb/cosim/real_data/hex/doppler_ref_q.hex | 26612 ++- .../real_data/hex/fullchain_cfar_det.hex | 2048 - .../hex/fullchain_cfar_detections.txt | 8 - .../real_data/hex/fullchain_cfar_flags.npy | Bin 2176 -> 0 bytes .../real_data/hex/fullchain_cfar_mag.hex | 2048 - .../real_data/hex/fullchain_cfar_mag.npy | Bin 16512 -> 0 bytes .../real_data/hex/fullchain_cfar_thr.hex | 2048 - .../real_data/hex/fullchain_cfar_thr.npy | Bin 16512 -> 0 bytes .../real_data/hex/fullchain_detection_mag.hex | 2048 - .../real_data/hex/fullchain_detections.txt | 211 - .../real_data/hex/fullchain_doppler_i.npy | Bin 16512 -> 0 bytes .../real_data/hex/fullchain_doppler_q.npy | Bin 16512 -> 0 bytes .../real_data/hex/fullchain_doppler_ref_i.hex | 26620 ++- .../hex/fullchain_doppler_ref_packed.hex | 2048 - .../real_data/hex/fullchain_doppler_ref_q.hex | 26622 ++- .../real_data/hex/fullchain_mti_doppler_i.npy | Bin 16512 -> 0 bytes .../real_data/hex/fullchain_mti_doppler_q.npy | Bin 16512 -> 0 bytes .../hex/fullchain_mti_doppler_ref_i.hex | 2048 - .../hex/fullchain_mti_doppler_ref_q.hex | 2048 - .../cosim/real_data/hex/fullchain_mti_i.npy | Bin 16512 -> 0 bytes .../cosim/real_data/hex/fullchain_mti_q.npy | Bin 16512 -> 0 bytes .../real_data/hex/fullchain_mti_ref_i.hex | 2048 - .../real_data/hex/fullchain_mti_ref_q.hex | 2048 - .../real_data/hex/fullchain_notched_ref_i.hex | 2048 - .../hex/fullchain_notched_ref_packed.hex | 2048 - .../real_data/hex/fullchain_notched_ref_q.hex | 2048 - .../real_data/hex/fullchain_range_input.hex | 131064 +++++++++++---- .../tb/cosim/real_data/hex/post_ddc_i.hex | 32768 ---- .../tb/cosim/real_data/hex/post_ddc_q.hex | 32768 ---- .../cosim/real_data/hex/range_fft_all_i.npy | Bin 262272 -> 0 bytes .../cosim/real_data/hex/range_fft_all_q.npy | Bin 262272 -> 0 bytes .../real_data/hex/range_fft_chirp0_i.hex | 1024 - .../real_data/hex/range_fft_chirp0_q.hex | 1024 - 9_Firmware/9_2_FPGA/tb/tb_doppler_realdata.v | 65 +- .../9_2_FPGA/tb/tb_fullchain_realdata.v | 75 +- 54 files changed, 221428 insertions(+), 148542 deletions(-) create mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/gen_realdata_hex.py delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/golden_reference.py delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/STALE_NOTICE.md delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/adc_chirp0.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/chirp0_i.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/chirp0_q.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_i.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_i.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_q.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_q.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/detection_mag.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/detections.txt delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_i.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_i.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_q.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_q.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_det.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_detections.txt delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_flags.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_mag.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_mag.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_thr.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_thr.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_detection_mag.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_detections.txt delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_doppler_i.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_doppler_q.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_doppler_ref_packed.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_doppler_i.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_doppler_q.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_doppler_ref_i.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_doppler_ref_q.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_i.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_q.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_ref_i.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_ref_q.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_notched_ref_i.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_notched_ref_packed.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_notched_ref_q.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/post_ddc_i.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/post_ddc_q.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_all_i.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_all_q.npy delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_chirp0_i.hex delete mode 100644 9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_chirp0_q.hex diff --git a/9_Firmware/9_2_FPGA/run_regression.sh b/9_Firmware/9_2_FPGA/run_regression.sh index d6504ff..de02950 100755 --- a/9_Firmware/9_2_FPGA/run_regression.sh +++ b/9_Firmware/9_2_FPGA/run_regression.sh @@ -594,11 +594,11 @@ run_test "DDC Chain (NCO→CIC→FIR)" \ # Real-data co-simulation: committed golden hex vs RTL (exact match required). # These catch architecture mismatches (e.g. 32-pt → dual 16-pt Doppler FFT) # that self-blessing golden-generate/compare tests cannot detect. -run_test "Doppler Real-Data (ADI CN0566, exact match)" \ +run_test --timeout=300 "Doppler Real-Data (synthetic, exact match)" \ tb/tb_doppler_realdata.vvp \ tb/tb_doppler_realdata.v doppler_processor.v xfft_16.v fft_engine.v -run_test "Full-Chain Real-Data (decim→Doppler, exact match)" \ +run_test --timeout=600 "Full-Chain Real-Data (decim→Doppler, exact match)" \ tb/tb_fullchain_realdata.vvp \ tb/tb_fullchain_realdata.v range_bin_decimator.v \ doppler_processor.v xfft_16.v fft_engine.v diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/gen_realdata_hex.py b/9_Firmware/9_2_FPGA/tb/cosim/real_data/gen_realdata_hex.py new file mode 100644 index 0000000..351b8e7 --- /dev/null +++ b/9_Firmware/9_2_FPGA/tb/cosim/real_data/gen_realdata_hex.py @@ -0,0 +1,182 @@ +#!/usr/bin/env python3 +""" +gen_realdata_hex.py — Synthetic stimulus + bit-exact golden for the realdata +co-simulation testbenches (tb_doppler_realdata, tb_fullchain_realdata). + +Replaces the legacy ADI CN0566 hardware captures (32-chirp / 2-subframe / +32-bin Doppler) with a synthetic radar scene at production dimensions +(48-chirp / 3-subframe / 48-bin Doppler) so the regression no longer +depends on out-of-tree .npy files. + +Outputs (six files, all under tb/cosim/real_data/hex/): + doppler_input_realdata.hex 48 chirps x 512 range bins, packed {Q,I} + doppler_ref_i.hex / _q.hex 512 range bins x 48 Doppler bins (signed 16-bit) + fullchain_range_input.hex 48 chirps x 2048 range bins, packed {Q,I} + fullchain_doppler_ref_i.hex + fullchain_doppler_ref_q.hex same shape as doppler_ref_* + +Dimensions match production (radar_params.vh: RP_FFT_SIZE=2048, +RP_DECIMATION_FACTOR=4, RP_NUM_RANGE_BINS=512, RP_NUM_DOPPLER_BINS=48). + +Pipeline modeled (bit-exact to RTL): + doppler-only: scene -> doppler_processor (3-subframe, 16-pt FFT, Hamming) + fullchain: scene -> range_bin_decimator (2048->512 peak, DECIM=4) + -> doppler_processor + +Usage: python3 gen_realdata_hex.py +""" + +import os +import sys + +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from fpga_model import DopplerProcessor, RangeBinDecimator +from radar_scene import Target, generate_doppler_frame + + +# ---------------------------------------------------------------------------- +# Production dimensions (radar_params.vh: PR-F + RP_FFT_SIZE/RP_DECIMATION_FACTOR) +# ---------------------------------------------------------------------------- +NUM_SUBFRAMES = 3 +DOPPLER_FFT_SIZE = 16 +DOPPLER_TOTAL_BINS = NUM_SUBFRAMES * DOPPLER_FFT_SIZE # 48 +CHIRPS_PER_SUBFRAME = 16 +CHIRPS_PER_FRAME = NUM_SUBFRAMES * CHIRPS_PER_SUBFRAME # 48 + +# Doppler-only TB: post-decim range bins fed straight into doppler. +# Matches production RP_NUM_RANGE_BINS = RP_FFT_SIZE / RP_DECIMATION_FACTOR. +DOPPLER_RANGE_BINS = 512 + +# Fullchain TB: pre-decim 2048-bin range FFT -> range_bin_decimator (DECIM=4) -> doppler. +FULLCHAIN_INPUT_BINS = 2048 +FULLCHAIN_OUTPUT_BINS = DOPPLER_RANGE_BINS # 512 +FULLCHAIN_DECIM_FACTOR = FULLCHAIN_INPUT_BINS // FULLCHAIN_OUTPUT_BINS # 4 + +OUT_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "hex") + +# ---------------------------------------------------------------------------- +# Scene — two distinct targets so both the FFT bin layout and the slow-time +# Doppler axis carry information across all three sub-frames. +# ---------------------------------------------------------------------------- +SCENE_TARGETS = [ + Target(range_m=300, velocity_mps= 10.0, rcs_dbsm=20.0), + Target(range_m=800, velocity_mps=-20.0, rcs_dbsm=15.0), +] +SCENE_SEED = 42 + + +def write_hex_32(path, samples_iq): + """Packed 32-bit {Q[31:16], I[15:0]} per line for $readmemh.""" + with open(path, 'w') as f: + for (i_val, q_val) in samples_iq: + packed = ((q_val & 0xFFFF) << 16) | (i_val & 0xFFFF) + f.write(f"{packed:08X}\n") + + +def write_hex_16(path, values): + """One signed 16-bit value per line, two's-complement hex.""" + with open(path, 'w') as f: + for v in values: + f.write(f"{v & 0xFFFF:04X}\n") + + +def make_doppler_processor(): + """DopplerProcessor at production dimensions (3 sub-frames, 512 range bins).""" + return DopplerProcessor() # defaults: NUM_SUBFRAMES=3, RANGE_BINS=512 + + +def flatten_doppler_map(doppler_i, doppler_q): + """RTL stream order: rbin 0 [dbin 0..47], rbin 1 [...], ..., rbin 63 [...].""" + flat_i, flat_q = [], [] + for rb in range(DOPPLER_RANGE_BINS): + for db in range(DOPPLER_TOTAL_BINS): + flat_i.append(doppler_i[rb][db]) + flat_q.append(doppler_q[rb][db]) + return flat_i, flat_q + + +def gen_doppler_realdata(): + """tb_doppler_realdata: post-decim 48 x 512 -> doppler 512 x 48.""" + print("[doppler_realdata] generating ...") + frame_i, frame_q = generate_doppler_frame( + SCENE_TARGETS, + n_chirps=CHIRPS_PER_FRAME, + n_range_bins=DOPPLER_RANGE_BINS, + seed=SCENE_SEED, + ) + + stim = [] + for c in range(CHIRPS_PER_FRAME): + for rb in range(DOPPLER_RANGE_BINS): + stim.append((frame_i[c][rb], frame_q[c][rb])) + write_hex_32(os.path.join(OUT_DIR, "doppler_input_realdata.hex"), stim) + + dp = make_doppler_processor() + doppler_i, doppler_q = dp.process_frame(frame_i, frame_q) + flat_i, flat_q = flatten_doppler_map(doppler_i, doppler_q) + write_hex_16(os.path.join(OUT_DIR, "doppler_ref_i.hex"), flat_i) + write_hex_16(os.path.join(OUT_DIR, "doppler_ref_q.hex"), flat_q) + + print(f" stimulus: {len(stim)} packed lines (expected {CHIRPS_PER_FRAME * DOPPLER_RANGE_BINS})") + print(f" golden: {len(flat_i)} lines i / {len(flat_q)} lines q " + f"(expected {DOPPLER_RANGE_BINS * DOPPLER_TOTAL_BINS})") + + +def gen_fullchain_realdata(): + """tb_fullchain_realdata: 48 x 2048 -> RangeBinDecimator (DECIM=4 peak) -> doppler 512 x 48.""" + print("[fullchain_realdata] generating ...") + frame_i, frame_q = generate_doppler_frame( + SCENE_TARGETS, + n_chirps=CHIRPS_PER_FRAME, + n_range_bins=FULLCHAIN_INPUT_BINS, + seed=SCENE_SEED, + ) + + stim = [] + for c in range(CHIRPS_PER_FRAME): + for rb in range(FULLCHAIN_INPUT_BINS): + stim.append((frame_i[c][rb], frame_q[c][rb])) + write_hex_32(os.path.join(OUT_DIR, "fullchain_range_input.hex"), stim) + + # fpga_model.RangeBinDecimator is hard-coded to 2048->512, DECIM=4 — production. + decim_i_2d, decim_q_2d = [], [] + for c in range(CHIRPS_PER_FRAME): + di, dq = RangeBinDecimator.decimate(frame_i[c], frame_q[c], mode=1, start_bin=0) + decim_i_2d.append(di) + decim_q_2d.append(dq) + + dp = make_doppler_processor() + doppler_i, doppler_q = dp.process_frame(decim_i_2d, decim_q_2d) + flat_i, flat_q = flatten_doppler_map(doppler_i, doppler_q) + write_hex_16(os.path.join(OUT_DIR, "fullchain_doppler_ref_i.hex"), flat_i) + write_hex_16(os.path.join(OUT_DIR, "fullchain_doppler_ref_q.hex"), flat_q) + + print(f" stimulus: {len(stim)} packed lines " + f"(expected {CHIRPS_PER_FRAME * FULLCHAIN_INPUT_BINS})") + print(f" golden: {len(flat_i)} lines i / {len(flat_q)} lines q " + f"(expected {DOPPLER_RANGE_BINS * DOPPLER_TOTAL_BINS})") + + +def main(): + os.makedirs(OUT_DIR, exist_ok=True) + gen_doppler_realdata() + gen_fullchain_realdata() + + print("\nGenerated files:") + for f in ( + "doppler_input_realdata.hex", + "doppler_ref_i.hex", + "doppler_ref_q.hex", + "fullchain_range_input.hex", + "fullchain_doppler_ref_i.hex", + "fullchain_doppler_ref_q.hex", + ): + path = os.path.join(OUT_DIR, f) + with open(path) as fp: + n_lines = sum(1 for _ in fp) + print(f" {f:40s} {n_lines:7d} lines ({os.path.getsize(path):7d} bytes)") + + +if __name__ == '__main__': + main() diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/golden_reference.py b/9_Firmware/9_2_FPGA/tb/cosim/real_data/golden_reference.py deleted file mode 100644 index 6701777..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/golden_reference.py +++ /dev/null @@ -1,1436 +0,0 @@ -#!/usr/bin/env python3 -""" -golden_reference.py — AERIS-10 FPGA bit-accurate golden reference model - -Uses ADI CN0566 Phaser radar data (10.525 GHz X-band FMCW) to validate -the FPGA signal processing pipeline stage by stage: - - ADC → DDC (NCO+mixer+CIC+FIR) → Range FFT → Doppler FFT → Detection - -The model replicates exact RTL fixed-point arithmetic (bit widths, truncation, -rounding, saturation) so outputs can be compared bit-for-bit against Icarus -Verilog simulation results. - -Generates .hex stimulus files for RTL testbenches and .npy reference files -for comparison. - -Usage: - python3 golden_reference.py [--frame N] [--plot] -""" - -import numpy as np -import os -import argparse - -# =========================================================================== -# Configuration — exact match to RTL parameters -# =========================================================================== - -# ADC -ADC_BITS = 8 # ad9484: 8-bit unsigned - -# NCO -NCO_PHASE_WIDTH = 32 -NCO_PHASE_INC = 0x4CCCCCCD # 120 MHz IF at 400 MHz Fs -NCO_LUT_SIZE = 64 # Quarter-wave sine LUT entries -NCO_OUT_BITS = 16 # Signed 16-bit sin/cos output - -# Mixer -MIXER_IN_BITS = 18 # ADC sign-extended to 18-bit -MIXER_PRODUCT_BITS = 34 # 18 x 16 = 34 -MIXER_TRUNCATE_SHIFT = 16 # mixed_i[33:16] fed to CIC - -# CIC -CIC_STAGES = 5 -CIC_DECIMATION = 4 -CIC_DIFFERENTIAL_DELAY = 1 -CIC_ACC_WIDTH = 48 -CIC_COMB_WIDTH = 28 -CIC_GAIN_SHIFT = 10 # >>> 10 to normalize 4^5 = 1024 -CIC_OUT_BITS = 18 # Saturated to signed 18-bit - -# FIR -FIR_TAPS = 32 -FIR_COEFF_WIDTH = 18 -FIR_DATA_WIDTH = 18 -FIR_ACCUM_WIDTH = 36 -# Coefficients from fir_lowpass.v (18-bit signed hex, 18'sh notation) -FIR_COEFFS_HEX = [ - 0x000AD, 0x000CE, 0x3FD87, 0x002A6, - 0x000E0, 0x3F8C0, 0x00A45, 0x3FD82, - 0x3F0B5, 0x01CAD, 0x3EE59, 0x3E821, - 0x04841, 0x3B340, 0x3E299, 0x1FFFF, - 0x1FFFF, 0x3E299, 0x3B340, 0x04841, - 0x3E821, 0x3EE59, 0x01CAD, 0x3F0B5, - 0x3FD82, 0x00A45, 0x3F8C0, 0x000E0, - 0x002A6, 0x3FD87, 0x000CE, 0x000AD, -] - -# DDC output interface -DDC_OUT_BITS = 16 # 18 → 16 bit with rounding + saturation - -FFT_SIZE = 1024 -FFT_DATA_W = 16 -FFT_INTERNAL_W = 32 -FFT_TWIDDLE_W = 16 - -# Doppler — dual 16-pt FFT architecture -DOPPLER_FFT_SIZE = 16 # per sub-frame -DOPPLER_TOTAL_BINS = 32 # total output (2 sub-frames x 16) -DOPPLER_RANGE_BINS = 64 -DOPPLER_CHIRPS = 32 -CHIRPS_PER_SUBFRAME = 16 -DOPPLER_WINDOW_TYPE = 0 # Hamming - -# 16-point Hamming window coefficients from doppler_processor.v (Q15) -HAMMING_Q15 = [ - 0x0A3D, 0x0E5C, 0x1B6D, 0x3088, - 0x4B33, 0x6573, 0x7642, 0x7F62, - 0x7F62, 0x7642, 0x6573, 0x4B33, - 0x3088, 0x1B6D, 0x0E5C, 0x0A3D, -] - -# ADI dataset parameters -ADI_SAMPLE_RATE = 4e6 # 4 MSPS -ADI_IF_FREQ = 100e3 # 100 kHz IF -ADI_RF_FREQ = 9.9e9 # 9.9 GHz -ADI_CHIRP_BW = 500e6 # 500 MHz -ADI_RAMP_TIME = 300e-6 # 300 us -ADI_NUM_CHIRPS = 256 -ADI_SAMPLES_PER_CHIRP = 1079 - -# AERIS-10 parameters -AERIS_FS = 400e6 # 400 MHz ADC clock -AERIS_IF = 120e6 # 120 MHz IF - - -# =========================================================================== -# Helper: Convert hex to signed integer -# =========================================================================== -def hex_to_signed(val, bits): - """Convert unsigned hex value to signed integer.""" - if val >= (1 << (bits - 1)): - return val - (1 << bits) - return val - - -def signed_to_hex(val, bits): - """Convert signed integer to hex string (no prefix).""" - if val < 0: - val = val + (1 << bits) - return format(val & ((1 << bits) - 1), f'0{(bits + 3) // 4}X') - - -def saturate(val, bits): - """Saturate signed value to fit in 'bits' width.""" - max_pos = (1 << (bits - 1)) - 1 - max_neg = -(1 << (bits - 1)) - if val > max_pos: - return max_pos - if val < max_neg: - return max_neg - return int(val) - - -# =========================================================================== -# Stage 0: Load ADI data and requantize to 8-bit ADC -# =========================================================================== -def load_and_quantize_adi_data(data_path, config_path, frame_idx=0): - """ - Load ADI Phaser radar data and requantize to 8-bit unsigned ADC format. - - The ADI data is complex IQ at baseband. AERIS-10 has a real 8-bit ADC - with a 120 MHz IF. We need to: - 1. Take one frame of 256 chirps x 1079 samples - 2. Use only 32 chirps (matching AERIS-10 CHIRPS_PER_FRAME) - 3. Truncate to 1024 samples (matching FFT_SIZE) - 4. Upconvert to 120 MHz IF (add I*cos - Q*sin) to create real signal - 5. Quantize to 8-bit unsigned (matching AD9484) - """ - data = np.load(data_path, allow_pickle=True) - config = np.load(config_path, allow_pickle=True) - - - # Extract one frame - frame = data[frame_idx] # (256, 1079) complex - - # Use first 32 chirps, first 1024 samples - iq_block = frame[:DOPPLER_CHIRPS, :FFT_SIZE] # (32, 1024) complex - - # The ADI data is baseband complex IQ at 4 MSPS. - # AERIS-10 sees a real signal at 400 MSPS with 120 MHz IF. - # To create a realistic ADC stimulus, we upconvert to IF: - # x_real(n) = Re{IQ(n)} * cos(2*pi*f_IF*n/Fs) - Im{IQ(n)} * sin(2*pi*f_IF*n/Fs) - # - # However, the ADI data at 4 MSPS doesn't have the bandwidth to fill - # 400 MSPS. Instead, for DDC validation we create a simpler approach: - # feed the baseband IQ directly into the post-DDC stage, bypassing - # the NCO/mixer/CIC. This is actually MORE useful because: - # - DDC is already validated by existing cosim tests (tb_ddc_cosim.v) - # - What we REALLY want to test is FFT + Doppler + detection with real data - # - We can still validate DDC bit-accuracy separately - - # Scale IQ data to realistic DDC output level. - # The 1024-point FFT has no output /N scaling (forward mode), so the - # processing gain can be up to ~300x for coherent signals. To keep - # the 16-bit output from saturating on most bins (which destroys - # dynamic range and makes SNR comparison meaningless), we scale the - # input so the peak magnitude is ~200 — representative of a moderate - # radar return through the DDC chain (-40 dB below full-scale ADC). - # At this level, < 0.01% of FFT output bins saturate. - INPUT_PEAK_TARGET = 200 - max_abs = np.max(np.abs(iq_block)) - scale = INPUT_PEAK_TARGET / max_abs - - iq_scaled = iq_block * scale - iq_i = np.round(np.real(iq_scaled)).astype(np.int64) - iq_q = np.round(np.imag(iq_scaled)).astype(np.int64) - - # Clamp to 16-bit signed - iq_i = np.clip(iq_i, -32768, 32767) - iq_q = np.clip(iq_q, -32768, 32767) - - - # Also create 8-bit ADC stimulus for DDC validation - # Use just one chirp of real-valued data (I channel only, shifted to unsigned) - chirp0_real = np.real(frame[0, :FFT_SIZE]) - chirp0_norm = chirp0_real / np.max(np.abs(chirp0_real)) - adc_8bit = np.round(chirp0_norm * 127 + 128).astype(np.uint8) - adc_8bit = np.clip(adc_8bit, 0, 255) - - return iq_i, iq_q, adc_8bit, config - - -# =========================================================================== -# Stage 1: NCO Model (bit-accurate) -# =========================================================================== -def build_nco_lut(): - """Build the exact quarter-wave sine LUT from nco_400m_enhanced.v.""" - lut = np.zeros(64, dtype=np.int32) - # Values from nco_400m_enhanced.v sin_lut initialization - vals = [ - 0x0000, 0x0324, 0x0648, 0x096A, 0x0C8C, 0x0FAB, 0x12C8, 0x15E2, - 0x18F9, 0x1C0B, 0x1F1A, 0x2223, 0x2528, 0x2826, 0x2B1F, 0x2E11, - 0x30FB, 0x33DF, 0x36BA, 0x398C, 0x3C56, 0x3F17, 0x41CE, 0x447A, - 0x471C, 0x49B4, 0x4C3F, 0x4EBF, 0x5133, 0x539B, 0x55F5, 0x5842, - 0x5A82, 0x5CB3, 0x5ED7, 0x60EB, 0x62F1, 0x64E8, 0x66CF, 0x68A6, - 0x6A6D, 0x6C23, 0x6DC9, 0x6F5E, 0x70E2, 0x7254, 0x73B5, 0x7504, - 0x7641, 0x776B, 0x7884, 0x7989, 0x7A7C, 0x7B5C, 0x7C29, 0x7CE3, - 0x7D89, 0x7E1D, 0x7E9C, 0x7F09, 0x7F61, 0x7FA6, 0x7FD8, 0x7FF5, - ] - for i, v in enumerate(vals): - lut[i] = v - return lut - - -def nco_lookup(phase_accum, sin_lut): - """ - Replicate RTL NCO quarter-wave lookup with quadrant sign selection. - Input: 32-bit phase accumulator value - Output: (sin_out, cos_out) as signed 16-bit integers - """ - lut_address = (phase_accum >> 24) & 0xFF # top 8 bits - quadrant = (lut_address >> 6) & 0x3 - - # Mirror index for odd quadrants - lut_idx = ~lut_address & 63 if quadrant & 1 ^ quadrant >> 1 & 1 else lut_address & 63 - - sin_abs = int(sin_lut[lut_idx]) - cos_abs = int(sin_lut[63 - lut_idx]) - - # Quadrant sign application - if quadrant == 0: # Q I: sin+, cos+ - sin_out = sin_abs - cos_out = cos_abs - elif quadrant == 1: # Q II: sin+, cos- - sin_out = sin_abs - cos_out = -cos_abs - elif quadrant == 2: # Q III: sin-, cos- - sin_out = -sin_abs - cos_out = -cos_abs - else: # Q IV: sin-, cos+ - sin_out = -sin_abs - cos_out = cos_abs - - # Clamp to signed 16-bit - sin_out = saturate(sin_out, 16) - cos_out = saturate(cos_out, 16) - - return sin_out, cos_out - - -# =========================================================================== -# Stage 1: DDC Model (NCO + Mixer + CIC + FIR + Interface) -# =========================================================================== -def run_ddc(adc_samples): - """ - Bit-accurate DDC model. Takes 8-bit unsigned ADC samples at 400 MHz, - returns 16-bit signed I/Q baseband at 100 MHz. - - Pipeline: - 1. ADC sign conversion: 8-bit unsigned → 18-bit signed - 2. NCO: 32-bit phase accumulator → 16-bit sin/cos via quarter-wave LUT - 3. Mixer: 18-bit * 16-bit = 34-bit, truncate [33:16] → 18-bit CIC input - 4. CIC: 5-stage, decimate-by-4, normalize >>>10, saturate to 18-bit - 5. FIR: 32-tap, 18-bit in/out, 36-bit accumulator - 6. Interface: 18-bit → 16-bit with convergent rounding + saturation - """ - n_samples = len(adc_samples) - sin_lut = build_nco_lut() - - # Build FIR coefficients as signed integers - fir_coeffs = np.array([hex_to_signed(c, 18) for c in FIR_COEFFS_HEX], dtype=np.int64) - - - # --- NCO + Mixer --- - phase_accum = np.int64(0) - mixed_i = np.zeros(n_samples, dtype=np.int64) - mixed_q = np.zeros(n_samples, dtype=np.int64) - - for n in range(n_samples): - # ADC sign conversion: RTL does offset binary → signed 18-bit - # adc_signed_w = {1'b0, adc_data, 9'b0} - {1'b0, 8'hFF, 9'b0}/2 - # Exact: (adc_val << 9) - 0xFF00, where 0xFF00 = {1'b0,8'hFF,9'b0}/2 - adc_val = int(adc_samples[n]) - adc_signed = (adc_val << 9) - 0xFF00 # Exact RTL: {1'b0,adc,9'b0} - {1'b0,8'hFF,9'b0}/2 - adc_signed = saturate(adc_signed, 18) - - # NCO lookup (ignoring dithering for golden reference) - sin_out, cos_out = nco_lookup(int(phase_accum), sin_lut) - - # Mixer: 18-bit x 16-bit = 34-bit product - prod_i = adc_signed * cos_out # I = ADC * cos - prod_q = adc_signed * sin_out # Q = ADC * sin - - # Truncate to 18-bit: [33:16] of 34-bit product - mixed_i[n] = (prod_i >> 16) & 0x3FFFF - if mixed_i[n] >= (1 << 17): - mixed_i[n] -= (1 << 18) - mixed_q[n] = (prod_q >> 16) & 0x3FFFF - if mixed_q[n] >= (1 << 17): - mixed_q[n] -= (1 << 18) - - # Phase accumulator update (ignore dithering for bit-accuracy) - phase_accum = (phase_accum + NCO_PHASE_INC) & 0xFFFFFFFF - - - # --- CIC Decimator (5-stage, decimate-by-4) --- - # Integrator section (at 400 MHz rate) - integrators = np.zeros((CIC_STAGES, n_samples + 1), dtype=np.int64) - for n in range(n_samples): - integrators[0][n + 1] = (integrators[0][n] + mixed_i[n]) & ((1 << CIC_ACC_WIDTH) - 1) - for s in range(1, CIC_STAGES): - integrators[s][n + 1] = ( - integrators[s][n] + integrators[s - 1][n + 1] - ) & ((1 << CIC_ACC_WIDTH) - 1) - - # Downsample by 4 - n_decimated = n_samples // CIC_DECIMATION - decimated = np.zeros(n_decimated, dtype=np.int64) - for k in range(n_decimated): - val = integrators[CIC_STAGES - 1][(k + 1) * CIC_DECIMATION] - # Convert from unsigned modular to signed - if val >= (1 << (CIC_ACC_WIDTH - 1)): - val -= (1 << CIC_ACC_WIDTH) - # Truncate to comb width - decimated[k] = val & ((1 << CIC_COMB_WIDTH) - 1) - if decimated[k] >= (1 << (CIC_COMB_WIDTH - 1)): - decimated[k] -= (1 << CIC_COMB_WIDTH) - - # Comb section (at 100 MHz rate) - comb = np.zeros((CIC_STAGES, n_decimated), dtype=np.int64) - comb_delay = np.zeros(CIC_STAGES, dtype=np.int64) - - for k in range(n_decimated): - # Stage 0 - comb[0][k] = decimated[k] - comb_delay[0] - comb_delay[0] = decimated[k] - # Stages 1-4 - for s in range(1, CIC_STAGES): - comb[s][k] = comb[s - 1][k] - comb_delay[s] - comb_delay[s] = comb[s - 1][k] - - # Gain normalization: >>> 10 - cic_output = np.zeros(n_decimated, dtype=np.int64) - for k in range(n_decimated): - scaled = comb[CIC_STAGES - 1][k] >> CIC_GAIN_SHIFT - cic_output[k] = saturate(scaled, CIC_OUT_BITS) - - - # --- FIR Filter (32-tap) --- - delay_line = np.zeros(FIR_TAPS, dtype=np.int64) - fir_output = np.zeros(n_decimated, dtype=np.int64) - - for k in range(n_decimated): - # Shift delay line - delay_line[1:] = delay_line[:-1] - delay_line[0] = cic_output[k] - - # Compute FIR output - accum = np.int64(0) - for t in range(FIR_TAPS): - prod = delay_line[t] * fir_coeffs[t] - accum += prod - - # Output rounding: accumulator_reg[ACCUM_WIDTH-2:DATA_WIDTH-1] = [34:17] - fir_output[k] = saturate((accum >> 17) & 0x3FFFF, 18) - if fir_output[k] >= (1 << 17): - fir_output[k] -= (1 << 18) - - - # --- DDC Interface (18 → 16 bit) --- - ddc_output = np.zeros(n_decimated, dtype=np.int64) - for k in range(n_decimated): - val = fir_output[k] - trunc = (val >> 2) & 0xFFFF # [17:2] - if trunc >= (1 << 15): - trunc -= (1 << 16) - round_bit = (val >> 1) & 1 - - # Saturation check - if trunc == 32767 and round_bit: - ddc_output[k] = 32767 # Saturate - else: - ddc_output[k] = saturate(trunc + round_bit, 16) - - - return ddc_output - - -# =========================================================================== -# Stage 2: Range FFT (1024-point, bit-accurate) -# =========================================================================== -def load_twiddle_rom(twiddle_file): - """Load the quarter-wave cosine ROM from .mem file.""" - rom = [] - with open(twiddle_file) as f: - for line in f: - line = line.strip() - if not line or line.startswith('//'): - continue - val = int(line, 16) - if val >= (1 << 15): - val -= (1 << 16) - rom.append(val) - return np.array(rom, dtype=np.int64) - - -def fft_twiddle_lookup(k, N, cos_rom): - """Replicate RTL quarter-wave twiddle lookup.""" - N_QTR = N // 4 - N_HALF = N // 2 - - k = k % N_HALF - - if k == 0: - tw_cos = int(cos_rom[0]) - tw_sin = 0 - elif k == N_QTR: - tw_cos = 0 - tw_sin = int(cos_rom[0]) - elif k < N_QTR: - tw_cos = int(cos_rom[k]) - tw_sin = int(cos_rom[N_QTR - k]) - else: - rom_idx = k - N_QTR - tw_sin = int(cos_rom[rom_idx]) - rom_idx2 = N_HALF - k - tw_cos = -int(cos_rom[rom_idx2]) - - return tw_cos, tw_sin - - -def run_range_fft(iq_i, iq_q, twiddle_file=None): - """ - Bit-accurate 1024-point radix-2 DIT FFT matching fft_engine.v. - - Input: 16-bit signed I/Q arrays (1024 samples) - Output: 16-bit signed I/Q arrays (1024 bins, saturated from 32-bit internal) - - Matches RTL: - - Bit-reversed input loading → sign-extended to 32-bit internal - - 10 stages of radix-2 butterflies - - Twiddle multiply: 32-bit * 16-bit = 48-bit, shift >>> 15 - - Add/subtract in 32-bit - - Output: saturate 32-bit → 16-bit - """ - N = FFT_SIZE - LOG2N = int(np.log2(N)) - assert N == 1024 and LOG2N == 10 - - # Load twiddle ROM - if twiddle_file and os.path.exists(twiddle_file): - cos_rom = load_twiddle_rom(twiddle_file) - else: - # Generate twiddle factors if file not available - cos_rom = np.round(32767 * np.cos(2 * np.pi * np.arange(N // 4) / N)).astype(np.int64) - - - # Bit-reverse and sign-extend to 32-bit internal width - def bit_reverse(val, bits): - result = 0 - for b in range(bits): - if val & (1 << b): - result |= (1 << (bits - 1 - b)) - return result - - mem_re = np.zeros(N, dtype=np.int64) - mem_im = np.zeros(N, dtype=np.int64) - - for n in range(N): - br = bit_reverse(n, LOG2N) - # Sign-extend 16-bit to 32-bit - mem_re[br] = int(iq_i[n]) - mem_im[br] = int(iq_q[n]) - - # Butterfly computation: LOG2N stages - half = 1 - for stg in range(LOG2N): - for bfly in range(N // 2): - idx = bfly & (half - 1) - grp = bfly - idx - addr_even = (grp << 1) | idx - addr_odd = addr_even + half - - # Twiddle index via barrel shift - tw_idx = (idx << (LOG2N - 1 - stg)) % (N // 2) - tw_cos, tw_sin = fft_twiddle_lookup(tw_idx, N, cos_rom) - - # Read - a_re = mem_re[addr_even] - a_im = mem_im[addr_even] - b_re = mem_re[addr_odd] - b_im = mem_im[addr_odd] - - prod_re = b_re * tw_cos + b_im * tw_sin - prod_im = b_im * tw_cos - b_re * tw_sin - - # Arithmetic right shift by (TWIDDLE_W - 1) = 15 - prod_re_shifted = prod_re >> 15 - prod_im_shifted = prod_im >> 15 - - # Butterfly add/subtract - mem_re[addr_even] = a_re + prod_re_shifted - mem_im[addr_even] = a_im + prod_im_shifted - mem_re[addr_odd] = a_re - prod_re_shifted - mem_im[addr_odd] = a_im - prod_im_shifted - - half <<= 1 - - # Output: saturate 32-bit to 16-bit - out_re = np.zeros(N, dtype=np.int64) - out_im = np.zeros(N, dtype=np.int64) - for n in range(N): - out_re[n] = saturate(mem_re[n], FFT_DATA_W) - out_im[n] = saturate(mem_im[n], FFT_DATA_W) - - - return out_re, out_im - - -# =========================================================================== -# Stage 2b: Range Bin Decimator (1024 → 64, bit-accurate) -# =========================================================================== -def run_range_bin_decimator(range_fft_i, range_fft_q, - mode=1, start_bin=0, - input_bins=1024, output_bins=64, - decimation_factor=16): - """ - Bit-accurate model of range_bin_decimator.v (peak detection mode). - - Input: range_fft_i/q — shape (N_chirps, 1024), 16-bit signed - Output: decimated_i/q — shape (N_chirps, 64), 16-bit signed - - Modes: - 0 = simple decimation (take center sample of each group) - 1 = peak detection (select max |I|+|Q| from each group of 16) - 2 = averaging (sum group >> 4) - - RTL detail: abs_i = I[15] ? (~I + 1) : I (unsigned 16-bit) - cur_mag = {1'b0, abs_i} + {1'b0, abs_q} (17-bit) - For I = -32768 (0x8000): ~0x8000 + 1 = 0x8000 = 32768 unsigned → correct. - """ - n_chirps = range_fft_i.shape[0] - n_in = range_fft_i.shape[1] - assert n_in == input_bins, f"Expected {input_bins} input bins, got {n_in}" - assert mode in (0, 1, 2), f"Invalid mode {mode}" - - decimated_i = np.zeros((n_chirps, output_bins), dtype=np.int64) - decimated_q = np.zeros((n_chirps, output_bins), dtype=np.int64) - - - for c in range(n_chirps): - # Index into input, skip start_bin - in_idx = start_bin - - for obin in range(output_bins): - if mode == 1: - # Peak detection: find max |I|+|Q| within group of decimation_factor - best_i = 0 - best_q = 0 - best_mag = -1 - - for s in range(decimation_factor): - if in_idx >= input_bins: - break - si = int(range_fft_i[c, in_idx]) - sq = int(range_fft_q[c, in_idx]) - - # RTL absolute value on unsigned 16-bit wire: - # For signed input, interpret as 16-bit two's complement - # abs_i = I[15] ? (~I[15:0] + 1) : I[15:0] - # This naturally handles -32768 → 32768 (unsigned) - ai = (-si) & 0xFFFF if si < 0 else si & 0xFFFF - aq = (-sq) & 0xFFFF if sq < 0 else sq & 0xFFFF - mag = ai + aq # 17-bit unsigned - - if s == 0 or mag > best_mag: - best_i = si - best_q = sq - best_mag = mag - - in_idx += 1 - - decimated_i[c, obin] = best_i - decimated_q[c, obin] = best_q - - elif mode == 0: - # Simple decimation: take center sample (offset = decimation_factor/2) - center = in_idx + decimation_factor // 2 - if center < input_bins: - decimated_i[c, obin] = int(range_fft_i[c, center]) - decimated_q[c, obin] = int(range_fft_q[c, center]) - in_idx += decimation_factor - - elif mode == 2: - # Averaging: sum group, then >> 4 (divide by 16) - sum_i = np.int64(0) - sum_q = np.int64(0) - for _ in range(decimation_factor): - if in_idx >= input_bins: - break - sum_i += int(range_fft_i[c, in_idx]) - sum_q += int(range_fft_q[c, in_idx]) - in_idx += 1 - # RTL: sum_i[19:4], truncation (not rounding) - decimated_i[c, obin] = int(sum_i) >> 4 - decimated_q[c, obin] = int(sum_q) >> 4 - - - return decimated_i, decimated_q - - -# =========================================================================== -# Stage 3: Doppler FFT (dual 16-point with Hamming window, bit-accurate) -# =========================================================================== -def run_doppler_fft(range_data_i, range_data_q, twiddle_file_16=None): - """ - Bit-accurate Doppler processor matching doppler_processor.v (dual 16-pt FFT). - - Input: range_data_i/q shape (DOPPLER_CHIRPS, FFT_SIZE) — 16-bit signed - Only first DOPPLER_RANGE_BINS columns are processed. - Output: doppler_map_i/q shape (DOPPLER_RANGE_BINS, DOPPLER_TOTAL_BINS) — 16-bit signed - - Architecture per range bin: - Sub-frame 0 (long PRI): chirps 0..15 → 16-pt Hamming → 16-pt FFT → bins 0-15 - Sub-frame 1 (short PRI): chirps 16..31 → 16-pt Hamming → 16-pt FFT → bins 16-31 - """ - n_chirps = DOPPLER_CHIRPS - n_range = DOPPLER_RANGE_BINS - n_fft = DOPPLER_FFT_SIZE - n_total = DOPPLER_TOTAL_BINS - n_sf = CHIRPS_PER_SUBFRAME - - - # Build 16-point Hamming window as signed 16-bit - hamming = np.array([int(v) for v in HAMMING_Q15], dtype=np.int64) - assert len(hamming) == n_fft, f"Hamming length {len(hamming)} != {n_fft}" - - # Build 16-point twiddle factors - if twiddle_file_16 and os.path.exists(twiddle_file_16): - cos_rom_16 = load_twiddle_rom(twiddle_file_16) - else: - cos_rom_16 = np.round( - 32767 * np.cos(2 * np.pi * np.arange(n_fft // 4) / n_fft) - ).astype(np.int64) - - LOG2N_16 = 4 - doppler_map_i = np.zeros((n_range, n_total), dtype=np.int64) - doppler_map_q = np.zeros((n_range, n_total), dtype=np.int64) - - for rbin in range(n_range): - chirp_i = np.zeros(n_chirps, dtype=np.int64) - chirp_q = np.zeros(n_chirps, dtype=np.int64) - for c in range(n_chirps): - chirp_i[c] = int(range_data_i[c, rbin]) - chirp_q[c] = int(range_data_q[c, rbin]) - - # Process each sub-frame independently - for sf in range(2): - chirp_start = sf * n_sf - bin_offset = sf * n_fft - - windowed_i = np.zeros(n_fft, dtype=np.int64) - windowed_q = np.zeros(n_fft, dtype=np.int64) - for k in range(n_fft): - ci = chirp_i[chirp_start + k] - cq = chirp_q[chirp_start + k] - mult_i = ci * hamming[k] - mult_q = cq * hamming[k] - windowed_i[k] = saturate((mult_i + (1 << 14)) >> 15, 16) - windowed_q[k] = saturate((mult_q + (1 << 14)) >> 15, 16) - - mem_re = np.zeros(n_fft, dtype=np.int64) - mem_im = np.zeros(n_fft, dtype=np.int64) - - for n in range(n_fft): - br = 0 - for b in range(LOG2N_16): - if n & (1 << b): - br |= (1 << (LOG2N_16 - 1 - b)) - mem_re[br] = windowed_i[n] - mem_im[br] = windowed_q[n] - - half = 1 - for stg in range(LOG2N_16): - for bfly in range(n_fft // 2): - idx = bfly & (half - 1) - grp = bfly - idx - addr_even = (grp << 1) | idx - addr_odd = addr_even + half - - tw_idx = (idx << (LOG2N_16 - 1 - stg)) % (n_fft // 2) - tw_cos, tw_sin = fft_twiddle_lookup(tw_idx, n_fft, cos_rom_16) - - a_re = mem_re[addr_even] - a_im = mem_im[addr_even] - b_re = mem_re[addr_odd] - b_im = mem_im[addr_odd] - - prod_re = b_re * tw_cos + b_im * tw_sin - prod_im = b_im * tw_cos - b_re * tw_sin - - prod_re_shifted = prod_re >> 15 - prod_im_shifted = prod_im >> 15 - - mem_re[addr_even] = a_re + prod_re_shifted - mem_im[addr_even] = a_im + prod_im_shifted - mem_re[addr_odd] = a_re - prod_re_shifted - mem_im[addr_odd] = a_im - prod_im_shifted - - half <<= 1 - - for n in range(n_fft): - doppler_map_i[rbin, bin_offset + n] = saturate(mem_re[n], 16) - doppler_map_q[rbin, bin_offset + n] = saturate(mem_im[n], 16) - - - return doppler_map_i, doppler_map_q - - -# =========================================================================== -# Stage 3c: MTI Canceller (2-pulse, bit-accurate) -# =========================================================================== -def run_mti_canceller(decim_i, decim_q, enable=True): - """ - Bit-accurate model of mti_canceller.v — 2-pulse canceller. - - Input: decim_i/q — shape (N_chirps, NUM_RANGE_BINS), 16-bit signed - Output: mti_i/q — shape (N_chirps, NUM_RANGE_BINS), 16-bit signed - - When enable=True: - - First chirp (chirp 0): output is all zeros (muted, no previous data) - - Subsequent chirps: out[c][r] = current[c][r] - previous[c-1][r], - with saturation to 16-bit. - When enable=False: - - Pass-through (output = input). - - RTL detail (from mti_canceller.v): - diff_full = {I_in[15], I_in} - {prev[15], prev} (17-bit signed) - saturate to 16-bit: clamp to [-32768, +32767] - """ - n_chirps, n_bins = decim_i.shape - mti_i = np.zeros_like(decim_i) - mti_q = np.zeros_like(decim_q) - - - if not enable: - mti_i[:] = decim_i - mti_q[:] = decim_q - return mti_i, mti_q - - for c in range(n_chirps): - if c == 0: - # First chirp: output muted (zeros) — no previous data - mti_i[c, :] = 0 - mti_q[c, :] = 0 - else: - for r in range(n_bins): - # Sign-extend to 17-bit, subtract, saturate back to 16-bit - diff_i = int(decim_i[c, r]) - int(decim_i[c - 1, r]) - diff_q = int(decim_q[c, r]) - int(decim_q[c - 1, r]) - mti_i[c, r] = saturate(diff_i, 16) - mti_q[c, r] = saturate(diff_q, 16) - - return mti_i, mti_q - - -# =========================================================================== -# Stage 3d: DC Notch Filter (post-Doppler, bit-accurate) -# =========================================================================== -def run_dc_notch(doppler_i, doppler_q, width=2): - """ - Bit-accurate model of the inline DC notch filter in radar_system_top.v. - - Input: doppler_i/q — shape (NUM_RANGE_BINS, NUM_DOPPLER_BINS), 16-bit signed - Output: notched_i/q — shape (NUM_RANGE_BINS, NUM_DOPPLER_BINS), 16-bit signed - - Zeros Doppler bins within ±width of DC for BOTH sub-frames. - doppler_bin[4:0] = {sub_frame, bin[3:0]}: - Sub-frame 0: bins 0-15, DC = bin 0, wrap = bin 15 - Sub-frame 1: bins 16-31, DC = bin 16, wrap = bin 31 - width=0: pass-through - width=1: zero bins {0, 16} - width=2: zero bins {0, 1, 15, 16, 17, 31} etc. - - RTL logic (from radar_system_top.v): - bin_within_sf = dop_bin[3:0] - dc_notch_active = (width != 0) && - (bin_within_sf < width || bin_within_sf > (15 - width + 1)) - """ - _n_range, n_doppler = doppler_i.shape - notched_i = doppler_i.copy() - notched_q = doppler_q.copy() - - - if width == 0: - return notched_i, notched_q - - zeroed_count = 0 - for dbin in range(n_doppler): - bin_within_sf = dbin & 0xF - active = (bin_within_sf < width) or (bin_within_sf > (15 - width + 1)) - if active: - notched_i[:, dbin] = 0 - notched_q[:, dbin] = 0 - zeroed_count += 1 - - return notched_i, notched_q - - -# =========================================================================== -# Stage 3e: CA-CFAR Detector (bit-accurate) -# =========================================================================== -def run_cfar_ca(doppler_i, doppler_q, guard=2, train=8, - alpha_q44=0x30, mode='CA', _simple_threshold=500): - """ - Bit-accurate model of cfar_ca.v — Cell-Averaging CFAR detector. - - Input: doppler_i/q — shape (NUM_RANGE_BINS, NUM_DOPPLER_BINS), 16-bit signed - Output: detect_flags — shape (NUM_RANGE_BINS, NUM_DOPPLER_BINS), bool - magnitudes — shape (NUM_RANGE_BINS, NUM_DOPPLER_BINS), uint17 - thresholds — shape (NUM_RANGE_BINS, NUM_DOPPLER_BINS), uint17 - - CFAR algorithm per Doppler column: - 1. Compute magnitude |I| + |Q| for all range bins in that column - 2. For each CUT (Cell Under Test) at range index k: - a. Leading training cells: indices [k-G-T .. k-G-1] (clamped to valid) - b. Lagging training cells: indices [k+G+1 .. k+G+T] (clamped to valid) - c. noise_sum = sum of training cells (CA mode: both sides) - d. threshold = (alpha * noise_sum) >> 4 (Q4.4 shift) - e. detect if magnitude[k] > threshold - - RTL details (from cfar_ca.v): - - Magnitude: |I| + |Q| (L1 norm, 17-bit unsigned) - - Alpha in Q4.4 fixed-point (8-bit unsigned) - - ALPHA_FRAC_BITS = 4 - - Threshold saturates to 17 bits - - Edge handling: uses only available training cells at boundaries - - Pipeline: ST_CFAR_THR → ST_CFAR_MUL → ST_CFAR_CMP - - Modes: - CA: noise_sum = leading_sum + lagging_sum - GO: noise_sum = side with greater average (cross-multiply comparison) - SO: noise_sum = side with smaller average - """ - n_range, n_doppler = doppler_i.shape - ALPHA_FRAC_BITS = 4 - - # Ensure train >= 1 (RTL clamps 0 → 1) - if train == 0: - train = 1 - - - # Compute magnitudes: |I| + |Q| (17-bit unsigned, matching RTL L1 norm) - # RTL: abs_i = I[15] ? (~I + 1) : I; abs_q = Q[15] ? (~Q + 1) : Q - # For I = -32768: ~(-32768 as 16-bit) + 1 = 32768 (unsigned) - magnitudes = np.zeros((n_range, n_doppler), dtype=np.int64) - for rbin in range(n_range): - for dbin in range(n_doppler): - i_val = int(doppler_i[rbin, dbin]) - q_val = int(doppler_q[rbin, dbin]) - abs_i = (-i_val) & 0xFFFF if i_val < 0 else i_val & 0xFFFF - abs_q = (-q_val) & 0xFFFF if q_val < 0 else q_val & 0xFFFF - magnitudes[rbin, dbin] = abs_i + abs_q # 17-bit unsigned - - detect_flags = np.zeros((n_range, n_doppler), dtype=np.bool_) - thresholds = np.zeros((n_range, n_doppler), dtype=np.int64) - - total_detections = 0 - - # Process each Doppler column independently (matching RTL column-by-column) - for dbin in range(n_doppler): - col = magnitudes[:, dbin] # 64 magnitudes for this Doppler bin - - for cut_idx in range(n_range): - # Compute leading sum (cells before CUT, outside guard zone) - leading_sum = 0 - leading_count = 0 - for t in range(1, train + 1): - idx = cut_idx - guard - t - if 0 <= idx < n_range: - leading_sum += int(col[idx]) - leading_count += 1 - - # Compute lagging sum (cells after CUT, outside guard zone) - lagging_sum = 0 - lagging_count = 0 - for t in range(1, train + 1): - idx = cut_idx + guard + t - if 0 <= idx < n_range: - lagging_sum += int(col[idx]) - lagging_count += 1 - - # Mode-dependent noise estimate - if mode == 'CA' or mode == 'CA-CFAR': - noise_sum = leading_sum + lagging_sum - elif mode == 'GO' or mode == 'GO-CFAR': - if leading_count > 0 and lagging_count > 0: - if leading_sum * lagging_count > lagging_sum * leading_count: - noise_sum = leading_sum - else: - noise_sum = lagging_sum - elif leading_count > 0: - noise_sum = leading_sum - else: - noise_sum = lagging_sum - elif mode == 'SO' or mode == 'SO-CFAR': - if leading_count > 0 and lagging_count > 0: - if leading_sum * lagging_count < lagging_sum * leading_count: - noise_sum = leading_sum - else: - noise_sum = lagging_sum - elif leading_count > 0: - noise_sum = leading_sum - else: - noise_sum = lagging_sum - else: - noise_sum = leading_sum + lagging_sum # Default to CA - - noise_product = alpha_q44 * noise_sum - threshold_raw = noise_product >> ALPHA_FRAC_BITS - - # Saturate to MAG_WIDTH=17 bits - MAX_MAG = (1 << 17) - 1 # 131071 - threshold_val = MAX_MAG if threshold_raw > MAX_MAG else int(threshold_raw) - - if int(col[cut_idx]) > threshold_val: - detect_flags[cut_idx, dbin] = True - total_detections += 1 - - thresholds[cut_idx, dbin] = threshold_val - - - return detect_flags, magnitudes, thresholds - - -# =========================================================================== -# Stage 4: Detection (magnitude threshold) -# =========================================================================== -def run_detection(doppler_i, doppler_q, threshold=10000): - """ - Replicate RTL threshold detection from radar_system_top.v. - cfar_mag = |I| + |Q| (17-bit) - detection if cfar_mag > threshold - """ - - mag = np.abs(doppler_i) + np.abs(doppler_q) # L1 norm (|I| + |Q|) - detections = np.argwhere(mag > threshold) - - for d in detections[:20]: # Print first 20 - rbin, dbin = d - mag[rbin, dbin] - - if len(detections) > 20: - pass - - return mag, detections - - -# =========================================================================== -# Stage 5: Float reference for comparison -# =========================================================================== -def run_float_reference(iq_i, iq_q): - """ - Run the same processing in floating point for comparison. - Uses the exact same RTL Hamming window coefficients (Q15) to isolate - only the FFT fixed-point quantization error. - """ - - n_chirps, n_samples = iq_i.shape[0], iq_i.shape[1] if iq_i.ndim == 2 else len(iq_i) - - if iq_i.ndim == 1: - # Single chirp — just do range FFT - fft_out = np.fft.fft(iq_i.astype(np.float64) + 1j * iq_q.astype(np.float64)) - return np.real(fft_out), np.imag(fft_out) - - # Multi-chirp: range FFT per chirp, then Doppler FFT - range_fft = np.zeros((n_chirps, n_samples), dtype=np.complex128) - for c in range(n_chirps): - range_fft[c, :] = np.fft.fft(iq_i[c, :] + 1j * iq_q[c, :]) - - # Doppler FFT with RTL-identical Hamming window (Q15 coefficients as float) - n_range = min(DOPPLER_RANGE_BINS, n_samples) - hamming_float = np.array(HAMMING_Q15, dtype=np.float64) / 32768.0 - - doppler_map = np.zeros((n_range, DOPPLER_TOTAL_BINS), dtype=np.complex128) - for rbin in range(n_range): - chirp_stack = range_fft[:DOPPLER_CHIRPS, rbin] - for sf in range(2): - sf_start = sf * CHIRPS_PER_SUBFRAME - sf_end = sf_start + CHIRPS_PER_SUBFRAME - bin_offset = sf * DOPPLER_FFT_SIZE - windowed = chirp_stack[sf_start:sf_end] * hamming_float - doppler_map[rbin, bin_offset:bin_offset + DOPPLER_FFT_SIZE] = np.fft.fft(windowed) - - return range_fft, doppler_map - - -# =========================================================================== -# Write hex stimulus files for RTL testbenches -# =========================================================================== -def write_hex_files(output_dir, iq_i, iq_q, prefix="stim"): - """Write I/Q data as hex files for $readmemh in Verilog testbenches.""" - os.makedirs(output_dir, exist_ok=True) - - if iq_i.ndim == 1: - n_samples = len(iq_i) - fn_i = os.path.join(output_dir, f"{prefix}_i.hex") - fn_q = os.path.join(output_dir, f"{prefix}_q.hex") - - with open(fn_i, 'w') as fi, open(fn_q, 'w') as fq: - for n in range(n_samples): - fi.write(signed_to_hex(int(iq_i[n]), 16) + '\n') - fq.write(signed_to_hex(int(iq_q[n]), 16) + '\n') - - - elif iq_i.ndim == 2: - n_rows, n_cols = iq_i.shape - # Write as flat file (row-major) - fn_i = os.path.join(output_dir, f"{prefix}_i.hex") - fn_q = os.path.join(output_dir, f"{prefix}_q.hex") - - with open(fn_i, 'w') as fi, open(fn_q, 'w') as fq: - for r in range(n_rows): - for c in range(n_cols): - fi.write(signed_to_hex(int(iq_i[r, c]), 16) + '\n') - fq.write(signed_to_hex(int(iq_q[r, c]), 16) + '\n') - - - -def write_adc_hex(output_dir, adc_data, prefix="adc_stim"): - """Write 8-bit unsigned ADC data as hex file.""" - os.makedirs(output_dir, exist_ok=True) - fn = os.path.join(output_dir, f"{prefix}.hex") - - with open(fn, 'w') as f: - for n in range(len(adc_data)): - f.write(format(int(adc_data[n]) & 0xFF, '02X') + '\n') - - - -# =========================================================================== -# Comparison metrics -# =========================================================================== -def compare_outputs(_name, fixed_i, fixed_q, float_i, float_q): - """Compare fixed-point outputs against floating-point reference. - - Reports two metrics: - 1. Overall SNR (including saturated bins) - 2. Non-saturated SNR (excluding bins where |value| == 32767/32768) - """ - # Ensure same length - n = min(len(fixed_i), len(float_i)) - fi = fixed_i[:n].astype(np.float64) - fq = fixed_q[:n].astype(np.float64) - ri = float_i[:n].astype(np.float64) - rq = float_q[:n].astype(np.float64) - - # Count saturated bins - sat_mask = (np.abs(fi) >= 32767) | (np.abs(fq) >= 32767) - np.sum(sat_mask) - - # Complex error — overall - fixed_complex = fi + 1j * fq - ref_complex = ri + 1j * rq - error = fixed_complex - ref_complex - - signal_power = np.mean(np.abs(ref_complex) ** 2) + 1e-30 - noise_power = np.mean(np.abs(error) ** 2) + 1e-30 - 10 * np.log10(signal_power / noise_power) - np.max(np.abs(error)) - - # Non-saturated comparison - non_sat = ~sat_mask - if np.any(non_sat): - error_ns = fixed_complex[non_sat] - ref_complex[non_sat] - sig_ns = np.mean(np.abs(ref_complex[non_sat]) ** 2) + 1e-30 - noise_ns = np.mean(np.abs(error_ns) ** 2) + 1e-30 - snr_ns = 10 * np.log10(sig_ns / noise_ns) - np.max(np.abs(error_ns)) - else: - snr_ns = 0.0 - - - return snr_ns # Return the meaningful metric - - -# =========================================================================== -# Main -# =========================================================================== -def main(): - parser = argparse.ArgumentParser(description="AERIS-10 FPGA golden reference model") - parser.add_argument('--frame', type=int, default=0, help='Frame index to process') - parser.add_argument('--plot', action='store_true', help='Show plots') - parser.add_argument( - '--threshold', - type=int, - default=10000, - help='Detection threshold (L1 magnitude)' - ) - args = parser.parse_args() - - # Paths - script_dir = os.path.dirname(os.path.abspath(__file__)) - fpga_dir = os.path.abspath(os.path.join(script_dir, '..', '..', '..')) - data_base = os.path.expanduser("~/Downloads/adi_radar_data") - amp_data = os.path.join(data_base, "amp_radar", "phaser_amp_4MSPS_500M_300u_256_m3dB.npy") - amp_config = os.path.join( - data_base, - "amp_radar", - "phaser_amp_4MSPS_500M_300u_256_m3dB_config.npy" - ) - twiddle_1024 = os.path.join(fpga_dir, "fft_twiddle_1024.mem") - output_dir = os.path.join(script_dir, "hex") - - - # ----------------------------------------------------------------------- - # Load and quantize ADI data - # ----------------------------------------------------------------------- - iq_i, iq_q, adc_8bit, _config = load_and_quantize_adi_data( - amp_data, amp_config, frame_idx=args.frame - ) - - # iq_i, iq_q: (32, 1024) int64, 16-bit range — post-DDC equivalent - - # ----------------------------------------------------------------------- - # Write stimulus files - # ----------------------------------------------------------------------- - - # Post-DDC IQ for each chirp (for FFT + Doppler validation) - write_hex_files(output_dir, iq_i, iq_q, "post_ddc") - - # Single chirp for range FFT validation - write_hex_files(output_dir, iq_i[0], iq_q[0], "chirp0") - - # ADC stimulus for DDC validation - write_adc_hex(output_dir, adc_8bit, "adc_chirp0") - - # ----------------------------------------------------------------------- - # Run range FFT on first chirp (bit-accurate) - # ----------------------------------------------------------------------- - range_fft_i, range_fft_q = run_range_fft(iq_i[0], iq_q[0], twiddle_1024) - write_hex_files(output_dir, range_fft_i, range_fft_q, "range_fft_chirp0") - - # Run range FFT on all 32 chirps - all_range_i = np.zeros((DOPPLER_CHIRPS, FFT_SIZE), dtype=np.int64) - all_range_q = np.zeros((DOPPLER_CHIRPS, FFT_SIZE), dtype=np.int64) - - for c in range(DOPPLER_CHIRPS): - ri, rq = run_range_fft(iq_i[c], iq_q[c], twiddle_1024) - all_range_i[c] = ri - all_range_q[c] = rq - if (c + 1) % 8 == 0: - pass - - # ----------------------------------------------------------------------- - # Run Doppler FFT (bit-accurate) — "direct" path (first 64 bins) - # ----------------------------------------------------------------------- - twiddle_16 = os.path.join(fpga_dir, "fft_twiddle_16.mem") - doppler_i, doppler_q = run_doppler_fft(all_range_i, all_range_q, twiddle_file_16=twiddle_16) - write_hex_files(output_dir, doppler_i, doppler_q, "doppler_map") - - # ----------------------------------------------------------------------- - # Run Range Bin Decimator + Doppler FFT — "full-chain" path - # This models the actual RTL data flow: - # range FFT → range_bin_decimator (peak detection) → Doppler - # ----------------------------------------------------------------------- - - decim_i, decim_q = run_range_bin_decimator( - all_range_i, all_range_q, - mode=1, start_bin=0, - input_bins=FFT_SIZE, output_bins=DOPPLER_RANGE_BINS, - decimation_factor=FFT_SIZE // DOPPLER_RANGE_BINS - ) - - # Write full-chain range FFT input: all 32 chirps x 1024 bins = 32768 samples - # This is the stimulus for the range_bin_decimator in the full-chain testbench. - # Format: packed {Q[31:16], I[15:0]} per RTL range_data bus format - fc_input_file = os.path.join(output_dir, "fullchain_range_input.hex") - with open(fc_input_file, 'w') as f: - for c in range(DOPPLER_CHIRPS): - for b in range(FFT_SIZE): - i_val = int(all_range_i[c, b]) & 0xFFFF - q_val = int(all_range_q[c, b]) & 0xFFFF - packed = (q_val << 16) | i_val - f.write(f"{packed:08X}\n") - - # Write decimated output reference for standalone decimator test - write_hex_files(output_dir, decim_i, decim_q, "decimated_range") - - # Now run Doppler on the decimated data — this is the full-chain reference - fc_doppler_i, fc_doppler_q = run_doppler_fft( - decim_i, decim_q, twiddle_file_16=twiddle_16 - ) - write_hex_files(output_dir, fc_doppler_i, fc_doppler_q, "fullchain_doppler_ref") - - # Write full-chain Doppler reference as packed 32-bit for easy RTL comparison - fc_doppler_packed_file = os.path.join(output_dir, "fullchain_doppler_ref_packed.hex") - with open(fc_doppler_packed_file, 'w') as f: - for rbin in range(DOPPLER_RANGE_BINS): - for dbin in range(DOPPLER_TOTAL_BINS): - i_val = int(fc_doppler_i[rbin, dbin]) & 0xFFFF - q_val = int(fc_doppler_q[rbin, dbin]) & 0xFFFF - packed = (q_val << 16) | i_val - f.write(f"{packed:08X}\n") - - # Save numpy arrays for the full-chain path - np.save(os.path.join(output_dir, "decimated_range_i.npy"), decim_i) - np.save(os.path.join(output_dir, "decimated_range_q.npy"), decim_q) - np.save(os.path.join(output_dir, "fullchain_doppler_i.npy"), fc_doppler_i) - np.save(os.path.join(output_dir, "fullchain_doppler_q.npy"), fc_doppler_q) - - # ----------------------------------------------------------------------- - # Full-chain with MTI + DC Notch + CFAR - # This models the complete RTL data flow: - # range FFT → decimator → MTI canceller → Doppler → DC notch → CFAR - # ----------------------------------------------------------------------- - mti_i, mti_q = run_mti_canceller(decim_i, decim_q, enable=True) - write_hex_files(output_dir, mti_i, mti_q, "fullchain_mti_ref") - np.save(os.path.join(output_dir, "fullchain_mti_i.npy"), mti_i) - np.save(os.path.join(output_dir, "fullchain_mti_q.npy"), mti_q) - - # Doppler on MTI-filtered data - mti_doppler_i, mti_doppler_q = run_doppler_fft( - mti_i, mti_q, twiddle_file_16=twiddle_16 - ) - write_hex_files(output_dir, mti_doppler_i, mti_doppler_q, "fullchain_mti_doppler_ref") - np.save(os.path.join(output_dir, "fullchain_mti_doppler_i.npy"), mti_doppler_i) - np.save(os.path.join(output_dir, "fullchain_mti_doppler_q.npy"), mti_doppler_q) - - # DC notch on MTI-Doppler data - DC_NOTCH_WIDTH = 2 # Default test value: zero bins {0, 1, 31} - notched_i, notched_q = run_dc_notch(mti_doppler_i, mti_doppler_q, width=DC_NOTCH_WIDTH) - write_hex_files(output_dir, notched_i, notched_q, "fullchain_notched_ref") - - # Write notched Doppler as packed 32-bit for RTL comparison - fc_notched_packed_file = os.path.join(output_dir, "fullchain_notched_ref_packed.hex") - with open(fc_notched_packed_file, 'w') as f: - for rbin in range(DOPPLER_RANGE_BINS): - for dbin in range(DOPPLER_TOTAL_BINS): - i_val = int(notched_i[rbin, dbin]) & 0xFFFF - q_val = int(notched_q[rbin, dbin]) & 0xFFFF - packed = (q_val << 16) | i_val - f.write(f"{packed:08X}\n") - - # CFAR on DC-notched data - CFAR_GUARD = 2 - CFAR_TRAIN = 8 - CFAR_ALPHA = 0x30 # Q4.4 = 3.0 - CFAR_MODE = 'CA' - cfar_flags, cfar_mag, cfar_thr = run_cfar_ca( - notched_i, notched_q, - guard=CFAR_GUARD, train=CFAR_TRAIN, - alpha_q44=CFAR_ALPHA, mode=CFAR_MODE - ) - - # Write CFAR reference files - # 1. Magnitude map (17-bit unsigned, row-major: 64 range x 32 Doppler = 2048) - cfar_mag_file = os.path.join(output_dir, "fullchain_cfar_mag.hex") - with open(cfar_mag_file, 'w') as f: - for rbin in range(DOPPLER_RANGE_BINS): - for dbin in range(DOPPLER_TOTAL_BINS): - m = int(cfar_mag[rbin, dbin]) & 0x1FFFF - f.write(f"{m:05X}\n") - - # 2. Threshold map (17-bit unsigned) - cfar_thr_file = os.path.join(output_dir, "fullchain_cfar_thr.hex") - with open(cfar_thr_file, 'w') as f: - for rbin in range(DOPPLER_RANGE_BINS): - for dbin in range(DOPPLER_TOTAL_BINS): - t = int(cfar_thr[rbin, dbin]) & 0x1FFFF - f.write(f"{t:05X}\n") - - # 3. Detection flags (1-bit per cell) - cfar_det_file = os.path.join(output_dir, "fullchain_cfar_det.hex") - with open(cfar_det_file, 'w') as f: - for rbin in range(DOPPLER_RANGE_BINS): - for dbin in range(DOPPLER_TOTAL_BINS): - d = 1 if cfar_flags[rbin, dbin] else 0 - f.write(f"{d:01X}\n") - - # 4. Detection list (text) - cfar_detections = np.argwhere(cfar_flags) - cfar_det_list_file = os.path.join(output_dir, "fullchain_cfar_detections.txt") - with open(cfar_det_list_file, 'w') as f: - f.write("# AERIS-10 Full-Chain CFAR Detection List\n") - f.write(f"# Chain: decim -> MTI -> Doppler -> DC notch(w={DC_NOTCH_WIDTH}) -> CA-CFAR\n") - f.write( - f"# CFAR: guard={CFAR_GUARD}, train={CFAR_TRAIN}, " - f"alpha=0x{CFAR_ALPHA:02X}, mode={CFAR_MODE}\n" - ) - f.write("# Format: range_bin doppler_bin magnitude threshold\n") - for det in cfar_detections: - r, d = det - f.write(f"{r} {d} {cfar_mag[r, d]} {cfar_thr[r, d]}\n") - - # Save numpy arrays - np.save(os.path.join(output_dir, "fullchain_cfar_mag.npy"), cfar_mag) - np.save(os.path.join(output_dir, "fullchain_cfar_thr.npy"), cfar_thr) - np.save(os.path.join(output_dir, "fullchain_cfar_flags.npy"), cfar_flags) - - # Run detection on full-chain Doppler map - fc_mag, fc_detections = run_detection(fc_doppler_i, fc_doppler_q, threshold=args.threshold) - - # Save full-chain detection reference - fc_det_file = os.path.join(output_dir, "fullchain_detections.txt") - with open(fc_det_file, 'w') as f: - f.write("# AERIS-10 Full-Chain Golden Reference Detections\n") - f.write(f"# Threshold: {args.threshold}\n") - f.write("# Format: range_bin doppler_bin magnitude\n") - for d in fc_detections: - rbin, dbin = d - f.write(f"{rbin} {dbin} {fc_mag[rbin, dbin]}\n") - - # Also write detection reference as hex for RTL comparison - fc_det_mag_file = os.path.join(output_dir, "fullchain_detection_mag.hex") - with open(fc_det_mag_file, 'w') as f: - for rbin in range(DOPPLER_RANGE_BINS): - for dbin in range(DOPPLER_TOTAL_BINS): - m = int(fc_mag[rbin, dbin]) & 0x1FFFF # 17-bit unsigned - f.write(f"{m:05X}\n") - - # ----------------------------------------------------------------------- - # Run detection on direct-path Doppler map (for backward compatibility) - # ----------------------------------------------------------------------- - mag, detections = run_detection(doppler_i, doppler_q, threshold=args.threshold) - - # Save detection list - det_file = os.path.join(output_dir, "detections.txt") - with open(det_file, 'w') as f: - f.write("# AERIS-10 Golden Reference Detections\n") - f.write(f"# Threshold: {args.threshold}\n") - f.write("# Format: range_bin doppler_bin magnitude\n") - for d in detections: - rbin, dbin = d - f.write(f"{rbin} {dbin} {mag[rbin, dbin]}\n") - - # ----------------------------------------------------------------------- - # Float reference and comparison - # ----------------------------------------------------------------------- - - range_fft_float, doppler_float = run_float_reference(iq_i, iq_q) - - # Compare range FFT (chirp 0) - float_range_i = np.real(range_fft_float[0, :]).astype(np.float64) - float_range_q = np.imag(range_fft_float[0, :]).astype(np.float64) - compare_outputs("Range FFT", range_fft_i, range_fft_q, - float_range_i, float_range_q) - - # Compare Doppler map - float_doppler_i = np.real(doppler_float).flatten().astype(np.float64) - float_doppler_q = np.imag(doppler_float).flatten().astype(np.float64) - compare_outputs("Doppler FFT", - doppler_i.flatten(), doppler_q.flatten(), - float_doppler_i, float_doppler_q) - - # ----------------------------------------------------------------------- - # Save numpy reference outputs - # ----------------------------------------------------------------------- - np.save(os.path.join(output_dir, "range_fft_all_i.npy"), all_range_i) - np.save(os.path.join(output_dir, "range_fft_all_q.npy"), all_range_q) - np.save(os.path.join(output_dir, "doppler_map_i.npy"), doppler_i) - np.save(os.path.join(output_dir, "doppler_map_q.npy"), doppler_q) - np.save(os.path.join(output_dir, "detection_mag.npy"), mag) - - # ----------------------------------------------------------------------- - # Summary - # ----------------------------------------------------------------------- - - # ----------------------------------------------------------------------- - # Optional plots - # ----------------------------------------------------------------------- - if args.plot: - try: - import matplotlib.pyplot as plt - - _fig, axes = plt.subplots(2, 2, figsize=(14, 10)) - - # Range FFT magnitude (chirp 0) - range_mag = np.sqrt(range_fft_i.astype(float)**2 + range_fft_q.astype(float)**2) - axes[0, 0].plot(20 * np.log10(range_mag + 1)) - axes[0, 0].set_title("Range FFT Magnitude (Chirp 0)") - axes[0, 0].set_xlabel("Range Bin") - axes[0, 0].set_ylabel("dB") - axes[0, 0].grid(True) - - # Range-Doppler map - rd_mag = np.sqrt(doppler_i.astype(float)**2 + doppler_q.astype(float)**2) - rd_db = 20 * np.log10(rd_mag + 1) - im = axes[0, 1].imshow(rd_db, aspect='auto', origin='lower', - cmap='viridis') - axes[0, 1].set_title("Range-Doppler Map (Fixed-Point)") - axes[0, 1].set_xlabel("Doppler Bin") - axes[0, 1].set_ylabel("Range Bin") - plt.colorbar(im, ax=axes[0, 1], label="dB") - - # Float reference Range-Doppler map - float_rd_mag = np.abs(doppler_float) - float_rd_db = 20 * np.log10(float_rd_mag + 1) - im2 = axes[1, 0].imshow(float_rd_db, aspect='auto', origin='lower', - cmap='viridis') - axes[1, 0].set_title("Range-Doppler Map (Float Reference)") - axes[1, 0].set_xlabel("Doppler Bin") - axes[1, 0].set_ylabel("Range Bin") - plt.colorbar(im2, ax=axes[1, 0], label="dB") - - # Detection overlay - axes[1, 1].imshow(rd_db, aspect='auto', origin='lower', cmap='viridis') - if len(detections) > 0: - axes[1, 1].scatter(detections[:, 1], detections[:, 0], - c='red', marker='x', s=50, linewidths=2) - axes[1, 1].set_title(f"Detections (threshold={args.threshold})") - axes[1, 1].set_xlabel("Doppler Bin") - axes[1, 1].set_ylabel("Range Bin") - - plt.tight_layout() - plot_file = os.path.join(output_dir, "golden_reference_plots.png") - plt.savefig(plot_file, dpi=150) - plt.show() - - except ImportError: - pass - - -if __name__ == "__main__": - main() diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/STALE_NOTICE.md b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/STALE_NOTICE.md deleted file mode 100644 index 3eb73f6..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/STALE_NOTICE.md +++ /dev/null @@ -1,42 +0,0 @@ -# Golden Reference Hex Files - -These hex files are **committed golden references** for strict bit-exact -real-data regression tests (`tb_doppler_realdata.v`, `tb_fullchain_realdata.v`). - -## When to regenerate - -Regenerate whenever the Doppler processing pipeline changes: - -- `doppler_processor.v` (FFT size, window, sub-frame structure) -- `xfft_16.v` / `fft_engine.v` (butterfly arithmetic, twiddle lookup) -- `range_bin_decimator.v` (decimation mode, peak detection logic) -- `fft_twiddle_16.mem` (twiddle factor ROM) - -## How to regenerate - -```bash -cd 9_Firmware/9_2_FPGA -python3 tb/cosim/real_data/golden_reference.py -# Then copy the Doppler-specific files: -python3 -c " -import numpy as np, os, shutil -h = 'tb/cosim/real_data/hex' -# Regenerate packed stimulus from range FFT npy -ri = np.load(f'{h}/range_fft_all_i.npy') -rq = np.load(f'{h}/range_fft_all_q.npy') -with open(f'{h}/doppler_input_realdata.hex','w') as f: - for c in range(32): - for r in range(64): - i=int(ri[c,r])&0xFFFF; q=int(rq[c,r])&0xFFFF - f.write(f'{(q<<16)|i:08X}\n') -shutil.copy2(f'{h}/doppler_map_i.hex', f'{h}/doppler_ref_i.hex') -shutil.copy2(f'{h}/doppler_map_q.hex', f'{h}/doppler_ref_q.hex') -" -``` - -## Architecture - -Generated against the **dual 16-point FFT** Doppler architecture -(2 staggered-PRI sub-frames x 16-point Hamming-windowed FFT). - -Source data: ADI CN0566 Phaser radar (10.525 GHz X-band FMCW, 4 MSPS). diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/adc_chirp0.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/adc_chirp0.hex deleted file mode 100644 index 2ea866e..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/adc_chirp0.hex +++ /dev/null @@ -1,1024 +0,0 @@ -1E -23 -07 -48 -7E -79 -7D -7A -7C -7A -7E -7E -80 -7E -80 -7E -80 -86 -A5 -9F -80 -80 -80 -80 -80 -80 -80 -7D -7A -79 -7A -78 -7C -A0 -B4 -8B -8F -8A -80 -7E -80 -7E -7F -7C -7D -7D -7D -7E -7F -7E -51 -6A -32 -03 -0D -6F -80 -80 -80 -80 -80 -80 -80 -A5 -94 -97 -AA -98 -92 -98 -61 -22 -4D -53 -75 -80 -7F -7F -7E -7D -82 -7D -81 -7C -83 -5F -61 -78 -14 -48 -7E -65 -80 -80 -80 -80 -80 -80 -97 -B2 -89 -BE -C8 -A8 -C0 -D9 -B0 -9F -AB -5B -6B -80 -69 -7F -7E -7F -7E -7D -7B -7C -7F -7E -7D -4A -06 -01 -1C -67 -80 -80 -80 -80 -80 -80 -82 -7E -AA -D9 -E6 -F9 -F4 -F9 -F5 -F8 -C7 -7F -7B -7C -7C -7B -7D -6F -36 -08 -04 -05 -03 -06 -02 -22 -32 -5C -80 -80 -80 -80 -80 -80 -80 -80 -80 -80 -7C -A3 -C1 -CD -F8 -F4 -FC -BE -83 -7F -7F -7E -7D -7D -7B -7C -7B -7F -7F -80 -7B -4E -1D -01 -3E -70 -7B -80 -80 -80 -80 -80 -7F -7D -7B -79 -AB -F8 -F5 -F7 -F5 -C1 -A8 -8B -7C -7C -7B -7C -7B -7C -7B -7C -3C -04 -05 -03 -07 -01 -1F -50 -78 -80 -80 -80 -80 -80 -80 -8E -8E -84 -8B -7F -7A -79 -76 -27 -27 -3F -7B -80 -80 -7F -80 -7F -81 -7E -81 -7D -82 -7F -8D -79 -25 -2C -2B -45 -5A -78 -80 -80 -80 -80 -80 -7E -7B -7A -79 -7A -B9 -F8 -C9 -AC -88 -80 -80 -80 -80 -79 -78 -78 -7B -7A -7D -74 -34 -3F -0F -54 -5A -7A -80 -82 -82 -80 -80 -80 -7E -78 -7B -78 -7C -77 -81 -56 -21 -25 -0A -01 -2C -80 -80 -80 -80 -80 -80 -80 -7C -7C -77 -7B -77 -91 -7D -86 -73 -33 -42 -80 -5C -59 -80 -7A -79 -81 -82 -81 -82 -7F -81 -7C -82 -C3 -EB -FE -D6 -B1 -8A -80 -80 -80 -7E -78 -79 -77 -7D -79 -7E -78 -82 -58 -4C -79 -80 -80 -80 -80 -80 -80 -80 -80 -81 -7D -7B -7C -7A -7C -7C -C5 -B7 -A5 -98 -80 -80 -80 -80 -80 -80 -80 -7D -79 -78 -7A -7C -7A -7E -43 -12 -01 -1F -51 -7A -80 -80 -80 -82 -82 -80 -7C -7B -87 -90 -E4 -FB -C9 -87 -80 -80 -80 -80 -80 -80 -80 -7D -82 -80 -7C -7C -7D -7A -7E -A7 -CC -AF -C9 -A8 -80 -80 -80 -80 -7E -7C -7C -7B -7B -7B -7F -7C -7F -7A -8B -98 -C8 -FA -CD -96 -80 -80 -80 -7E -76 -7A -76 -7F -6F -65 -3E -03 -2E -53 -74 -A0 -A8 -A2 -99 -A4 -8A -7D -7A -7A -79 -7A -78 -7B -73 -48 -53 -2D -61 -76 -7E -80 -80 -80 -80 -7D -7E -7B -7A -7B -7B -7C -7B -7F -8A -A6 -9A -80 -80 -80 -80 -80 -7B -7E -79 -80 -77 -9E -AE -85 -A1 -90 -80 -80 -87 -80 -89 -A8 -7F -90 -B8 -79 -7C -95 -7A -5C -30 -03 -01 -17 -0C -09 -59 -3C -4A -80 -88 -90 -9C -96 -B6 -CB -C4 -FA -F5 -FB -EE -E9 -A3 -69 -51 -50 -80 -64 -6E -7F -7B -7F -7C -6A -7C -71 -40 -4F -39 -40 -4E -4F -50 -67 -8B -79 -80 -96 -8B -7F -A0 -A4 -85 -D0 -C8 -90 -D7 -9F -8F -AB -94 -89 -B4 -AB -8B -A5 -8E -21 -01 -01 -02 -01 -05 -01 -13 -1A -29 -60 -89 -88 -A2 -FF -FF -FF -F7 -FA -F5 -FD -D9 -BB -9D -7E -6F -7D -7B -71 -73 -75 -5C -58 -6F -78 -85 -94 -B6 -8B -A6 -B5 -67 -7F -79 -7F -7C -7D -7E -76 -69 -63 -40 -38 -45 -19 -32 -50 -81 -CC -EB -E3 -D7 -FA -CF -B3 -B4 -8E -76 -7A -75 -7C -6A -53 -35 -0C -11 -07 -3D -30 -37 -66 -72 -64 -80 -82 -80 -82 -81 -81 -80 -82 -A3 -7B -9E -98 -5F -8B -80 -80 -80 -80 -80 -80 -7D -79 -7C -7A -7C -7D -9E -92 -75 -84 -61 -7D -80 -80 -80 -7E -7E -7F -7D -75 -6B -82 -47 -57 -82 -4C -71 -A7 -98 -A8 -BD -80 -80 -80 -80 -80 -7E -7B -78 -7B -77 -7D -78 -81 -61 -17 -30 -36 -6F -80 -80 -80 -80 -80 -7D -7D -7A -7D -7A -78 -3F -4A -26 -1A -63 -76 -80 -80 -80 -80 -90 -9A -80 -B9 -B6 -89 -B2 -A7 -77 -93 -6F -01 -40 -55 -3E -73 -80 -5B -79 -80 -6D -7D -7F -7B -7F -7D -74 -6F -82 -54 -56 -B8 -88 -8B -93 -80 -80 -80 -80 -83 -7C -7C -79 -96 -AD -B4 -FA -DE -8C -80 -70 -57 -60 -4E -37 -48 -43 -36 -58 -62 -5B -68 -7E -68 -80 -7C -96 -A8 -C5 -D5 -CE -C9 -B7 -A0 -AC -91 -79 -85 -79 -77 -7A -77 -7A -74 -7C -45 -0C -0B -1C -42 -3E -52 -6D -7B -80 -80 -82 -82 -80 -7D -7C -7E -9B -C3 -BE -BA -AB -93 -8B -88 -80 -80 -80 -7F -79 -7B -77 -90 -7F -7C -71 -50 -1E -59 -3E -23 -7D -61 -5B -80 -80 -7B -80 -7D -81 -7E -7E -6C -7D -75 -6C -C0 -D2 -8A -A4 -AC -80 -81 -8E -7B -7A -9E -8A -97 -C1 -A9 -A2 -AF -8C -50 -54 -5A -0E -29 -39 -1D -2E -59 -3A -5C -7F -74 -82 -81 -81 -81 -7F -7D -B7 -FD -E4 -AC -B6 -8B -80 -80 -7E -7B -79 -77 -79 -85 -A3 -82 -93 -6E -4E -60 -6D -48 -59 -58 -37 -44 -44 -2D -47 -44 -50 -60 -A8 -DA -D0 -FF -F8 -FF -DC -D9 -C8 -A5 -A8 -9D -86 -8D -92 -81 -95 -A9 -87 -B2 -A7 -63 -92 -3A -0C -09 -14 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/chirp0_i.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/chirp0_i.hex deleted file mode 100644 index fe41757..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/chirp0_i.hex +++ /dev/null @@ -1,1024 +0,0 @@ -FF93 -FF99 -FF79 -FFC2 -FFFE -FFF8 -FFFC -FFF9 -FFFC -FFF9 -FFFD -FFFD -0000 -FFFE -0000 -FFFD -0000 -0007 -0029 -0023 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -FFFC -FFF9 -FFF8 -FFFA -FFF7 -FFFB -0024 -003A -000C -0010 -000C -0000 -FFFE -0000 -FFFE -FFFE -FFFC -FFFD -FFFD -FFFD -FFFD -FFFF -FFFE -FFCB -FFE7 -FFA9 -FF75 -FF7F -FFED -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0029 -0016 -001A -002F -001A -0014 -001B -FFDE -FF98 -FFC7 -FFCE -FFF4 -0000 -FFFE -FFFF -FFFE -FFFD -0002 -FFFD -0001 -FFFB -0004 -FFDB -FFDD -FFF7 -FF88 -FFC2 -FFFE -FFE1 -0000 -0000 -0000 -0000 -0000 -0000 -001A -0037 -000A -0045 -0050 -002C -0048 -0063 -0035 -0022 -002F -FFD6 -FFE9 -0000 -FFE6 -FFFF -FFFE -FFFF -FFFD -FFFC -FFFB -FFFB -FFFF -FFFE -FFFD -FFC4 -FF79 -FF73 -FF91 -FFE4 -0000 -0000 -0000 -0000 -0000 -0000 -0002 -FFFD -002E -0063 -0072 -0086 -0081 -0087 -0083 -0086 -004F -FFFF -FFFB -FFFB -FFFB -FFFA -FFFD -FFED -FFAD -FF7B -FF76 -FF77 -FF75 -FF78 -FF73 -FF97 -FFA9 -FFD7 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -FFFC -0027 -0049 -0056 -0086 -0082 -008A -0045 -0003 -FFFF -FFFF -FFFD -FFFD -FFFC -FFFB -FFFC -FFFA -FFFF -FFFF -0000 -FFFA -FFC8 -FF92 -FF73 -FFB7 -FFEE -FFFB -0000 -0000 -0000 -0000 -0000 -FFFF -FFFD -FFFB -FFF9 -002F -0085 -0082 -0085 -0083 -0048 -002D -000D -FFFB -FFFC -FFFB -FFFC -FFFA -FFFC -FFFA -FFFB -FFB4 -FF76 -FF77 -FF75 -FF79 -FF73 -FF94 -FFCB -FFF7 -0000 -0000 -0000 -0000 -0000 -0000 -000F -0010 -0005 -000D -FFFF -FFF9 -FFF9 -FFF4 -FF9D -FF9D -FFB8 -FFFB -0000 -FFFF -FFFF -0000 -FFFF -0001 -FFFE -0001 -FFFD -0002 -FFFF -000E -FFF8 -FF9B -FFA2 -FFA2 -FFBE -FFD6 -FFF8 -0000 -0000 -0000 -0000 -0000 -FFFE -FFFA -FFF9 -FFF8 -FFF9 -003F -0086 -0051 -0031 -0009 -0000 -0000 -0000 -0000 -FFF8 -FFF7 -FFF7 -FFFB -FFF9 -FFFC -FFF3 -FFAB -FFB8 -FF82 -FFCF -FFD6 -FFFA -0000 -0002 -0002 -0000 -0000 -0000 -FFFD -FFF7 -FFFA -FFF7 -FFFC -FFF6 -0001 -FFD2 -FF96 -FF9A -FF7C -FF73 -FFA3 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -FFFC -FFFB -FFF6 -FFFA -FFF7 -0013 -FFFC -0007 -FFF2 -FFAA -FFBB -0000 -FFD8 -FFD5 -0000 -FFF9 -FFF8 -0001 -0002 -0001 -0003 -FFFF -0001 -FFFC -0002 -004A -0077 -008C -0060 -0036 -000B -0000 -0000 -0000 -FFFE -FFF7 -FFF8 -FFF6 -FFFD -FFF9 -FFFE -FFF7 -0002 -FFD4 -FFC6 -FFF8 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0001 -FFFD -FFFB -FFFB -FFFA -FFFC -FFFB -004D -003D -0029 -001B -0000 -0000 -0000 -0000 -0000 -0000 -0000 -FFFD -FFF9 -FFF8 -FFF9 -FFFC -FFF9 -FFFD -FFBC -FF86 -FF73 -FF94 -FFCC -FFF9 -0000 -0000 -0000 -0002 -0002 -0000 -FFFC -FFFB -0008 -0012 -006F -0089 -0051 -0008 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -FFFC -0002 -0000 -FFFB -FFFC -FFFC -FFFA -FFFD -002C -0054 -0034 -0051 -002D -0000 -0000 -0000 -0000 -FFFE -FFFC -FFFB -FFFB -FFFB -FFFB -FFFF -FFFB -FFFE -FFF9 -000C -001B -0050 -0088 -0056 -0019 -0000 -0000 -0000 -FFFE -FFF5 -FFF9 -FFF4 -FFFE -FFED -FFE2 -FFB6 -FF75 -FFA5 -FFCE -FFF3 -0023 -002D -0026 -001C -0028 -000B -FFFD -FFF9 -FFFA -FFF8 -FFF9 -FFF8 -FFFB -FFF1 -FFC2 -FFCE -FFA4 -FFDE -FFF5 -FFFE -0000 -0000 -0000 -0000 -FFFD -FFFE -FFFA -FFF9 -FFFB -FFFB -FFFB -FFFB -FFFF -000C -002A -001D -0000 -0000 -0000 -0000 -0000 -FFFA -FFFE -FFF8 -0000 -FFF6 -0021 -0033 -0006 -0024 -0012 -0000 -0000 -0007 -0000 -000A -002D -FFFF -0011 -003F -FFF8 -FFFB -0017 -FFF9 -FFD8 -FFA7 -FF75 -FF73 -FF8B -FF7F -FF7C -FFD5 -FFB4 -FFC4 -0000 -0009 -0011 -001F -0018 -003C -0053 -004C -0088 -0082 -0089 -007B -0075 -0027 -FFE7 -FFCC -FFCA -0000 -FFE1 -FFEC -FFFE -FFFA -FFFF -FFFC -FFE8 -FFFB -FFEF -FFB8 -FFC9 -FFB1 -FFB9 -FFC8 -FFC9 -FFCB -FFE4 -000C -FFF8 -0000 -0019 -000C -FFFF -0023 -0029 -0006 -0059 -0050 -0011 -0061 -0022 -0011 -0030 -0016 -000B -003A -0030 -000D -0029 -000F -FF96 -FF73 -FF73 -FF74 -FF73 -FF78 -FF73 -FF87 -FF8F -FF9F -FFDD -000A -0009 -0025 -008D -008D -008D -0085 -0088 -0082 -008B -0063 -0042 -0021 -FFFE -FFEE -FFFC -FFFB -FFF0 -FFF1 -FFF4 -FFD8 -FFD4 -FFED -FFF7 -0005 -0016 -003D -000C -002A -003B -FFE4 -FFFF -FFF9 -FFFF -FFFB -FFFD -FFFE -FFF5 -FFE7 -FFE0 -FFB8 -FFAF -FFBE -FF8D -FFA9 -FFCA -0001 -0055 -0078 -006E -0060 -0088 -0058 -0039 -003A -0010 -FFF5 -FFF9 -FFF4 -FFFC -FFE7 -FFCE -FFAC -FF7F -FF85 -FF7A -FFB5 -FFA7 -FFAF -FFE3 -FFF0 -FFE1 -0000 -0002 -0001 -0002 -0001 -0001 -0000 -0002 -0027 -FFFB -0022 -001B -FFDB -000C -0000 -0000 -0000 -0000 -0000 -0000 -FFFD -FFF8 -FFFC -FFFA -FFFC -FFFC -0022 -0014 -FFF4 -0005 -FFDE -FFFD -0000 -0000 -0000 -FFFE -FFFD -FFFF -FFFD -FFF4 -FFE8 -0002 -FFC0 -FFD3 -0003 -FFC6 -FFF0 -002C -001B -002D -0043 -0000 -0000 -0000 -0000 -0000 -FFFE -FFFB -FFF7 -FFFA -FFF6 -FFFD -FFF8 -0001 -FFDD -FF8B -FFA6 -FFAE -FFED -0000 -0000 -0000 -0000 -FFFF -FFFD -FFFD -FFF9 -FFFC -FFF9 -FFF7 -FFB8 -FFC4 -FF9C -FF8F -FFE0 -FFF5 -0000 -0000 -0000 -0000 -0011 -001D -0000 -0040 -003C -000A -0038 -002B -FFF6 -0016 -FFED -FF73 -FFB9 -FFD0 -FFB6 -FFF1 -0000 -FFD7 -FFF8 -0000 -FFEB -FFFD -FFFF -FFFB -FFFF -FFFD -FFF2 -FFEE -0002 -FFCF -FFD2 -003F -0009 -000C -0015 -0000 -0000 -0000 -0000 -0003 -FFFB -FFFB -FFF8 -0018 -0032 -003A -0088 -0069 -000E -0000 -FFEE -FFD2 -FFDD -FFC8 -FFAE -FFC2 -FFBD -FFAE -FFD3 -FFDE -FFD7 -FFE5 -FFFE -FFE5 -0000 -FFFC -0019 -002C -004D -005F -0057 -0051 -003D -0024 -0031 -0013 -FFF8 -0006 -FFF8 -FFF6 -FFF9 -FFF6 -FFF9 -FFF3 -FFFC -FFBE -FF7E -FF7E -FF90 -FFBB -FFB6 -FFCD -FFEB -FFFB -0000 -0000 -0003 -0002 -0000 -FFFD -FFFB -FFFE -001F -004B -0045 -0041 -0030 -0015 -000D -0008 -0000 -0000 -0000 -FFFF -FFF9 -FFFA -FFF6 -0012 -FFFF -FFFB -FFEF -FFCB -FF93 -FFD4 -FFB7 -FF99 -FFFD -FFDE -FFD6 -0000 -0000 -FFFB -0000 -FFFC -0001 -FFFE -FFFE -FFEA -FFFD -FFF4 -FFEA -0047 -005B -000B -0028 -0030 -0000 -0001 -000F -FFFB -FFFA -0021 -000C -0019 -0049 -002E -0026 -0035 -000D -FFCA -FFCF -FFD6 -FF81 -FFA0 -FFB1 -FF92 -FFA5 -FFD5 -FFB2 -FFD8 -FFFF -FFF2 -0003 -0001 -0001 -0001 -FFFF -FFFD -003E -008B -0070 -0031 -003C -000C -0000 -0000 -FFFE -FFFA -FFF8 -FFF6 -FFF9 -0005 -0027 -0002 -0015 -FFEB -FFC8 -FFDC -FFEB -FFC2 -FFD5 -FFD3 -FFAF -FFBD -FFBD -FFA4 -FFC1 -FFBD -FFCA -FFDC -002D -0064 -0059 -008D -0086 -008D -0067 -0063 -0050 -002A -002C -0021 -0006 -000E -0014 -0001 -0017 -002E -0008 -0037 -002C -FFE0 -0014 -FFB2 -FF7F -FF7C -FF88 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/chirp0_q.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/chirp0_q.hex deleted file mode 100644 index a313d12..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/chirp0_q.hex +++ /dev/null @@ -1,1024 +0,0 @@ -FFFE -FFFE -FFFD -FFFF -FFFC -0000 -FFFB -0000 -FFD9 -FF90 -FFAA -FFDD -FFEB -FFFE -FFFA -FFFC -FFFB -FFFC -FFFB -FFFB -FFFC -FFFA -FFFD -FFFA -0000 -FFE7 -FFDF -FFE7 -0000 -FFFB -0000 -FFFD -FFFF -FFFD -FFFF -FFFD -FFFF -FFFD -FFFF -FFFC -0007 -0009 -0028 -0063 -0054 -000B -000E -0012 -FFFD -FFFD -FFFC -FFFC -FFFC -FFFB -FFFC -FFFC -FFF6 -FFCC -FFE4 -FF99 -FF8A -FF99 -FF8C -FFD8 -001E -0008 -001B -0023 -0010 -0003 -FFFE -FFFD -FFFF -FFFD -0000 -FFFB -0001 -FFE8 -0000 -FFDD -FFCE -0002 -FFF7 -FFFF -FFF9 -FFFD -FFFA -FFFC -FFFB -FFFC -FFFB -FFFD -FFDC -FFCA -FFA9 -FF77 -FF80 -FF8D -FF73 -FFBE -0008 -FFFA -000D -000C -0000 -000A -0008 -FFFD -0008 -0018 -FFFE -0013 -000B -FFFD -000F -0016 -0023 -004D -005B -0022 -FFFC -FFFB -FFFC -FFFB -FFFC -FFFA -FFFD -FFF9 -0000 -FFD8 -FF8E -FF73 -FF74 -FF73 -FF8B -FFC6 -FFEC -FFFF -FFFD -FFFF -FFFD -FFFE -FFFE -000D -001E -005D -0089 -0086 -0087 -0087 -0086 -0086 -0036 -0007 -FFFC -FFFD -FFFA -FFFE -FFF4 -FFE9 -FFDB -FFE4 -FFEB -FFD9 -FFE1 -FFCB -FFAA -FF8F -FF86 -FF74 -FF73 -FF90 -FFDB -FFFA -FFFF -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -0006 -0034 -0043 -0067 -007F -004D -0035 -0000 -FFFC -FFFB -FFFC -FFFB -FFFC -FFFB -FFFC -FFFA -FFFD -FFFA -FFFC -FFA1 -FF73 -FF7A -FFA8 -FFCD -FFFF -FFFD -FFFF -FFFD -FFFE -FFFE -FFFE -FFFE -FFFE -000F -006D -0088 -0087 -0087 -0086 -0087 -005C -0024 -0000 -FFFB -FFFD -FFFA -FFFD -FFF9 -0000 -FFE8 -FF9D -FF84 -FF73 -FF73 -FF73 -FF73 -FF96 -FFBE -FFF8 -FFFF -FFFD -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFD -FFFE -FFFD -FFFE -FFC3 -FFA4 -FFBC -FFFE -FFFA -FFFD -FFFA -FFFD -FFFB -FFFC -FFFB -FFFC -FFFB -FFFC -FFFB -FFFD -FFF3 -FF8C -FF73 -FF73 -FF78 -FFB8 -FFEC -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFD -FFFF -FFFD -001E -007A -0089 -004C -0001 -0003 -FFFB -FFFC -FFFC -FFFC -FFFC -FFFC -FFFC -FFFC -FFFC -FFFB -FFFD -FFFB -0010 -001C -0058 -0088 -0086 -0046 -000C -FFFF -FFFD -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFD -FFFD -FFCF -FFEB -FFD1 -FFA5 -FFC8 -0003 -0008 -001E -0023 -FFFA -FFFD -0000 -FFFC -FFFB -FFFC -FFFB -FFFC -FFFB -FFFC -FFFB -FFFA -FFAC -FF73 -FF82 -FF75 -FF76 -FFC8 -FFB7 -FFE3 -0000 -FFFB -0000 -FFFD -FFFF -FFFD -FFFE -FFFE -FFFE -FFFE -003C -0084 -006F -0024 -FFFB -FFFC -FFFB -FFFC -FFFC -FFFB -FFFC -FFFB -FFFD -FFFA -FFFF -FFF7 -0001 -FFC1 -FFB9 -FFC3 -FFB1 -FFE8 -FFF7 -FFFF -FFFD -FFFF -FFFE -FFFF -FFFE -FFFF -FFFE -FFFF -FFFD -FFFF -FFFC -0000 -FFEC -FFD8 -FFEE -0012 -002E -0007 -FFFE -FFFA -FFFD -FFFA -FFFD -FFFA -FFFD -FFFA -FFFF -FFF5 -FFD1 -FFB0 -FF73 -FF7D -FFB5 -FFF0 -0000 -FFFC -FFFF -FFFD -FFFF -FFFD -FFFF -FFFE -FFFF -FFFD -FFFF -FFFD -0000 -FFF5 -FFFE -FFB1 -FFC1 -FFFA -FFF1 -FFF1 -FFFF -FFFA -FFFD -FFFB -FFFD -FFFB -FFFC -FFFB -FFFC -FFFE -002E -0046 -005D -0061 -000F -0026 -FFF8 -FFE1 -FFE1 -FFF2 -FFFD -FFFF -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFF -000D -004A -008C -005A -002E -FFFE -FFFC -FFFB -FFFC -FFFC -FFFC -FFFC -FFFB -FFED -FFFB -FFFC -FFFC -FFFC -000B -0056 -007B -0082 -007D -0032 -0020 -000B -FFFE -FFFE -FFFE -FFFE -FFFF -FFFD -FFFF -FFFD -FFFF -FFFC -0007 -004D -0030 -0049 -000C -0003 -FFFD -FFFC -FFFD -FFFB -FFFD -FFFB -FFFD -FFFB -FFFE -FFFA -0000 -FFE7 -0005 -FFE7 -FFFC -FFFD -FFFF -FFFD -FFFF -FFFC -0000 -FFFB -0001 -FFEA -001C -000C -FFC7 -0011 -0012 -FFEE -003B -006C -002D -005E -0076 -0028 -002B -0048 -FFFB -FFFF -FFF3 -FFBC -FFB6 -FF9A -FF88 -FF8F -FF7B -FF82 -FF76 -FF95 -FF77 -FF92 -FFF2 -FFEE -0009 -0009 -003F -004E -004E -004E -0057 -0026 -0033 -0037 -FFFD -0008 -FFF5 -FFD5 -FFFC -FFFC -FFFC -FFFF -FFFC -0001 -0016 -FFFE -FFCF -FFC3 -FFD6 -FF92 -FFA1 -FFC8 -FF8C -FFB3 -FFD5 -FFB4 -FFCD -FFEE -FFE0 -FFF6 -FFFD -0000 -FFFC -0000 -FFED -FFEB -0019 -0048 -003B -0080 -0063 -0063 -0088 -006C -004D -006A -0031 -0013 -0016 -0000 -FF94 -FF73 -FF75 -FF73 -FF73 -FF73 -FF73 -FF77 -FF96 -FFB1 -FFF5 -0030 -0024 -001C -0054 -0037 -0022 -0055 -0046 -003C -0065 -0032 -002B -0007 -000E -FFED -FFDD -FFF6 -FFE5 -FFE2 -FFFE -0005 -0004 -FFFB -000C -0012 -000B -001A -0029 -0026 -0056 -002C -0033 -003E -FFFB -FFDE -FFE5 -FFE5 -FFA4 -FFB5 -FFBC -FFA0 -FFB0 -FFD6 -FFC7 -FFE4 -0000 -001F -007C -006B -0086 -0074 -0077 -003C -0032 -0035 -0016 -FFFB -000B -FFFC -FFFD -FFF7 -FFF4 -FFF8 -FFA9 -FFBE -FFA8 -FF78 -FF81 -FF7F -FFA9 -FFC4 -FFCC -FFFB -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFD -FFFF -FFFD -FFFE -FFCA -0021 -002B -FFFC -0003 -FFFE -FFFC -FFFC -FFFC -FFFC -FFFC -FFFC -FFFB -0001 -0016 -FFFF -0019 -FFF2 -FFC3 -FFF7 -0000 -FFDF -FFF3 -0000 -FFCF -FFEF -0000 -FFED -FFF9 -FFFF -FFFE -FFFE -FFFE -FFFD -FFFA -FFFC -FFD7 -FFFF -002E -0024 -0012 -0037 -0004 -FFFD -FFFD -FFFC -FFFB -FFFC -FFFC -FFFC -FFFC -FFFB -FFFE -FFF9 -000A -FFD9 -FFF3 -0000 -FFFD -FFFF -FFFE -FFFE -FFFE -FFFD -0000 -FFFB -0000 -FFE3 -FFAD -FFCF -FF92 -FF77 -FFCB -FFDE -FFF3 -0045 -002B -0019 -0055 -002A -0000 -0036 -0005 -FFFD -FFFB -FFFE -FFFB -0016 -001C -FFFF -0033 -003C -FFDE -0023 -001C -FFB3 -FFF3 -FFFF -FFE6 -FFFB -FFFF -FFFD -FFFF -FFFC -0000 -FFFB -0000 -FFEE -FFDF -FFE9 -FFA6 -FFF5 -0015 -FFFA -FFFE -FFFB -FFFF -FFFB -000A -0007 -0025 -0059 -0042 -0048 -005B -0046 -0031 -0001 -FFF0 -FFCB -FFA2 -FFA6 -FF95 -FFB1 -FFB9 -FFB4 -FFD6 -FFDF -FFDD -FFF0 -FFFE -FFFD -FFFF -FFFD -FFFF -FFFD -000D -006E -0067 -0078 -0055 -0053 -0055 -003D -0028 -0022 -0007 -FFFC -FFFC -FFFD -FFFA -FFFE -FFF8 -0000 -FFD2 -FFBA -FF95 -FF7D -FF95 -FFC2 -FFE0 -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFE -FFFF -FFFD -0000 -FFF9 -FFDF -0002 -FFFD -0026 -004C -002D -0026 -004C -001D -000D -0027 -0004 -FFFC -0002 -FFFC -FFFD -FFFC -FFFF -FFFC -001B -000E -FFF7 -003D -FFC3 -FFBD -FFFE -FFF4 -FFED -0000 -FFFD -FFFB -FFFA -0000 -FFE9 -FFFB -FFFE -FFF7 -0025 -003B -001D -002E -0040 -0012 -0026 -0048 -002F -0039 -0056 -003D -002A -0045 -0026 -000E -001E -0017 -FFFD -FFFD -0008 -FFEC -FFE0 -FFB7 -FF73 -FF80 -FFB9 -FFAA -FFCF -0000 -FFFD -FFFF -FFFE -FFFE -FFFF -FFFD -0000 -FFF7 -0043 -0036 -001F -003F -0014 -FFFD -0004 -0003 -FFFB -0008 -0012 -000D -0038 -003E -002A -0037 -0007 -FFB6 -FFC0 -FFA8 -FF90 -FF9A -FF87 -FF85 -FF8A -FF99 -FFA0 -FFCC -FFD0 -FFF1 -0000 -FFFE -002E -000C -0048 -0069 -0037 -0041 -0064 -0038 -0020 -0047 -0043 -0029 -0053 -004C -0044 -0055 -0046 -002E -001E diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_i.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_i.hex deleted file mode 100644 index ab9c609..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_i.hex +++ /dev/null @@ -1,2048 +0,0 @@ -1884 -D1DE -3AB8 -EA8F -048A -02BB -FA5E -02A3 -FB3A -FC27 -F4EB -0A78 -065F -02B7 -0144 -0117 -02B8 -0494 -FD13 -0504 -0FE8 -F464 -FC55 -02C2 -011A -00B3 -FD43 -015B -024A -009C -FD38 -01F2 -FF7E -FD9E -00A7 -01BF -01F9 -0222 -FBB7 -052C -FEF4 -FD2F -022C -0244 -021A -FC44 -046C -01FC -026F -0608 -0143 -02B9 -0251 -0372 -FCEE -0768 -095E -E366 -F75A -FAE2 -F9B2 -FCB1 -F613 -0DE8 -1948 -D060 -5009 -EBA2 -04C1 -03E0 -FA16 -0311 -07A1 -FC42 -F414 -0A33 -06A7 -0474 -0268 -009A -FD79 -0441 -017D -02A7 -10E8 -F3AC -FD90 -02E7 -0105 -0278 -03D8 -014C -0201 -019B -FD08 -02AB -FDCE -FDD9 -FF51 -0130 -FDDD -0289 -FAED -04D5 -01AB -FD97 -024E -FE19 -01AC -FC0C -0449 -0478 -01E3 -060F -FF6F -01E0 -FDC9 -0250 -FCD6 -0843 -0AAC -1277 -07A2 -FAE9 -F91A -FE6B -F790 -0DE0 -169E -CFE9 -53F0 -0621 -056D -0327 -FA64 -0321 -07B2 -FD42 -F4D1 -0A2B -06E6 -03BA -0224 -FFEE -FF12 -03FC -0178 -FCDB -114A -F1FD -FE00 -FD4E -00E9 -03AA -0423 -01C9 -0128 -FE4C -FCB6 -FD72 -FDF8 -00BB -FF95 -014B -FE31 -0273 -FC83 -03FA -FCDE -FDC3 -00D7 -0190 -00D1 -FCEB -F8C7 -04C5 -0254 -0590 -00C2 -0739 -FF92 -FD72 -FD55 -080B -0B78 -0699 -08F2 -FAB2 -F937 -FF5A -F78E -0D52 -0CE1 -B3EC -4E57 -0803 -089A -03B8 -FAE6 -034E -0631 -F41A -F40E -09F5 -026E -02FB -00D5 -FD49 -FE99 -0344 -FE18 -FB9E -12B3 -F156 -FE37 -FD63 -012A -03F3 -0414 -01CA -0114 -FE0E -FAFB -0331 -FEE2 -FDBF -FDF7 -01CF -FF1B -FC06 -FBE0 -FB89 -FC78 -FD94 -0089 -FE09 -0148 -FD4C -F8CD -0688 -00A6 -05FC -00A6 -069E -FEEC -FCD2 -FDB1 -0713 -0AD6 -0FC9 -0BCD -FAD7 -F5F5 -0074 -F78D -0C88 -0D57 -B29F -4806 -086E -09F3 -03CA -FAFE -02F0 -05D4 -0442 -F82A -08F7 -02D5 -032E -00A6 -FD17 -FE94 -02E5 -FDCF -FB2A -12D4 -F15D -FE42 -0140 -022F -0409 -042C -01D8 -0155 -FD9B -FB75 -FE36 -FEE7 -FD86 -004A -020E -FF21 -FC11 -FB9A -FBA3 -FBF9 -0214 -00D4 -0067 -017B -FDD3 -F880 -06F1 -0178 -05DB -00E5 -06FD -FEEC -031A -FDC5 -06E0 -0A6B -133D -0AAC -FAB0 -F632 -069B -F7C8 -0CC1 -0ADF -CE98 -3A9D -085A -09BB -02F3 -FAE1 -0302 -0630 -F3A4 -F3FC -09BE -02A5 -0332 -FC2E -FDC6 -FEAD -0386 -FCF7 -FBD3 -11EE -0AF2 -FD90 -0125 -0259 -0428 -0355 -0176 -01D8 -FDA8 -FB23 -FE10 -FEDA -FD79 -00AF -0199 -FF10 -01BF -FBAC -FBB5 -0111 -FD7A -0249 -00D5 -011C -FE6E -F89F -069A -00B0 -05C2 -0042 -038B -FF36 -FCD0 -FD8E -0685 -0973 -1287 -0B36 -FB5A -F56C -0693 -F73E -0D38 -074F -CF6C -310F -EA84 -08D7 -02C9 -F9FE -02E2 -0770 -FCCA -F4D2 -0A0C -0683 -0391 -02E0 -FD99 -FE55 -0374 -FCD3 -0327 -115A -0A6B -FD7A -0230 -01E2 -0086 -FD3C -0377 -0250 -FDD0 -FC9F -FD48 -FE41 -FDA2 -00F5 -0167 -FE63 -FF33 -FB5C -052E -014E -FD5E -0214 -00E1 -FEE1 -FC80 -F8AD -0640 -0243 -05BB -018C -03BD -0303 -01E5 -FD5A -068A -0993 -0B49 -07FC -FB6F -F779 -FEB1 -F71F -0E19 -1758 -D02E -38AB -EC5A -067E -0318 -FA59 -0263 -FA91 -FB6C -F4D3 -0A5E -06A5 -0442 -0162 -0113 -FDCC -032C -0145 -0269 -107C -0996 -FCE2 -0265 -0122 -0052 -FD8D -0038 -0239 -017A -FD32 -01B9 -FF72 -FDD6 -004D -018B -FE70 -01FA -FB25 -0533 -FF09 -FD67 -020B -FF46 -FF82 -FBF3 -0452 -022E -02A4 -0607 -0179 -02E7 -027D -02D1 -FD17 -072F -0913 -E4EA -0695 -FBAD -F837 -FE40 -F6E6 -0DBE -19F6 -D091 -4300 -EC91 -0489 -0334 -F9AF -052D -07FB -FB2E -F5D9 -09F1 -069A -02C5 -0375 -019C -FD76 -048B -0171 -FD59 -100D -F550 -FCB0 -FE18 -0181 -007A -0378 -0363 -022F -0198 -FDBE -FDFC -FF3A -FDBF -FE59 -019D -0160 -FDCC -FB60 -0613 -0278 -FDD9 -01E7 -01B4 -FF38 -FBE3 -04AD -022D -0243 -05B7 -FEC1 -01EE -0228 -0369 -FD33 -FC41 -096F -E34A -04CB -FBC8 -F8AA -FE64 -066D -0D8A -1B48 -D0B7 -57D5 -EDCB -02DE -03FB -F9F1 -0239 -0798 -FB63 -F50E -0A68 -06D3 -0268 -FBE5 -0169 -FDA6 -0435 -01E9 -01CA -1082 -F4A5 -FCDF -FE64 -0139 -01D3 -03B7 -FF59 -01C7 -0121 -FD89 -01DB -FF60 -0083 -FF2B -0139 -0125 -FD97 -FB0F -055D -024C -026E -0205 -FDC1 -01B3 -FC20 -047D -025B -0259 -0548 -00E1 -05A5 -FCE2 -02C7 -FD62 -088F -0A4E -E382 -0605 -FC6F -FB6F -FF8D -065C -0CCD -1A1D -D00B -6E39 -E19D -02FA -04B9 -FA20 -0336 -07E1 -FBF9 -F607 -0A87 -07B1 -0487 -0215 -00FD -FDF4 -0370 -016D -02D6 -10F8 -F377 -FDE9 -FDA7 -022C -026D -044D -01DD -FCB5 -FE47 -FD0D -02A1 -FE80 -0051 -FEF0 -0120 -FEB8 -FD65 -FA9E -04E4 -0264 -032F -0241 -FDA6 -FE14 -FC65 -FA6B -027D -01FF -049B -FFDF -0793 -021C -0204 -FDC5 -0912 -0C86 -FC1D -0722 -FAD9 -F775 -FA2F -063F -0BF4 -15D0 -CF29 -6726 -05FD -059E -049A -FB09 -0346 -0742 -FC6E -F4ED -0A65 -0758 -0425 -0227 -0280 -FDA8 -032C -FDC3 -FCD6 -1201 -F23D -032E -FD0A -021D -02DC -0487 -021D -0148 -FE46 -FBD4 -02A4 -01A9 -FDCF -FF1C -00EA -FE40 -FF2E -FB0A -03E5 -02D6 -02BE -0284 -FDB0 -010A -FCE0 -F96B -0443 -0218 -050D -003D -0763 -FF60 -FD6A -FD88 -07A8 -0C2E -0545 -09A5 -FABF -F6A5 -0194 -FD07 -0B7E -13F8 -B1D7 -60AA -0639 -073F -047B -FAF7 -041F -07AD -FCAB -F593 -0982 -06E3 -0405 -0234 -FDD5 -FDF8 -0334 -00D9 -FC13 -121D -F21D -02E5 -FD6E -019E -034B -0494 -01BE -0143 -FE71 -FBBA -FE44 -0164 -FDF8 -FF5B -0148 -FE53 -FF6B -FCC0 -0412 -02C9 -031A -00C3 -FDE5 -0115 -FDEB -F8F7 -0490 -0244 -0544 -00B1 -0761 -FF1D -FD47 -038B -07D1 -0C4D -0926 -090A -FA7C -F6EE -04F7 -FC90 -0BA5 -1470 -CEEE -5551 -0655 -07B3 -040F -FACA -034F -07AE -FC3B -F52A -090A -06A3 -0411 -0242 -FDA7 -FD63 -0359 -FD3F -FC61 -1186 -0B59 -FE6A -FD2E -014F -FF5A -0459 -02B8 -FC1A -FE65 -FB93 -02A8 -FE5E -FDB7 -FF71 -0197 -FE89 -FF59 -FC58 -FBD7 -027F -0292 -0222 -010A -012C -FCCC -F8F9 -04A8 -050B -05B9 -011A -06FE -FF5E -FDB2 -FD6C -07A9 -0B15 -092F -096D -FA92 -F661 -0137 -FCC4 -0C34 -14A3 -CEE8 -40C2 -057E -0896 -03CD -FA5D -0365 -0847 -FB64 -F5DE -0996 -06CD -0429 -0283 -010A -FF29 -03D6 -01B3 -02AC -1103 -F31B -FD99 -02A0 -01B2 -FFF9 -03A7 -0390 -01A5 -00FB -FCF5 -022C -FE45 -0116 -0087 -016A -FE4A -0230 -FB6D -04D2 -01EA -FDC4 -021C -01B1 -0095 -FC78 -022E -0491 -01FD -05EA -012F -02B3 -0301 -01F9 -FD67 -07A2 -0A5D -06BD -0733 -FA16 -F696 -FFE2 -FD0F -0D26 -1779 -CF7F -3D79 -ED2C -06DA -03C9 -FA3C -02B7 -0823 -FB39 -F5A1 -0982 -067A -041E -0300 -011A -FD5F -0438 -0191 -0250 -1059 -F4A6 -FCCA -02E6 -00D3 -FFEF -03C7 -FD45 -0215 -0161 -FD8C -FDB8 -FF8F -FD94 -004B -01C9 -01BA -022D -FB52 -052F -0278 -FDB5 -0212 -FED1 -FF5A -FC35 -0461 -022C -0253 -0635 -014F -0260 -0291 -02CA -FD3C -07BC -0978 -E501 -06AF -FB57 -F914 -FF86 -06EF -0D73 -1AEA -CFEA -516F -EE30 -03E0 -0407 -F97B -05BA -082E -FB0C -F673 -09C3 -0664 -0263 -0363 -0205 -FD97 -0483 -01AD -FDF3 -1007 -F4ED -FCD8 -FDE3 -014E -FFFE -03FC -FF2B -FEB9 -018D -FDA1 -FE14 -FF24 -FDCA -FEAC -0160 -011A -FDDD -FB46 -05E2 -0237 -0264 -0187 -010E -FF4D -FBC8 -0497 -0286 -0208 -0595 -FE61 -022E -FD74 -0357 -FD92 -0906 -0A12 -E404 -04FA -FB71 -FB42 -FA6D -06FF -0CA2 -1D44 -D0C3 -60A5 -EE3C -01A8 -03FD -F94D -05E2 -FB4F -FB3F -F54F -09B0 -06B9 -0254 -FBE8 -01BD -FD53 -FDB8 -01D1 -FE87 -0FD5 -F4CD -FC9A -FE2F -012C -FFBC -0433 -FD78 -0193 -016E -FDCC -FDEC -FF69 -FE29 -FF25 -0103 -00CC -FDE4 -FB2E -058D -01B0 -0260 -020A -FE6C -FDE7 -FBE1 -0485 -029B -0259 -04D5 -FE55 -05F2 -FC8A -0371 -FDDB -0953 -0996 -E21E -05B3 -FD06 -FB73 -005C -0708 -0D4E -1E89 -D8A7 -71E7 -E11F -FFAA -0329 -F8FB -03C6 -072E -FC38 -F5AD -0AD4 -07A4 -01D6 -FC04 -0102 -FE32 -03D0 -0159 -0291 -100B -F431 -FE80 -FDFC -0139 -00FC -03D3 -FF22 -0151 -013B -FD49 -02C5 -FE24 -0052 -FF4A -00FC -00C9 -001C -FB01 -0589 -01AD -02A9 -FEF2 -FD55 -FD5D -FC18 -0382 -0289 -0491 -040F -0085 -05BE -FCDD -0229 -FDBA -094B -0C28 -F45C -060B -FC4C -F737 -FE6C -EFC3 -0D17 -1C5A -D55F -7E82 -E061 -00BC -0483 -FA44 -03E8 -0783 -FBEE -F5F4 -0A42 -07D2 -01EA -02E5 -02BE -FD67 -0312 -014D -FE79 -1077 -F3F8 -02F8 -FDB0 -0221 -FF35 -0405 -0190 -FC9F -FE20 -FD80 -0246 -FE3B -FFB0 -FEEE -FDEF -00B4 -FF8E -FABE -050A -0268 -0307 -0208 -00E0 -FDCF -FDFA -FB27 -05B2 -0457 -0371 -FFC5 -0710 -FD28 -01F3 -0268 -0919 -0D7E -F7B4 -0857 -FB20 -F7F4 -FFD3 -F560 -0CCE -19EB -D53F -751A -E1E9 -02BF -0484 -FA09 -03E4 -0808 -FBCA -F5E2 -0A55 -077F -0470 -FBFF -026D -FD90 -035C -012E -F8D7 -10DD -F2DC -030E -FD3F -01B3 -FEBC -0450 -025E -FC66 -FE64 -FD15 -02C3 -FE3B -FFF0 -FE2D -00F7 -FE95 -FF87 -FAB4 -0491 -0257 -0338 -FD98 -014B -FDDF -FC99 -FAA8 -0288 -047C -0484 -0004 -0755 -FFA3 -0228 -022C -08ED -0DA1 -FC84 -0846 -FAE8 -F719 -FFD5 -F59E -0C36 -18CE -D4FD -630C -050E -0502 -0433 -FA62 -0399 -0849 -FAF4 -F62A -0951 -06D7 -046F -024B -00D6 -FD26 -0398 -01F2 -FDE2 -1114 -F327 -0345 -FD65 -0183 -FF67 -0485 -FF3E -FC87 -00DB -FD4F -0235 -FEDD -009B -FF86 -FF1B -FE0C -FF32 -FA75 -0539 -02EE -030B -01FA -0143 -FE08 -F9FD -FADD -024E -01F2 -04A4 -0018 -075C -FF5C -01D6 -FD75 -088E -0CD2 -FE60 -07A2 -FA3B -F6E8 -FF67 -F4B4 -0BCF -186E -D498 -53F0 -054B -05E2 -03F8 -F9D0 -0453 -0891 -FA46 -F6A3 -0902 -066A -0494 -0350 -017C -FDAB -0474 -01E6 -FA0A -1038 -F339 -FD75 -FD9E -01AA -FF67 -0426 -031A -0481 -0102 -FD88 -023C -FF63 -FD95 -FFE0 -013D -FE56 -FF79 -FAA1 -059F -02CD -027F -01DC -015F -FDFC -FC49 -01DE -0283 -FBFB -05D9 -009C -0744 -FE57 -028F -FD4B -0894 -0C44 -FC67 -0674 -F9EC -F6EF -FE7E -F43E -0C78 -1948 -D51B -49F2 -E2AA -0604 -03FB -F9B1 -02F6 -07CA -FA6D -F6E4 -08FB -0695 -02B7 -038A -0128 -FD50 -04A5 -021C -FAA0 -1015 -F479 -FD7F -FD8B -008A -FFD5 -03BF -FFBA -01F4 -015E -FD69 -017C -FF7B -FDB8 -0040 -0190 -0181 -01F6 -FAC3 -05B6 -02DD -0271 -017D -011B -FDA2 -FBE3 -040E -0228 -FBD3 -056F -FF3F -01B9 -0271 -02E3 -FD09 -084E -0B39 -FB89 -066B -FA60 -F6E6 -FE61 -F433 -0CE5 -1C1E -D4E7 -5661 -E241 -0340 -03F1 -F8F9 -056F -076D -FB1F -F6DA -0988 -0663 -0293 -03D3 -0194 -FD79 -04BE -0377 -FA90 -0F8B -F4CB -FCFE -FE2B -00FC -FDBC -0401 -FF1B -03A2 -014F -FDE4 -01A2 -FF59 -FE7D -FE79 -017C -016A -0084 -FAC1 -05B3 -0235 -FF00 -FC8B -FE29 -01C5 -FBE3 -048C -02B0 -FC58 -0517 -FEAC -05BC -FD35 -0374 -FDAC -08A1 -0AED -F5F5 -0604 -FBC5 -FA48 -FEBE -F40A -0D68 -1F67 -D5C2 -6CE9 -E091 -0007 -040F -F8EF -0661 -06D6 -FB4A -F691 -08E8 -0687 -01CA -FBA1 -0167 -FD82 -FE16 -02F4 -FEF5 -0FD0 -F5A7 -FC18 -FEC4 -FF53 -FE6B -044E -FE6F -FD4D -00FB -FE75 -0188 -FECC -FED0 -FE45 -00F8 -00BD -0092 -FB10 -05F3 -0226 -027D -FEF8 -FE3A -FD2D -FBE4 -04A1 -02C0 -0430 -03DB -0141 -057A -FBC2 -032A -0470 -099C -0AEE -EE86 -0531 -0BFD -FC18 -FF4F -F3BF -0C47 -1EEC -D5E9 -7268 -E134 -FF62 -03F0 -F8A9 -05FB -06C5 -FB82 -F685 -09B8 -06AD -0223 -FBDF -013A -FDB7 -0463 -02D0 -F9A5 -0F50 -F4C6 -FEE1 -FE2B -0220 -0060 -0427 -FEFE -FD1B -0078 -FDE6 -01EB -FE6C -FF16 -FE19 -012B -00D1 -00A1 -FB49 -0576 -0203 -FEB8 -FEFA -FDD8 -FD30 -FBFD -040F -02E6 -03E3 -0433 -00E3 -05FB -FC20 -02F1 -FDF9 -09A1 -0B5B -F0CD -0586 -0C47 -FC4B -FFFE -F4A3 -0C33 -1EC2 -D671 -7787 -E0FB -FF7C -043A -F92D -0383 -06BE -FB68 -F6AE -09CE -0737 -01BE -FC0F -015F -FD97 -03DD -0181 -F9B1 -1024 -F505 -FC5A -FE45 -01A0 -0169 -0408 -FF5E -FD29 -007E -FE12 -01FB -FE7C -002F -FE07 -00D5 -009E -0065 -FB3F -05B5 -0230 -FEFF -FE9A -011F -FD3A -FC01 -03E6 -027E -0405 -038A -007D -05FB -FBD3 -02FD -047F -0973 -0C03 -F066 -063D -0C8D -FBFE -002D -F45F -0BE0 -1D53 -D647 -7924 -E145 -FFFF -0462 -F9A3 -0463 -0728 -FB39 -F79B -0946 -06C9 -0196 -029F -0134 -FDB9 -0419 -02DD -F957 -0F7D -F404 -030C -FE00 -01CB -FF4B -0406 -FE93 -0383 -FDC0 -FDB5 -027E -FE72 -FFBE -FF48 -00E8 -00AD -FD41 -FB1B -0586 -0206 -0220 -FE6D -FD86 -FD7E -FC29 -0377 -02C7 -FD12 -0375 -005E -059E -FC6C -02DB -FE7B -09D0 -0C82 -F075 -059E -FB77 -F66A -0019 -F494 -0A5C -1B1D -AC9E -6589 -E441 -019B -048D -FA0B -03DE -0715 -FBA0 -F749 -094B -0665 -04C0 -0214 -013F -FD7D -0464 -029F -F9D9 -1023 -F3FE -FD27 -FDD6 -01C1 -FF85 -03E3 -FF3F -0362 -FD43 -FD72 -019B -FEA1 -004E -FE87 -0143 -012C -01DD -FAE1 -0607 -02B6 -0229 -FF71 -FE34 -FDF1 -FB8A -03D5 -0294 -FC22 -03E8 -FFB3 -FC46 -FCA4 -0236 -FD83 -0876 -0CC5 -F232 -F78E -FB09 -F796 -FD06 -FD10 -0B4E -1A08 -D171 -5CDC -E3E3 -026C -0482 -FA28 -0408 -078A -FADA -F7F4 -087E -0605 -04B9 -0269 -017B -FE1F -048D -026F -025B -0FC9 -F3A8 -FD35 -FDCB -01E8 -FF06 -042C -FF76 -0380 -0081 -FD6F -0219 -FECC -0035 -FED3 -0154 -0137 -01A6 -FAE8 -0679 -0282 -0219 -0168 -FEAF -FE1E -FBC4 -04AB -0261 -FC7E -0455 -FF25 -FC61 -FCFF -02B4 -FDE5 -08BD -0BAF -F119 -F68F -FA84 -FAD9 -FDB5 -FAB8 -0BB4 -1C09 -D1C1 -5C3B -E269 -0287 -048A -F9F2 -0622 -0786 -FAC2 -0A5A -07ED -0602 -04AF -03BC -01B5 -FDA9 -0463 -0365 -FAB7 -1011 -F49B -FD16 -FE7D -017C -FD5F -042A -FF4B -0314 -00E1 -FE0A -01B9 -FF97 -0029 -FE80 -0152 -00BD -019F -FAB6 -0662 -0273 -FF7A -013F -0015 -FDDA -FB9B -0502 -029E -FC75 -0398 -0047 -059A -FC82 -02E6 -04A0 -FBF4 -0B46 -EF61 -F7BD -FB0C -FB8D -FE23 -0546 -0B61 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_i.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/decimated_range_i.npy deleted file mode 100644 index 1ee45d0f8763394b7a0fbb2c41c34bcf2b25d185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 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 O^Q-y4lKuEy_`d<;4mAz{ diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/detection_mag.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/detection_mag.npy deleted file mode 100644 index f78732579e6d474d3bce3c85ae4cf01ddb5ad1ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 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 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/detections.txt b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/detections.txt deleted file mode 100644 index ac091f5..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/detections.txt +++ /dev/null @@ -1,361 +0,0 @@ -# AERIS-10 Golden Reference Detections -# Threshold: 10000 -# Format: range_bin doppler_bin magnitude -0 0 35364 -0 1 16147 -0 15 11821 -0 16 24536 -0 17 11208 -0 31 10122 -1 0 25697 -1 1 12174 -1 15 13421 -1 16 20002 -1 17 11568 -1 31 11299 -2 0 16788 -2 16 20207 -2 31 10711 -3 0 29174 -3 1 13965 -3 15 13305 -3 16 31517 -3 17 13478 -3 31 14101 -4 0 41986 -4 1 19241 -4 15 21030 -4 16 39714 -4 17 17538 -4 31 20394 -5 0 23766 -5 1 11599 -5 15 14843 -5 16 18211 -5 31 12009 -6 0 42015 -6 1 21423 -6 15 21018 -6 16 47402 -6 17 22815 -6 31 22736 -7 0 32152 -7 1 15393 -7 15 14318 -7 16 28911 -7 17 13876 -7 31 17156 -8 0 11067 -10 0 18848 -10 15 10020 -10 16 20027 -10 31 10048 -11 0 65534 -11 1 37617 -11 2 14940 -11 15 43078 -11 16 65534 -11 17 39344 -11 31 45926 -12 0 58975 -12 1 22078 -12 15 34440 -12 16 59096 -12 17 22512 -12 31 28677 -13 0 38442 -13 1 29490 -13 15 37679 -13 16 44951 -13 17 27726 -13 31 39144 -14 0 52660 -14 1 27797 -14 2 13534 -14 15 39671 -14 16 57929 -14 17 24160 -14 31 31478 -15 0 30021 -15 1 12219 -15 15 17232 -15 16 29524 -15 17 13424 -15 31 17850 -16 0 17593 -16 16 24710 -16 31 13046 -17 0 17606 -17 1 11119 -17 16 13182 -18 16 15914 -19 0 55785 -19 1 29069 -19 15 29418 -19 16 55308 -19 17 27886 -19 31 30649 -20 0 49230 -20 1 24486 -20 15 21233 -20 16 45472 -20 17 21749 -20 31 21614 -21 0 26167 -21 1 13823 -21 15 10487 -21 16 29034 -21 17 15861 -21 31 10454 -22 0 12791 -22 16 22520 -22 17 11384 -22 31 11790 -23 0 29337 -23 1 17065 -23 15 14174 -23 16 39414 -23 17 23310 -23 31 17173 -24 0 16889 -24 15 15710 -24 16 22395 -24 31 15003 -25 0 65535 -25 1 40375 -25 15 54011 -25 16 61127 -25 17 38944 -25 31 48889 -26 0 46367 -26 1 39852 -26 15 29630 -26 16 53587 -26 17 40655 -26 31 34936 -27 0 65535 -27 1 65535 -27 15 64456 -27 16 65535 -27 17 65535 -27 31 58334 -28 0 65535 -28 1 57641 -28 15 65535 -28 16 65535 -28 17 54928 -28 31 65535 -29 0 65535 -29 1 44117 -29 2 13478 -29 14 11179 -29 15 65535 -29 16 65535 -29 17 45898 -29 18 10817 -29 31 60442 -30 0 44530 -30 1 36909 -30 2 14573 -30 15 43430 -30 16 51839 -30 17 37271 -30 31 47866 -31 0 40957 -31 1 52081 -31 2 12755 -31 15 42794 -31 16 41071 -31 17 50472 -31 18 11556 -31 31 43866 -32 0 35747 -32 1 19597 -32 15 25173 -32 16 39213 -32 17 21782 -32 31 29106 -33 0 34216 -33 1 41661 -33 15 42368 -33 16 38638 -33 17 40522 -33 31 45908 -34 0 36589 -34 1 17165 -34 15 16488 -34 16 26972 -34 17 12089 -34 31 13576 -35 0 65536 -35 1 42536 -35 15 61612 -35 16 65536 -35 17 43084 -35 31 60807 -36 0 55831 -36 1 26499 -36 15 28393 -36 16 50059 -36 17 24420 -36 31 23905 -38 0 52721 -38 1 33692 -38 15 32463 -38 16 53145 -38 17 37178 -38 31 30632 -39 0 32288 -39 1 19461 -39 15 20183 -39 16 27198 -39 17 16723 -39 31 14041 -40 0 47793 -40 1 29861 -40 15 23082 -40 16 43109 -40 17 30298 -40 31 31219 -41 0 65536 -41 1 57642 -41 15 52984 -41 16 65536 -41 17 57420 -41 31 57035 -42 0 46393 -42 1 24862 -42 15 27123 -42 16 44734 -42 17 25836 -42 31 33316 -43 0 65535 -43 1 43056 -43 13 10481 -43 14 22074 -43 15 24792 -43 16 39506 -43 17 36481 -43 30 24870 -43 31 39062 -44 0 65535 -44 1 65535 -44 2 19166 -44 3 21321 -44 13 32864 -44 14 41461 -44 15 65535 -44 16 65535 -44 17 58493 -44 19 13967 -44 29 29756 -44 30 54069 -44 31 65535 -45 0 65535 -45 1 58886 -45 14 22013 -45 15 65116 -45 16 65535 -45 17 65535 -45 29 13068 -45 30 25759 -45 31 61393 -46 0 53411 -46 1 44267 -46 15 30631 -46 16 58196 -46 17 36338 -46 31 28840 -47 0 54574 -47 1 35574 -47 15 38960 -47 16 46623 -47 17 32070 -47 31 40091 -48 0 22302 -48 1 10865 -48 15 13917 -48 16 18042 -48 31 10930 -49 0 49013 -49 1 28270 -49 15 25242 -49 16 41969 -49 17 24924 -49 31 26704 -50 0 43858 -50 1 35227 -50 15 39737 -50 16 39085 -50 17 36353 -50 31 38658 -51 0 33868 -51 1 23364 -51 15 23348 -51 16 33246 -51 17 24398 -51 31 27415 -52 0 24500 -52 1 10467 -52 15 13661 -52 16 21073 -52 17 10681 -52 31 10164 -53 0 46806 -53 1 31121 -53 15 34423 -53 16 44568 -53 17 28497 -53 31 35229 -54 0 49713 -54 1 32292 -54 15 40878 -54 16 54060 -54 17 34252 -54 31 43616 -55 0 25597 -55 1 13662 -55 15 13184 -55 16 20525 -55 17 10363 -55 31 12295 -56 0 53620 -56 1 23575 -56 14 12578 -56 15 34783 -56 16 64499 -56 17 32442 -56 31 32139 -58 0 65535 -58 1 35008 -58 15 43324 -58 16 64959 -58 17 35348 -58 31 39154 -59 0 13238 -59 1 11374 -59 14 16623 -59 16 22346 -59 17 12583 -60 0 31259 -60 1 17900 -60 15 19638 -60 16 26331 -60 17 12543 -60 31 18056 -61 0 14596 -61 15 13600 -61 16 23597 -61 17 10681 -61 31 14915 -62 0 22096 -62 1 10515 -62 16 23642 -62 17 11146 -62 31 10180 -63 0 58324 -63 1 25269 -63 15 32920 -63 16 54165 -63 17 27625 -63 31 29816 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_input_realdata.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_input_realdata.hex index a551c9c..3ba8384 100644 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_input_realdata.hex +++ b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_input_realdata.hex @@ -1,2048 +1,24576 @@ -EF32EC94 -FFA2F5B1 -0565026F -F717FB11 -07B8F070 -FE880A4B -0EB3F787 -00A20DDC -06C10268 -01530027 -046E01C3 -0D7D1884 -EF1EF4A5 -038DE2B2 -17F3057F -0344F2C5 -FA2FFC8E -0614F929 -FE78FAB8 -0CC2ED5D -0C5AF46B -0AABFE0F -FDAFF95B -0E73FF11 -FD5E06F8 -120BDC15 -F941E0DE -4BA3D1DE -2721B46F -E7274388 -D694F568 -B58A0364 -059EEDD1 -0155D699 -0BDD078F -D483EB8E -F38912FB -FF3501F5 -E9460B00 -1002FFE4 -05B9EA6A -E202E506 -169E04F9 -1191EA7F -D2453AB8 -1FB2DCE1 -FA40E29C -F3B41B49 -09EB01BC -F8C813F0 -20A4048D -FDEA140C -F8810668 -F96D1A7A -0917E38F -07D9F9D8 -0B3AEC8D -01ECFDE5 -1438EA8F -010EFBEC -0F1A01FF -027DF691 -056BFA0C -114DF1D7 -F288EF76 -FF36F581 -064E026D -F764FA48 -0701F242 -FF450A13 -0C39F6FA -02670D41 -05FB0075 -020200E0 -052F0358 -13A51948 -ED42F381 -04A6E114 -17B20AE7 -00D6F17F -FA1CFD67 -037CFA69 -FDCBFD8E -0AF4EC91 -0C37F53E -0B95FD68 -FCD5FAE7 -0EC8FE8D -FDE50675 -10A8DB88 -F940E2C9 -4A7FD060 -2894B549 -E7314180 -D424F987 -B6590410 -02E5EC51 -00AFD79F -0B1606B6 -D231EBE9 -F4931080 -FE53FFB1 -E8C80A42 -0FA80097 -076FEA0D -E17FE476 -16E2078C -13E4E23F -BDFA5009 -2444DFA5 -F5A2E1BF -F52A1D01 -0875FF32 -F8CC1364 -21CB051A -0054153F -F8C803EE -F99C1C56 -0933E24E -0635FB51 -0C97EE4C -00D4FCFA -128CEBA2 -03CFFC53 -0DF90039 -008BF89F -06F2F9B3 -0F69F2A7 -F4D8F15E -FEFBF534 -071A00EB -F891F9B2 -06F0F2A2 -FFAC0AC7 -0963F67F -03AB0C7B -03A2FF01 -02430145 -05D703C8 -1769169E -EB7FF2C1 -03DADF13 -1AAF0C6D -FF11EFD6 -FABDFD9D -02B9FB50 -FF0DFF82 -0A54EDA6 -0D3EF65A -0BCEFE33 -FE58FD06 -0D0DFEE7 -FE740743 -0F51DD24 -F85AE3AF -49CACFE9 -2D0CB3D3 -E5393D61 -D6EFFCA0 -B6F903B7 -001EEBEE -FF27D65B -0AE1065E -D14FEB4E -F4660DCF -FDD4FE8E -E96E0828 -0F9801BD -08F0ED06 -E164E2BE -14080974 -14DAE244 -A49353F0 -25DFE5C1 -F5B7DE31 -F45D1F40 -0A69FE4E -F83B1248 -21EE0621 -020E164D -F966040E -F93A1CB5 -0873E2D2 -05FEFBFE -0B10F0AE -01D6FC1F -11E1EBE1 -07E2FFA3 -0DD00002 -FEFCF9D7 -06C9FAB1 -0D49F28D -F69CF265 -FD9BF42C -07890000 -F97BF8D6 -06F6F40F -FFE30BBC -072FF6B8 -04C70AE9 -0320FDE2 -025B01B9 -07A70414 -19E41188 -E814F2E6 -01A0DEF3 -1F2D0CE1 -FD71F02B -FB9FFCE7 -024BFBA3 -021D0125 -0A28EEC3 -0F41F773 -0BBBFF8E -FF12FF5F -09F0010A -017F084B -0DE3DB08 -F930E4B9 -4A05CF0B -3005B3EC -E44A399B -D930FDF3 -B8FA02BF -FE76EA95 -FD96D69C -0B8A077D -CF47EAB5 -F3D60BE3 -FDADFCAE -E9920817 -10B7007B -0A03EFCA -E3CCE2C6 -10C308F3 -17D8DE7B -85D14E57 -21E8ECCB -F5B5DB42 -F5B021D6 -0AF9FCA5 -F67D11D3 -23590803 -01E716A9 -FADF0517 -F8B71B4D -0664E39B -05F5FC28 -073FF297 -0346FC7A -0FA0EA9A -0B2E0560 -0F2FFE75 -FC5AFA7C -0660FB1F -0A89F23B -F817F38C -FD2AF414 -070CFF6F -F9FAF925 -06D1F40C -FF790C38 -068FF6A7 -04E40A1F -02C2FDCA -032200EF -08C8039F -19930FD5 -E71AF398 -00BBE01D -217F0D57 -FC48F019 -FCBAFD2E -02A4FCA9 -02ED00BF -0A11EF7A -0FFBF74D -0AB5FFA6 -FF550072 -089D01A4 -02810921 -0DECDC93 -F968E4C3 -4980CE22 -3180B29F -E4D1386B -DC29FF2A -B943025E -FCAAEADE -FCA6D58E -0B100745 -CFA2EA17 -F3E40B83 -FDB5FC9E -EA0E0792 -10AB0090 -0B0FF2A6 -E620E163 -10600928 -1C91DFA7 -80004806 -1DFBEF91 -F5C8D936 -F32A225B -0C6CFC43 -F5BB1109 -22C3086E -025D16ED -FAD50602 -F8801B68 -0600E3FB -069DFBB3 -0505F2E3 -03FAFCE7 -0F4DE97B -0B6407C2 -1041FEB9 -FBC7FA04 -05D5FC26 -09CFF1DD -F7DEF483 -FCDBF409 -071C00BC -F9FCF9B2 -069EF354 -FFB20D19 -083BF68D -046E0BA0 -042FFF0D -02E90123 -081501EA -173A0FF2 -E77EF53C -006AE1EC -21990ADF -FDBBF1E0 -FC82FD75 -041EFBFE -0348FF8E -0AD8EF1A -0FC1F621 -0A35FFE9 -FF33FF39 -085F02D0 -03420A35 -0F47DA76 -F9B4E377 -4A67CE98 -2F23B409 -E56D3CA6 -DBF7FC45 -B7AF01AB -FFB5EB86 -FD79D589 -0BB4084F -CF9DEA57 -F3A50DF7 -FF28FCEB -EB0108CE -121DFFB9 -0A4AF17E -E6D8E415 -116107F0 -1D34E358 -8B8A3A9D -18C6EB83 -F57EDADA -F37B20E1 -0BE0FCB3 -F5641130 -2280085A -01261542 -FA020623 -F8221A27 -0630E475 -07C6FAB7 -04E0F0CE -0314FD4E -10DAE98B -074406F1 -113A002A -FC12F93C -0577FBFF -0A29F073 -F6BBF667 -FDA8F464 -066C0199 -F8E0FAC9 -06F8F1EC -FF0D0C6D -0B0FF6E8 -03070CC0 -05CE018A -027F006D -06DD0196 -12511309 -EB0BF61F -0155E3CD -1F25074F -FFE6F2E2 -FC36FDAA -0627FBAA -00E5FCDF -0C27EEA2 -0DDEF495 -09F1FF57 -FE0FFC74 -0A6101EF -01CD09E7 -117EDC37 -F957E1E5 -4A74CF6C -2C14B3F1 -E67841AD -DB83F9B0 -B4E700FB -0246ED55 -FE2AD4CB -0AEB083B -D21FEA48 -F40210D0 -FFB1FF86 -EAFB0A0B -1179FF7F -0829EF8C -E5F0E425 -137C06E4 -1AB4E967 -ABF5310F -16E1E624 -F5ABDE24 -F1841E9D -0B76FECD -F6AE1214 -207505FB -FFD11442 -F91E0716 -F8D119C1 -06FAE46F -0948F9AF -0638EE15 -0200FCE5 -12E0EA84 -027301F7 -103801EA -FEC2F7F7 -04F9FB84 -0CB1F09C -F67DF89F -FEB7F55D -05840359 -F717FB8F -0699F145 -FE500A63 -0DF3F770 -01680D85 -07C70279 -01E60047 -05A8013D -0F2C1758 -EE72F58F -024EE478 -194C060F -0246F440 -F9EDFD89 -0586FA87 -FEB2FB88 -0BB5ED9E -0C9DF4B5 -0A41FEB2 -FCB5FA32 -0DA5000A -FF120759 -125EDB9A -FA6FE1B4 -4BB0D02E -27A7B5A6 -E7EC443E -D6B6F662 -B4A902CD -0546EC25 -001AD613 -0B8D0747 -D308EB82 -F36911C6 -FF9500B5 -E9BE0ACE -104CFEBB -05D5EA13 -E2F8E55F -16380380 -1216E8CE -CA9538AB -19B6E049 -F5AEE4B9 -F3C31C9A -09000153 -F7FB1462 -204F0491 -FDFE1394 -F91A0625 -F8C21A01 -0887E3F4 -098DF9B4 -093FEC66 -00ADFD69 -1432EC5A -0080FD45 -0F6C01AA -0171F6F3 -04E0FB19 -0FE1F1DB -F6B1F9B9 -FF7CF677 -05A002DE -F64EFBA5 -06BDF0E3 -FDB7086F -0E9EF705 -00F20DAB -073C028F -01BB005C -041A0200 -0E1A19F6 -F124F498 -03DAE2F2 -161B0515 -032DF361 -F9BCFC98 -0534F9D1 -FD51FB19 -0BF0ECC0 -0C2CF47A -0A6EFDF6 -FC76F921 -0FBBFDDA -FC28059C -1126DDBD -FA0EE226 -4B49D091 -26B4B4CC -E89A44C0 -D3EEF6EE -B5270582 -047AEDAD -0121D756 -0AF2067C -D3D1EC19 -F41C120A -FE4F0284 -E87E0BE7 -0E5FFF6E -0439E928 -DF35E599 -17110455 -0C91EA53 -DB3E4300 -21E6DC06 -F7EEE625 -F5891BA2 -08FD0125 -F94D153C -206002AE -FE2513D5 -F85705CB -F9F41AE9 -0941E345 -099FFA37 -0BE0EB66 -00F5FD53 -15E2EC91 -00B2FAC5 -0E4901CC -037FF6D7 -04A7FA01 -11C4F1B3 -F778FA3C -FFE1F5A4 -05EE02D1 -F6F1FA7F -065BF1C0 -FE18083B -0D28F66C -010F0DAB -062300CD -007B011A -042F02FC -11921B48 -F13AF2F2 -0467DFF4 -137607B6 -02A3F303 -F8E3FCEE -0340F9E0 -FC65FD4D -0B6EECF5 -0C62F5DD -0BC1FDA6 -FC4DF9F2 -10F2FCDD -FAC9040F -0F2EDD52 -F900E3AE -4AE1D0B7 -25B2B4FD -E8AD42B4 -D0F1F7C3 -B6A60736 -03B0EBD8 -01BFD897 -0B040518 -D213ED66 -F4AF1046 -FD4E0089 -E78B0B51 -0DC1001C -0449E7B4 -DC84E679 -15E40650 -054BE7CC -D41757D5 -2713DB40 -F713E6CF -F8D81A8C -07A600F9 -FAEA15DE -21F402F3 -FFD21512 -F8C203F9 -FA561C81 -09EEE22F -0880FC51 -0E11EC99 -FFEAFD79 -16D3EDCB -01EAF8F4 -0D1001D3 -0350F87F -054DFA40 -120FF339 -F912FAC4 -0002F558 -06A2014B -F6DEF8C9 -0628F382 -FF4607CD -09B0F5E3 -02980D57 -0337FEA4 -00970206 -05660571 -17661A1D -EE67EF41 -0537DD5D -13690C65 -000FEF10 -F8C3FCF8 -0110FB28 -FC0FFFB1 -0A60ECD2 -0C2BF6A1 -0CD5FDA3 -FD63FBC5 -11D4FC2A -FA680302 -0D4DDF68 -F895E567 -49AAD00B -2A01B2CD -E7A73D3A -D08CFC69 -B82806D9 -FF13EBBA -0086D858 -09CE044C -D243ED36 -F5320C71 -FBFDFEFA -E6BC08F5 -0C7501D9 -05F0E859 -DB19E2A3 -143E07D9 -0471DCE9 -B91E6E39 -2DD8E342 -F6F8E412 -F9DF1E36 -092EFF10 -FA6514FF -229803A9 -026F178A -F91602AF -FA771E78 -09BBE19D -055FFDD2 -0F5FEFFF -0003FB6C -14B4EF45 -07DBF92A -0AE4FF9E -01AFFB8C -0640FA0A -109BF512 -F9B3F9A4 -FF5CF485 -073B005E -F7DAF856 -0613F390 -FF400953 -0792F636 -03CA0C0C -0310FE9D -010C0214 -06210470 -19BA15D0 -EBB0F020 -02D4DD4F -177D0D1B -FEC6EF83 -F875FD78 -008DFBE4 -FDA40154 -09B7EE4B -0D32F769 -0CAFFE97 -FE3EFD93 -0ECBFD65 -FD490451 -0D77DD5F -F946E5F8 -4920CF29 -2C3DB312 -E62A3BAD -D357FD73 -B8ED0530 -FF0BEA55 -FED3D75E -0A960555 -D073EC4E -F44D0B50 -FCC0FCE6 -E7360731 -0D3A0112 -0711E9A9 -DD22E341 -1135076A -0831DD0D -9FD96726 -2907EB18 -F607E234 -F9DC2013 -09B0FEFD -F9DA1464 -22FA05FD -02F5176B -F9F90373 -F9651D7B -0868E2E0 -0562FD7A -0C9FF2BA -0193FC0C -12ADEE91 -0AF9FDC6 -0C96FE40 -FEE8FBD5 -0658FB1B -0DADF455 -FA3CF9DF -FF37F48E -06D5FFE2 -F82EF8D2 -05C6F35D -FF5509E2 -07E1F651 -04360B77 -028EFE2E -0249015F -072C045D -198513F8 -EA24F0F9 -0281DF78 -19810D75 -FD86EF33 -F9A2FD56 -0142FC51 -FE960134 -09BBEE4F -0D28F74D -0C32FE87 -FE73FE4A -0DEEFE78 -FE5B05FF -0D7BDE07 -F988E56D -489DCED1 -2E01B1D7 -E68D3A70 -D629FDF3 -B8EB03F1 -FDDCEAB2 -FD74D709 -0AAD052C -D127EBA5 -F4320ACB -FD0CFD5A -E81906E7 -0DD20199 -08D3EBE7 -E038E125 -121506E9 -0D4ADADF -97D560AA -244BEE2C -F4ECE15A -F72D2184 -0A71FDCF -F8C21361 -227A0639 -0345179A -FA2B03CC -F95A1CE6 -0781E2FD -0509FCD4 -0AC3F384 -01A0FBD7 -113EEE05 -0BAAFFE8 -0D48FDFF -FE7BFB1D -0610FB1B -0C0EF3F7 -F9D3F944 -FEB3F491 -07050184 -F7E4F9B4 -0615F307 -FF1F0A9E -0954F66D -03E20BF9 -0486FF0B -029E0154 -07D80307 -17D01470 -EA9EF1F6 -02D1E272 -19A50D37 -FE32F13B -F95FFE07 -01CEFC5B -FE320062 -09E0EDAD -0D18F661 -0BAEFE84 -FDEFFCF9 -0D92FF3C -000506C1 -1042DC50 -F9F5E4DD -493ECEEE -2BDFB2DF -E7293D52 -D676FC33 -B84F0295 -FFD8EA11 -FDECD66D -0AED0578 -D0AAEB69 -F4350CCD -FE31FD43 -E90B0782 -0E92004E -0972EA85 -E260E1F6 -142B0551 -1232DBFF -A1295551 -1D88ED67 -F2C4E2B9 -F5C1206E -084EFF22 -F7101374 -217E0655 -01C21672 -F9E503F9 -F8D51C1A -0754E39C -05F1FC4F -09BDF202 -00C1FD44 -10CEEE08 -08770061 -0E7EFEEB -FEC0FA26 -05DEFB35 -0C6EF3D1 -F887F953 -FE78F4FD -06070251 -F745FADE -05CDF1F4 -FEAD0A73 -0BCDF67C -02FC0CBE -054B008A -02B200B0 -07900250 -131114A3 -EBD2F428 -022AE4D3 -1AB709CE -FFB6F214 -F9E0FDFF -03C3FC25 -FE2DFD2D -0AE9ED3A -0C53F453 -0AB7FDAB -FD37FADE -0D44FFFF -00F30893 -119CDC8B -FA2FE287 -4A1BCEE8 -2A50B2F6 -E80641A4 -D883F953 -B5D9013D -0228EC26 -FE1DD565 -0A4D05FB -D287EABB -F4800F20 -FEBFFF24 -E9BE091C -0F1AFF2B -07C0EAEC -E47EE1EE -1638034A -1641E042 -B49F40C2 -18B4EA26 -F316E458 -F2422045 -08A6FFA7 -F6A71397 -1FCD057E -004315A9 -F8D00540 -F9211AB9 -0714E472 -076BFB8C -0876EFA1 -00D4FD1C -11C5ED2D -037DFFA4 -0F6700F3 -0082F875 -058DFB6D -0DD0F2C0 -F702F9E1 -FEDAF5AD -05630306 -F6C8FBAE -05D0F162 -FE5E0998 -0D79F70B -018F0DA0 -078E01EB -022900C2 -062B016C -0FE21779 -EF31F544 -02A4E4AB -17E40731 -0198F420 -F8FEFD88 -047BFADE -FDBAFB9C -0AE5ECB9 -0BF9F470 -0A1AFE23 -FC97F9C7 -0E82FFB5 -FFBD070F -1237DBEA -FAAFE201 -4AA5CF7F -268CB535 -E8A04436 -D617F745 -B597035F -044DEB58 -FFF2D665 -0B600656 -D2E9EBCB -F4241158 -FF9000A7 -E9870A4D -0F2FFE30 -0617E906 -E23BE469 -17590315 -1263E643 -CCC03D79 -1A4FE288 -F3C4E6B8 -F3D21D26 -08070143 -F80114F7 -1FC503D4 -FE81142F -F8C605DA -F91F1A29 -0853E411 -092AFA7A -09EEEC94 -002FFDD1 -1437ED2C -0086FCEE -0F0601B7 -0246F768 -04EAFAE7 -0FCDF234 -F6A0FB1B -FF75F66D -05DC02D8 -F5C5FBA7 -0625F1A0 -FD9F0774 -0E29F6D0 -01250DAE -062B00F9 -01E600CB -047F02CB -0FBA1AEA -F21BF309 -04C3E224 -13050747 -02B4F322 -F8AEFCCD -0378F9FA -FBE1FBF4 -0AB7EC42 -0B8FF50A -0A98FC73 -FBE7F8E7 -11C4FCC8 -FB2E04A0 -0F7BDEAE -F998E27B -4A7DCFEA -2577B4C8 -E9414320 -D163F70F -B6E00650 -035FEC94 -016AD865 -0A6B04F7 -D355ED0A -F50210D9 -FDAB021D -E7CD0BD3 -0D4CFFBE -043FE724 -DD83E4D0 -1879044E -0827E59D -DD72516F -2468DC9C -F541E947 -F73A1BD4 -073C00E5 -FA5B168F -20D201F3 -FF1914D3 -F8280485 -FAC21BEE -0987E272 -0890FBE5 -0D16EBB1 -FFB2FD3A -1698EE30 -0064F941 -0CC601CF -048BF75C -04DBF9D4 -1249F37A -F719FB94 -FFA6F653 -06080342 -F653FB59 -0659F24E -FE0B0737 -0D55F62A -008E0E4B -05C60127 -01150165 -03E902F4 -10E21D44 -F39FF35B -066FE013 -113108BE -02C4F4A4 -F8A2FDB0 -02B8FA09 -FB58FD55 -0AF3ECA0 -0BE4F5ED -0B90FD14 -FC44F999 -1292FC3B -F955032E -0E6EDF70 -F8C0E4FC -4AA0D0C3 -2411B694 -E972422E -CE83F822 -B85108EF -0359EC18 -0275DA17 -0AB1045C -D237EF31 -F5641070 -FD5501BB -E7A10BC9 -0D09000A -035CE66A -DAA1E802 -17D40768 -02E6E9AC -E1A360A5 -29BCD782 -F594E96E -FA8618F6 -06DB0106 -FC341679 -21CB0166 -FFBA1528 -F89303C6 -FB501CDA -0AD1E1A7 -0942FCF8 -0F21EB34 -FF7CFDC7 -1858EE3C -012EF776 -0CB202CF -055AF831 -05CEF991 -1373F3FF -F6E7FA98 -00DDF622 -07B702C5 -F7AFF95D -068EF276 -FEBB06FC -0C41F628 -FEB70D8D -0243FF28 -008601A7 -03ED0536 -13411E89 -F36AEFB0 -07AADCEB -10AD0CCC -017FF1F8 -F721FCFD -01ADFA87 -FAB0FF22 -0C65EE16 -0C07F684 -0CAAFE41 -FC85F9BA -12C1FC86 -F6660312 -0A8AE14B -F3CEE580 -4BC7D8A7 -2791BACA -E86F2E5C -D167F80A -BBE004E1 -0358EC7D -0407D86A -08E60385 -D509EC38 -F59C0CE5 -FCCCFF65 -E63809EA -0C660043 -0444E76F -D953E49B -143F0AB9 -FC02E617 -CF0271E7 -30C8DB95 -F7ABE6C6 -FCA91B8F -098DFF89 -FD8C151C -23DE0278 -008E169E -F9AE0251 -FAC91D5B -0B70E11F -067FFDEF -1134EE10 -FF80FC6C -1838F063 -049CF5CE -09CD0214 -0457FAD5 -064CF9F4 -13D7F5CB -F77CFB37 -005EF57A -07720298 -F74BF7E1 -058AF3E5 -FF12066A -09DEF602 -00EA0D60 -01CFFE58 -006F0246 -056305D1 -17A91C5A -F022EDBC -06C5DBF8 -10240F39 -0058F091 -F6F6FDA6 -004EFB13 -FA8C00E4 -0B03EDC5 -0B79F737 -0D62FED3 -FCEFFB7A -1302FC1F -F810025C -0BFDE085 -F5AAE7BD -4C52D55F -2A6CB8B0 -E5E22FDE -CED3FAAD -BCAA057F -003AE999 -02A9D854 -097102BB -D35BECA8 -F53D0A6F -FBF0FDA9 -E6030772 -0B5000B3 -053AE563 -D7BEE353 -14070953 -FB96DBD4 -BD577E82 -31BEE0A6 -F5F6E66D -FD751C2A -08AA0032 -FCD414E1 -23B20328 -01D0180F -F9790127 -FA421E4F -0A78E061 -047AFE6D -11A8F08F -FF66FC50 -168FF1B4 -08EAF5CA -0886FFF6 -0275FCC5 -05F3FA2A -120AF6FE -F848FB7E -0091F56C -077501AC -F7A5F8CB -05A2F383 -FF24077E -098DF611 -01D00CA1 -01BEFDE8 -01B801B5 -06320613 -17B319EB -EEB5EECB -05BCDE98 -125D0FB0 -FE70F026 -F719FDC1 -000FFBE0 -FAE6012A -0A51EDBE -0B55F6D5 -0CFCFEB9 -FD79FBBC -11FEFCAE -F93F0440 -0B56E074 -F545E715 -4B73D53F -2BD4B70A -E5472EEF -D266FA4D -BB6E0360 -0019EAFF -00C6D737 -09280369 -D3D7EB38 -F55F0A70 -FD27FD9B -E65607CD -0C7100BE -0619E6FC -DBF0E0D1 -137E0803 -0140DC45 -B456751A -2C3BE790 -F4F3E575 -FA281F2D -08AEFF0D -FB9A1473 -23820449 -01DD1805 -F9C00228 -FA301D6F -09BCE1E9 -0476FE8F -0FC7F24D -0008FBD9 -1440F10F -0968F853 -0951FF0F -0152FC4C -0649FA7C -10AAF6E8 -F905FBC6 -0020F55E -070F028C -F6E4F9A9 -0537F307 -FE500807 -0B60F6C0 -01570CDF -02D2FEB5 -025C01DD -07370481 -157918CE -EE2AF001 -0370E2F5 -13900E3B -FEEEF180 -F684FDF0 -0036FC16 -FA9CFFD9 -0A4FED7E -0BC0F652 -0C00FE2F -FD58FAE1 -1120FDDF -FC53064D -0F40DE91 -F5CFE5C1 -4BB8D4FD -2A25B7E5 -E6A630A8 -D4E3F8A5 -BB5A00E7 -0220E8BD -006AD5CE -09F10329 -D339EAAF -F51D0C27 -FDB0FD0B -E71A0778 -0C45FECB -07B5E613 -DE33DFB0 -1569046F -07A5DA38 -B7F3630C -23C7EC83 -F286E912 -F8051F73 -083D01BE -FA001515 -21BC050E -011A1748 -F9B102E9 -F9761C7F -08ADE21B -0561FDA7 -0DC3F1BC -0033FE1D -131AF139 -06F8FB1B -0C54FEFB -011DFA39 -05E1FA8C -0FC3F5F1 -F8DDFC27 -FF54F654 -0689036A -F628FB23 -0502F21B -FDF407F9 -0D4BF6C5 -00E70D53 -045FFF64 -033300F6 -072203F0 -1241186E -EF0CF19D -034FE553 -13C30C5A -FF40F1E5 -F672FDFF -015BFB77 -FAB8FD7A -0AAEEC5F -0B1EF49B -0AF0FD03 -FC59F8ED -116DFE7C -FCDD073C -0F7DDE57 -F648E34D -4B6DD498 -291EB835 -E7FD3354 -D6B1F5EA -BA67FF43 -03A3EAC6 -008CD594 -09A203DE -D464EA2F -F5760DC4 -FE44FF5A -E7AE091C -0C99FDF1 -06AEE5FF -E10CDEF0 -184201E0 -0CABDA7A -C60C53F0 -1FB7EA46 -F1A1EB50 -F532207E -07D801B1 -F95C15C3 -209C054B -FFBD1695 -F8DB0354 -F9751B2B -08CCE2F1 -067DFCBB -0CA4EFEA -FFD9FE91 -133FF0D9 -034DFBE5 -0CFD005C -032BF837 -058AFB07 -10F4F588 -F850FC78 -FF31F66C -05DE03FF -F668FB7E -0503F198 -FDC20859 -0E92F73A -00460DE8 -056900B7 -025E010D -067602AC -0FA91948 -F0E4F2E2 -0356E5DB -145A0ABC -0086F374 -F6C6FDE3 -0281FB23 -FB95FC44 -0B14EC8C -0B4DF478 -09CBFD53 -FC2FF85E -10EEFF03 -FD9E075B -1165DD05 -F6A2E23F -4B30D51B -2701B9D2 -E8F334AB -D702F4C6 -BA9D0002 -0504E9B5 -016ED5CA -0B19048E -D400EA9F -F5310FF0 -FF4EFFC4 -E82509A6 -0CFEFD33 -0724E5C8 -E0D0E02F -1949020F -0FA1DE0D -CFC549F2 -1EB4E696 -F1FAEB5C -F5521E80 -076A02F1 -F99E15FA -1F82043D -FE8E15CB -F89003C5 -F9171A96 -0910E2AA -0810FB88 -0C08EDAF -FFE1FF4C -1420EFB3 -0142FBBF -0E0E00C9 -0366F76A -058CFAF6 -1157F485 -F798FCE7 -FFA8F74C -066C040A -F665FBEF -05BCF1AD -FDEF0757 -0EBEF6AF -FFAE0E03 -054D0038 -02050052 -04C602F3 -0F1E1C1E -F401F35F -0640E2F9 -11F00AA5 -0169F3D1 -F745FD34 -0284FA11 -FAF2FB9B -0AC5ECA2 -0B20F4BF -0A62FCA8 -FB89F7DB -1231FDAC -FA0A051A -0D9FDF9D -F5FBE300 -4A5DD4E7 -24CCBB19 -EADB35DD -D37FF508 -BB47038D -04CCEC72 -030DD86C -09E70448 -D486EC40 -F5DC0FDC -FE6C015F -E80B0B7B -0D1FFE53 -04C8E644 -DE71E381 -19EA056D -0980E529 -DF045661 -25B6DC3A -F355EADE -F7EF1C34 -06B7008A -FB431655 -216C01E7 -FE691531 -F87503C7 -FAA81B22 -0A62E241 -08ECFBD3 -0DD4EBFB -FF96FE5C -16BBEF15 -0015F8CA -0C9501D5 -0546F6EF -04FDFA87 -1314F47B -F755FD7B -0038F753 -06230398 -F6C0FAD3 -060DF2B0 -FDA50552 -0E45F684 -FE7D0E5D -040CFFF8 -012D007D -044203B2 -0F651F67 -F68BF241 -08C4E11C -0C140B95 -027AF49A -F711FD28 -015AF9F1 -FA04FD34 -0ABFEC49 -0B63F588 -0A79FC7A -FB6AF7C3 -13F0FBA5 -F7530276 -0CC0E11C -F576E4C2 -4A32D5C2 -2273BB97 -ED0734CB -CE46F627 -BDF007E0 -02FFEA5B -0568DACD -098C01D5 -D451EEA4 -F6750E98 -FD22015C -E7050B3B -0B94FEE0 -0338E3D1 -D921E5EC -1A8F0801 -FE48E542 -EAF06CE9 -2D11D697 -F374ED6D -FB521897 -05F9021D -FD15162C -21EE00F2 -FEC315C3 -F83502F4 -FB981C24 -0B27E091 -092FFDC8 -10E7EAA6 -FE70FFB8 -1955F036 -FF87F59A -0BA502F1 -06C2F77A -0588F928 -14B7F586 -F746FD2D -0014F6BD -069002CB -F68AFA29 -05E0F23A -FDDE0518 -0D1FF59B -FEEB0E4D -0381FED4 -00F20116 -040F045F -10BF1EEC -F5F3F1C9 -0841DEF1 -0CF50B79 -01C3F349 -F6F9FCFF -010DFA50 -F973FDB2 -0AB2ECEB -0B4AF5B2 -0B4FFCC0 -FBE0F7F0 -1406FB3C -F5CF0248 -0A81E1C5 -F4FEE49E -4955D5E9 -23B7BA72 -ECFC3472 -CDEFF775 -BCF20823 -0292ECA6 -047DDB19 -08FF0245 -D484EDEA -F66F0D4F -FC2100B3 -E5D80B97 -0BA6FFDF -0292E536 -D862E61F -1742090E -FADAE7A7 -E3187268 -300CD8FD -F51CEC8D -FCDC19E0 -06CE005E -FDF21650 -23AC00D4 -FFBB15FA -F8C402BB -FBE21C3D -0B9CE134 -081EFDE2 -1109EBCF -FEDEFE45 -1987F021 -00D3F525 -0A280292 -0652F8C3 -0572F9ED -14E6F603 -F68AFCA5 -0080F67D -06C70264 -F6ECF997 -05C1F278 -FDF80513 -0C80F51F -FEA10E58 -02C1FF35 -0015019F -04420478 -11881EC2 -F55DF095 -06E9DE53 -0BF80B85 -01E7F33E -F698FD05 -004EFAA8 -F9C3FF31 -0B22ED60 -0BC1F67B -0B95FD8B -FC88F8A4 -139AFA91 -F6700206 -0B06E176 -F533E601 -49ADD671 -23D9BA45 -ECDF3374 -CD97F8CF -BD8008AD -0283EB00 -04BEDAA1 -091501AF -D402EE65 -F5E70C79 -FBC2FF95 -E57609E9 -0AD8FF9A -0224E424 -D5DAE736 -155F0929 -F60FE6FC -DEF07787 -31C0DBDE -F5A4EBE2 -FDB319A7 -0793017E -FEAE164F -22DE00F6 -00A41617 -F8F7021E -FB951D13 -0B2DE0FB -07A9FED9 -11A8EC84 -FEC6FE95 -19ABF15D -025DF464 -0944026E -05A1FA37 -059DF9EF -1464F664 -F80FFD56 -0084F6F1 -06900231 -F5DDF8D0 -04C9F322 -FDB304BB -0CBDF589 -FF400E2B -0278FE1A -008C0159 -0519057B -12361D53 -F439EF05 -068EE0CD -09EA0C2F -00B4F115 -F5BAFCBF -FFC8FAB8 -F880FF5A -0AB1ECD8 -0B1CF5FC -0BCFFD75 -FC43F863 -14EEFA67 -F63901A6 -0A1EE134 -F536E4A1 -4990D647 -249BB8C6 -EDB5320D -CE54F85A -BE310668 -025BEB1D -046BDB46 -08EB01DA -D511EDAB -F6200B7B -FC07FF1E -E41409D5 -0A35001F -0237E31C -D813E321 -15D50575 -F606DDE7 -DBB67924 -30C4E249 -F51EEEAC -FD041C7D -06F20144 -FDAD1716 -234A0248 -00DB175F -F90D019C -FAF81CB6 -0B10E145 -05EEFF2F -1212EE5D -FE70FE38 -188DF2A9 -0371F419 -081A010C -0571FAB0 -05E4FA7F -14ACF7D0 -F7ABFADF -0088F672 -061A0391 -F4F4F92D -03A0F30D -FC310444 -0DEFF6A9 -FFA70E09 -0461FFB5 -008D00A4 -0505059D -0F071B1D -F39AEFD4 -067EE408 -0B4C0A2B -0229F275 -F622FBC0 -FE69FACA -F8F7FD90 -0AD0EBF3 -0C47F866 -0B3BFDC5 -FC43F8DB -132FFBEE -FA5401E2 -10BEE058 -FADEE494 -4A6CCF41 -2877AC9E -E293405F -D018F030 -BBCA01B0 -04C2EB10 -0514DB9E -0A51037C -D445E9C1 -F5030CF8 -FBDC0043 -E2F2070B -0963FFE0 -05DBE238 -DAA8DF6D -156A0236 -FCC9DB2D -D2786589 -2AB3EAE9 -F6EEEF32 -F8871BE1 -051E0332 -F8D317EE -20B705C4 -FEF71810 -F88502FA -F7FF1D65 -0B6BE441 -06ACFFE5 -118AF019 -00CBFF65 -17A4F39E -027BF768 -0AAA0117 -04CDF8D1 -06FAFAC2 -15AAF839 -F82BFBD1 -FFB2F6FB -05AC02F4 -F532F999 -0434F220 -FCC60533 -0EACF71A -FF200DF0 -0535FF86 -01270087 -055E0529 -0DE41A08 -F416F010 -0552E5A3 -0C5808DC -021DF17A -F643FB8C -0091FAFE -FA0AFCB8 -0A91EC24 -0C2BF660 -0B23FC4D -FC75F719 -1423FC3E -FB1E02BD -10C6DEEB -FCC5E194 -4C23D171 -28D6B249 -E8A5442C -CECDF435 -B8FD02B6 -0387EC51 -040CDAD0 -090F0466 -D3F7EA84 -F4860D34 -FC7500A7 -E3CD09D5 -09D7FFC3 -03C0E28E -DC9BDEA4 -17E4FF3E -0134D97C -DA3E5CDC -2764EB48 -F490F0C9 -F6681DEC -053302B9 -F8DF1848 -20DF05B7 -FE0D17C7 -F7610382 -F7991C0C -0AD0E3E3 -06D0FE7B -10F1EF03 -00DAFF6E -1716F32B -0105F8FB -0B1C0193 -04E9F7FB -05F3FAE7 -147AF749 -F820FC07 -FFD2F7B6 -052F03AD -F58BFAA0 -048AF28E -FC550573 -0FA4F6F3 -FEBD0E47 -0506FFF5 -00DB003F -04FF035F -0CF61C09 -F573F1A8 -05FAE5C1 -0AF4092B -0235F252 -F627FB74 -0112FA4B -FA80FC00 -0A9DEBA8 -0C05F591 -0A0CFBE8 -FC14F6B9 -1429FBEC -FB2702EB -111DDE80 -FA53E14C -4A62D1C1 -2467B4A3 -EEAC3F33 -D048F4D9 -BC8504A5 -0419EA4C -0551DABD -09960375 -D391ECAC -F4F40E73 -FD33017A -E58409B8 -0A42FEBA -0425E1B6 -DB8BDF61 -19E3FFC4 -030EDB50 -E6055C3B -2748E47E -F313F222 -F6841C6E -046A0469 -FA241883 -1FFB0444 -FDEE176F -F7010342 -F94F1C0E -0A66E269 -0885FE19 -1025ECF8 -0047009E -1734F229 -FFA2F933 -0BD80220 -052DF729 -058BFAA0 -1498F66F +0000FFFF +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +FFFF0001 +00000000 +0000FFFF +00010001 +00000000 +00010001 +0000FFFF +00000000 +00000000 +00000001 +FFFF0000 +00010000 +00000000 +0000FFFF +00010001 +00000001 +00010000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +00000000 +00000001 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000003 +00000004 +FFFF0012 +FFFF0004 +00000002 +0001FFFF +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000001 +00010000 +00010000 +FFFF0000 +FFFF0001 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +0000FFFF +0000FFFF +00000001 +FFFFFFFF +00000001 +00000001 +0000FFFF +00000000 +00010000 +FFFF0000 +00010000 +00010000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFE0001 +00000000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +FFFF0000 +FFFFFFFF +00010000 +0001FFFF +00010000 +00000001 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +FFFF0001 +00010000 +00000000 +00010001 +00000002 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0001 +00000000 +00010000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +FFFFFFFF +00000000 +FFFF0001 +FFFF0000 +FFFF0000 +00010000 +0000FFFF +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00010000 +00010000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0001 +00010000 +00000001 +FFFFFFFF +00000000 +00000000 +FFFF0000 +00010001 +00000000 +FFFFFFFF +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +00000001 +0000FFFF +FFFF0000 +00010000 +00010000 +00000000 +00000000 +00010001 +00000000 +FFFF0000 +FFFF0000 +00010001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +0000FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00010000 +FFFF0000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000001 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000001 +0000FFFF +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +0001FFFF +00010000 +00000000 +00000000 +00010001 +00000000 +00010001 +00000000 +0001FFFF +00010001 +0001FFFF +00000000 +FFFF0000 +00000001 +00000001 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000001 +0000FFFF +00010000 +00000000 +00020000 +FFFF0000 +00010001 +00000000 +0000FFFF +00010000 +0000FFFF +FFFF0000 +0000FFFF +FFFFFFFF +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +00010000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000001 +0001FFFF +FFFF0000 +00010000 +00000001 +0000FFFF +00000000 +00000000 +0000FFFF +00000001 +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000001 +0001FFFF +00000000 +FFFF0000 +00000000 +00000001 +00010001 +00000000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00010001 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000001 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +FFFF0000 +0000FFFF +00000001 +00000001 +00000000 +00010000 +0000FFFF +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0001FFFF +0001FFFF +00000000 +FFFF0000 +00010000 +00000000 +00000000 +0000FFFE +00000001 +FFFF0001 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFFFFFF +00000001 +00000001 +00000001 +00000000 +0000FFFF +0000FFFF +FFFF0001 +00000000 +0001FFFF +FFFF0000 +00000000 +FFFFFFFF +00000000 +00010000 +00000001 +00000000 +00000000 +00010000 +FFFF0000 +FFFF0000 +0000FFFF +00010000 +00010000 +FFFF0000 +00000000 +00010001 +00010000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +00000001 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0001FFFF +00000001 +00000000 +FFFF0001 +00000000 +00010000 +0001FFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00010000 +0000FFFF +00000000 +00000000 +00000001 +00010000 +00000000 +00000001 +00000000 +00000000 +0001FFFF +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00000001 +00010000 +00000000 +00000001 +0000FFFF +00010000 +FFFF0000 +00000000 +00000001 +0000FFFF +00010000 +00000001 +00000001 +00000000 +00010000 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +FFFF0000 +00000001 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00010002 +00020002 +000D000C +00030003 +00010002 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000001 +00000001 +00000000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFFFFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +FFFF0000 +0001FFFF +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +FFFFFFFF +00000000 +0000FFFF +FFFF0000 +FFFF0001 +00010001 +FFFF0000 +00000000 +0000FFFF +0001FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000001 +00000000 +0001FFFF +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00010000 +00010001 +00010000 +00000000 +00000000 +00000000 +00010001 +FFFF0000 +00010000 +00000001 +00000000 +FFFFFFFF +00010001 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +FFFFFFFF +00000000 +00000001 +00000000 +00000001 +00000001 +00000000 +00000001 +FFFFFFFF +FFFFFFFF +00000000 +00010000 +00000000 +00000000 +0000FFFF +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0001 +FFFF0000 +00010000 +00000000 +00000001 +00000000 +00010001 +00010000 +FFFF0000 +FFFF0001 +00010000 +00000001 +FFFFFFFF +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +0001FFFF +FFFF0000 +0001FFFF +00000000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000001 +FFFF0000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010001 +00000000 +00010000 +00000000 +00000000 +00000001 +00010000 +00000001 +00000000 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000001 +00010000 +00000000 +00000000 +00000001 +FFFF0001 +00000000 +00000000 +00010000 +00010001 +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000001 +00010000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00000000 +0000FFFF +0001FFFF +00000000 +00010000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +0000FFFF +0001FFFF +FFFF0000 +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +0001FFFF +FFFF0001 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00010001 +00000000 +00000000 +00000000 +00010001 +0000FFFF +00000000 +00010001 +00000000 +0000FFFE +00000000 +00000001 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +0000FFFF +FFFF0001 +00010000 +FFFF0000 +00010000 +00000000 +00010000 +00000000 +FFFF0001 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +0000FFFF +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000001 +FFFF0000 +FFFFFFFF +0001FFFF +00000001 +00000000 +00000001 +00010000 +00000000 +00000001 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00010000 +0001FFFF +00000000 +FFFF0000 +00000000 +00000000 +0001FFFF +00000001 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +00010000 +0001FFFF +00000000 +0000FFFF +00000001 +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00010000 +00010000 +00000001 +00010001 +00000000 +00010000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +0000FFFF +00010001 +00000001 +00010000 +00000000 +00000001 +FFFFFFFF +00000000 +FFFF0000 +00010001 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +00000001 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00020000 +00030000 +00120001 +00040000 +00020000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +0000FFFF +FFFF0000 +00010001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00010001 +00010000 +00000000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00010001 +00000000 +00010000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00010001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0001 +0001FFFF +00000000 +00000001 +00000000 +00000001 +0000FFFF +00000000 +00010000 +00000000 +FFFF0000 +0000FFFE +00000000 +00000000 +00010001 +00010001 +00000001 +00000000 +0001FFFF +00010000 +FFFF0000 +00000001 +00000000 +00000000 +00010000 +00010000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +FFFF0000 +00000000 +0000FFFF +00010000 +00000001 +00000000 +FFFFFFFF +00000001 +00000001 +FFFFFFFF +00000000 +0001FFFF +FFFF0000 +00000000 +00000000 +00000000 +00010001 +00000000 +0000FFFF +FFFF0000 +FFFF0001 +FFFF0000 +00000001 +00000001 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000001 +00010001 +00000000 +00010000 +00000000 +FFFF0000 +00000001 +FFFF0000 +FFFF0001 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00010001 +00010001 +00010001 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000001 +00010000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00010001 +00000000 +00000000 +00010000 +00000001 +0000FFFF +00000001 +00010000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00010000 +00000000 +00010001 +0000FFFF +00000000 +FFFF0000 +0000FFFF +00000000 +00010000 +00000001 +00000000 +FFFF0001 +00000001 +FFFF0000 +00000001 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000001 +00010000 +00010001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00000001 +00010001 +0001FFFF +00010000 +0000FFFF +00000001 +00010001 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000001 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +0000FFFF +FFFF0000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00010001 +00000000 +00000000 +0001FFFF +FFFF0000 +FFFF0001 +00010000 +00000000 +FFFF0000 +FFFF0001 +00000000 +FFFF0001 +FFFFFFFF +FFFF0000 +00010000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00000001 +00000001 +FFFF0001 +FFFF0000 +00000001 +FFFF0000 +00000000 +00000000 +00010001 +00000001 +FFFF0000 +00010000 +00010000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFFFFFF +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00010000 +00000000 +FFFF0000 +00010000 +00000001 +FFFF0000 +FFFF0000 +00010001 +FFFF0000 +FFFFFFFF +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0001 +00000000 +00010000 +0000FFFF +00000000 +00010000 +FFFF0000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +FFFFFFFF +00000001 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000001 +0001FFFF +0000FFFF +00010000 +00000000 +FFFE0000 +FFFFFFFF +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +00010000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00010001 +00000000 +00010000 +00000000 +FFFF0000 +00010000 +00000000 +0002FFFF +0004FFFD +000DFFF4 +0002FFFE +0001FFFF +00000000 +00010000 +0000FFFF +00000000 +FFFF0001 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00020000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFFFFFE +00010001 +00000000 +0001FFFF +00000000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +00010000 +FFFF0000 +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00010000 +FFFF0000 +0001FFFF +00010001 +00000000 +FFFF0001 +00010000 +0000FFFF +00000001 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00010001 +00010000 +00010000 +00000000 +00000000 +0000FFFF +00000001 +FFFF0000 +FFFF0000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000001 +00000001 +00000001 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +FFFFFFFF +00000001 +00000000 +00000000 +0000FFFF +00000000 +00010001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +FFFF0001 +00010000 +00000000 +00010001 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00010000 +FFFFFFFF +FFFFFFFF +0000FFFF +00000000 +0000FFFF +00000000 +00000001 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +FFFFFFFF +00000001 +00000000 +00000000 +00000001 +00000001 +0000FFFF +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +FFFFFFFF +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +00010000 +00000001 +00010000 +00010001 +00000000 +0000FFFF +00000001 +00000000 +FFFF0001 +00010001 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00010001 +00010000 +FFFFFFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000001 +00010000 +00000001 +FFFF0001 +0000FFFF +00010000 +0000FFFF +00000000 +FFFF0001 +00000000 +FFFF0000 +00010000 +0000FFFF +FFFF0001 +00000000 +00000000 +00000000 +FFFFFFFF +00010001 +FFFFFFFF +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +00010000 +FFFF0000 +0001FFFF +0000FFFF +0001FFFF +00000000 +0000FFFF +00000000 +00010001 +00000000 +FFFF0001 +00000000 +0001FFFF +00000000 +00000000 +00010000 +FFFF0000 +00000000 +0001FFFF +0000FFFF +00000000 +00020000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +FFFFFFFF +0000FFFF +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000001 +0000FFFF +00010000 +FFFF0000 +00010000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00010000 +00000001 +00010000 +00010000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +0000FFFF +FFFFFFFF +00000000 +FFFF0000 +00000001 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000001 +00010000 +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +0001FFFF +0000FFFF +00010000 +FFFF0000 +00010000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000001 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000001 +00010000 +00000000 +0001FFFF +00000000 +00000001 +00010000 +00010000 +00000001 +00000000 +00000001 +00000000 +00000001 +FFFF0001 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +0000FFFF +FFFFFFFF +0000FFFF +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000001 +00010000 +FFFF0001 +00000000 +0000FFFF +00000001 +00000000 +00010000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFE0000 +FFFFFFFF +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000001 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00010000 +0000FFFF +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +0000FFFE +0000FFFD +0002FFEF +0000FFFC +0000FFFE +00010000 +FFFE0000 +00010000 +00000000 +00010000 +00000001 +0000FFFE +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +FFFF0001 +00000000 +0000FFFF +00000000 +00000001 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00010001 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00010000 +00010000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +FFFF0000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00010001 +0001FFFF +00000000 +00000001 +00010000 +00000000 +00010000 +FFFF0000 +FFFF0001 +0000FFFF +00000001 +00000001 +0000FFFF +00000000 +00000000 +FFFEFFFF +00000000 +00000001 +00000000 +00000000 +0000FFFF +0000FFFF +00010000 +00000000 +FFFFFFFF +FFFF0001 +00010000 +00000000 +00000000 +00000001 +00000001 +00000001 +FFFF0000 +0001FFFF +0001FFFF +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00010000 +00010000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010001 +00000001 +00000000 +00000000 +00010000 +00000000 +00010000 +00010000 +FFFF0000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000001 +FFFF0000 +0000FFFF +00010001 +0001FFFF +00000000 +00000001 +00000000 +00010000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00010000 +FFFF0000 +00000000 +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0000 +FFFFFFFF +0000FFFF +00000000 +FFFF0000 +00000001 +00000000 +00010000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +00010000 +00000001 +00010000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +0001FFFF +00000000 +00010000 +00010001 +0001FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFFFFFF +FFFF0001 +00010000 +00000000 +00010000 +FFFF0000 +00000001 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00010000 +00000001 +0000FFFF +00000000 +00010001 +0000FFFF +FFFF0000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00010000 +00010000 +00010000 +00000001 +00000000 +FFFF0000 +00000000 +FFFF0000 +0001FFFF +FFFF0000 +00000001 +FFFFFFFF +00010000 +00010000 +00000000 +FFFF0000 +00000001 +0001FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00010000 +00000000 +00000001 +00000000 +00000000 +00010000 +0001FFFF +0001FFFF +00000001 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00010001 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00010000 +00000000 +00000001 +00000001 +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +0000FFFF +00010000 +00010000 +00000001 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00010000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00010000 +00000000 +FFFFFFFF +0000FFFF +FFFF0000 +0001FFFF +00000001 +0000FFFF +00000000 +00000001 +00000000 +00000001 +0000FFFF +FFFF0001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00010001 +00000001 +00000000 +00000001 +00000001 +FFFFFFFF +00010000 +00000000 +0002FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00010000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00010001 +00000000 +0000FFFF +00000000 +00010001 +00000000 +00000001 +0000FFFE +00000000 +FFFF0000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000001 +00010000 +FFFF0000 +00010000 +FFFF0000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +00000000 +FFFFFFFF +00000001 +00000000 +FFFFFFFE +FFFDFFFD +FFF4FFF2 +FFFCFFFE +FFFFFFFE +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +0001FFFF +0000FFFF +00000000 +00000000 +00000001 +FFFF0000 +00000000 +FFFF0000 +0001FFFF +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +0001FFFF +00000000 +00000000 +00000001 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +0001FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +0001FFFF +00000001 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +FFFF0000 +FFFF0000 +FFFF0000 +00000001 +00010000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00010000 +FFFF0000 +FFFF0000 +FFFE0001 +00010000 +0000FFFF +FFFF0001 +FFFFFFFF +FFFF0000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00010000 +FFFF0000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000001 +00010001 +00000001 +00000000 +00010001 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0001 +FFFF0001 +00000001 +0000FFFF +00000000 +00010000 +00000000 +00000001 +00000001 +00000000 +FFFF0001 +0000FFFF +00000001 +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +00010000 +FFFF0001 +FFFF0000 +0001FFFF +00000000 +0000FFFF +00000000 +00000001 +00000000 +FFFFFFFF +00000000 +00000000 +00010000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00010000 +00010001 +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00000001 +00000000 +FFFFFFFF +00000000 +00010000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00000001 +00010000 +00000000 +00010001 +00010000 +00010000 +FFFF0000 +00010000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0001 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00010001 +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +0001FFFF +FFFFFFFF +00000001 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00010000 +00010000 +00000001 +00000000 +00000001 +00000000 +0000FFFF +00000001 +0000FFFF +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000001 +0000FFFF +00000000 +00010000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00000000 +00000000 +00000001 +00000001 +FFFF0000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0000 +00010000 +00000000 +00000001 +0000FFFF +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +0001FFFF +00000001 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0000 +0000FFFF +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010001 +00010000 +00010000 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0001 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00010000 +0000FFFF +00000001 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0001 +00000001 +00000000 +0000FFFF +00000000 +00000000 +0001FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000001 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000001 +0000FFFF +00010000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000001 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +FFFF0000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +FFFF0001 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0001 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +FFFF0001 +00000000 +00000001 +FFFF0000 +0000FFFF +FFFF0000 +FFFC0000 +FFEDFFFF +FFFD0000 +FFFD0000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +FFFFFFFF +00000000 +00010001 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00010000 +FFFF0001 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +0000FFFF +00010000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000001 +0001FFFF +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00010000 +00010001 +00010000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +0001FFFF +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +0001FFFF +00000000 +FFFFFFFF +00000000 +FFFFFFFF +0001FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00010001 +FFFF0000 +00000000 +FFFFFFFF +FFFF0001 +FFFF0001 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +FFFFFFFF +00010000 +00010000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00010001 +00010000 +00010000 +FFFF0001 +00000000 +00000001 +00000001 +00020000 +00010000 +00000000 +00000001 +00010001 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +FFFF0000 +00000000 +00010001 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00010000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000001 +0000FFFF +00000000 +FFFF0001 +00010001 +00000001 +00000000 +00010000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +00010001 +0000FFFF +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +0001FFFF +FFFF0000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00010001 +00000001 +00000000 +00000000 +00000000 +FFFF0001 +0001FFFF +FFFFFFFF +00000000 +00000000 +FFFF0001 +00000001 +00010001 +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000001 +00010000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000001 +FFFF0000 +00010001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000002 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +0001FFFF +00000001 +00010001 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +00010000 +00010000 +00000000 +0001FFFF +00000001 +FFFF0000 +0000FFFF +00000000 +00000001 +FFFFFFFF +0000FFFF +00010000 +00000001 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +00010001 +FFFF0000 +0000FFFF +FFFF0000 +FFFF0001 +0001FFFF +00000000 +00000000 +FFFF0000 +00000000 +00010001 +00020000 +00000000 +00010000 +00000000 +00000000 +00010001 +00010000 +00010001 +0001FFFF +0000FFFF +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +00010001 +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000001 +00010001 +FFFF0000 +0000FFFF +00010000 +00010000 +00010000 +00000000 +00000001 +0000FFFF +0001FFFF +00010000 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00010000 +00000001 +00000001 +00010000 +00000000 +FFFFFFFF +00000001 +00000000 +00000001 +00000000 +00000001 +00010000 +00010000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +0001FFFF +FFFF0000 +0000FFFF +FFFF0001 +00010000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +00010000 +00000000 +00010000 +00000001 +FFFFFFFF +00010000 +00000000 +0001FFFF +FFFF0001 +00010001 +00010000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00000001 +0001FFFF +00010000 +FFFF0000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0001 +FFFD0002 +FFF2000B +FFFD0002 +FFFF0000 +00000000 +0000FFFF +00000001 +FFFF0001 +00000000 +00000000 +FFFF0000 +0001FFFF +FFFF0001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000001 +00000000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00010000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000001 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00010000 +0001FFFF +00000000 +00000000 +00010000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00020001 +00000001 +0001FFFF +00000000 +00000001 +00000000 +00000000 +00000001 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0001 +00000001 +00000001 +00000000 +00000001 +00000000 +00000001 +00000001 +00010000 +00000000 +00000000 +FFFFFFFF +FFFF0001 +00000000 +00010000 +00010000 +00010001 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFE0000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010001 +00010000 +FFFF0000 +00000000 +00010000 +00000000 +FFFE0000 +00000001 +FFFF0001 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000001 +00010000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0001 +0000FFFF +00000001 +00000001 +00000001 +00000000 +0000FFFF +00000000 +00000001 +00000000 +FFFF0001 +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00010000 +00000000 +00000000 +00010000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000001 +00000000 +FFFFFFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +0001FFFF +FFFF0000 +00000001 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +0000FFFF +00000001 +00000000 +0001FFFF +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000001 +FFFF0000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010001 +0001FFFF +0000FFFF +00010000 +00000001 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +FFFF0001 +0001FFFF +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +FFFFFFFF +0000FFFF +0001FFFF +00000001 +00000000 +00010001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00020000 +0000FFFF +00000000 +00010000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00010000 +00000001 +00010000 +00000001 +00000000 +00000000 +00010001 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00010000 +00000000 +0000FFFF +00000000 +FFFF0001 +00000001 +0000FFFF +0000FFFF +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00010000 +00000001 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +FFFF0000 +00000001 +FFFF0000 +FFFFFFFE +00000001 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +00010000 +00010001 +0000FFFF +FFFF0001 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +FFFFFFFF +FFFF0000 +00000000 +00000000 +0000FFFF +FFFFFFFF +00000000 +FFFFFFFF +0000FFFF +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +FFFFFFFF +00000000 +FFFF0000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +FFFFFFFF +0000FFFF +00010000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0002 +FFFF0003 +FFFE0012 +00000004 +FFFF0002 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +00000001 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000001 +00010000 +FFFFFFFF +00010000 +FFFFFFFF +0000FFFF +00000001 +00000000 +00000000 +00010001 +00010000 +00000001 +00010000 +0000FFFF +00000000 +00000001 +00000000 +FFFF0000 +0001FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00010001 +00010000 +00000000 +00000001 +00010001 +00000000 +FFFF0000 +FFFF0000 +00000001 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0001FFFF +00010000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00010000 +FFFF0001 +00010000 +00010000 +00010001 +00000000 +FFFF0000 +00000000 +0000FFFF +00010001 +00010000 +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010001 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +FFFF0000 +00000001 +00000001 +FFFF0001 +00010000 +00000000 +0000FFFF +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000001 +00000001 +00010000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000001 +00010000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00010000 +00000001 +00010000 +0001FFFF +00010000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00010000 +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00010000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000001 +00000001 +00000001 +00010000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +FFFFFFFF +0000FFFF +00000000 +00010000 +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00010000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +00010000 +00000001 +FFFF0000 +00010001 +FFFF0000 +00000000 +00000000 +00000000 +00010001 +0001FFFF +0000FFFF +0000FFFF +FFFF0000 +00000001 +FFFFFFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +0000FFFF +00000000 +FFFE0000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000001 +00000001 +00010000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +00000000 +0000FFFF +0000FFFF +0000FFFF +00000000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00010000 +00000000 +00000000 +00000001 +00000000 +00010001 +FFFF0000 +00000000 +00010001 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00010001 +00010000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00000001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00010001 +00000001 +00010000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +0001FFFF +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +0000FFFF +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000001 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00010000 +00000000 +FFFFFFFF +00000000 +FFFF0001 +00000000 +00000000 +FFFF0000 +FFFF0001 +00010001 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00010000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00000001 +00010001 +00000000 +00010000 +FFFF0000 +00010000 +FFFF0000 +00010000 +0000FFFF +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +FFFF0001 +0000FFFF +FFFFFFFF +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010001 +00010000 +00000000 +00000000 +00010000 +FFFF0001 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000001 +0000FFFF +00000000 +00010001 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +00020003 +000A000D +00010004 +00010001 +0000FFFF +00010000 +00010001 +00000001 +00000001 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +00000001 +0000FFFF +0000FFFF +00010000 +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +FFFF0001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0001 +00000000 +00010000 +00000000 +00000001 +0000FFFF +00010000 +00000000 +00000000 +FFFF0001 +0000FFFF +00000001 +00000000 +0000FFFF +00000000 +0001FFFF +00000000 +00000000 +0001FFFF +FFFF0000 +FFFF0001 +FFFF0000 +FFFFFFFF +0001FFFF +00000000 +00000001 +00000000 +00010000 +00000000 +00000001 +00000000 +0001FFFF +00000000 +00000001 +00000001 +0000FFFF +FFFF0000 +00000001 +0000FFFF +00000001 +FFFF0001 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +0001FFFF +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0001 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000001 +00010000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00010000 +00000000 +0001FFFF +FFFFFFFF +00010001 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +00010000 +0000FFFF +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00010001 +FFFF0000 +FFFF0000 +00010000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +0000FFFF +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +0000FFFF +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +FFFF0001 +FFFFFFFF +FFFF0001 +00010001 +00000000 +0000FFFF +00000000 +00010000 +00000001 +00000000 +FFFF0000 +00000001 +00010000 +0001FFFF +FFFF0000 +0001FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00010001 +FFFF0000 +00000001 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000001 +00010000 +00000000 +00010001 +00010001 +FFFF0000 +00000000 +FFFFFFFF +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00010001 +00000001 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000001 +0000FFFF +FFFF0001 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000002 +00000000 +00000000 +FFFF0001 +0000FFFF +FFFF0000 +00000000 +00010000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0001FFFF +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0001 +0000FFFF +FFFFFFFF +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00010000 +00010000 +FFFFFFFF +00000000 +0001FFFF +FFFF0000 +FFFF0000 +FFFF0001 +00010001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00010001 +0000FFFF +00010000 +00000000 +FFFF0001 +00010001 +0000FFFF +00010000 +0001FFFF +00000000 +FFFF0000 +FFFF0000 +00000000 +00010000 +00000000 +00000001 +00000001 +00010000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +00000001 +FFFF0000 +00000000 +00000000 +00000000 +0001FFFF +FFFF0000 +00000000 +00010000 +0000FFFF +00010000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +FFFFFFFF +0000FFFF +00000001 +00000000 +00000000 +00000000 +FFFF0001 +0000FFFF +0001FFFF +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000001 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000001 +0000FFFF +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00010000 +00000000 +00010000 +00010000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +FFFF0001 +00000001 +FFFFFFFF +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000001 +00010000 +00000000 +00000000 +00010001 +00000000 +FFFFFFFF +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +00030001 +00040001 +00110003 +00030001 +00020000 +00000001 +00010001 +0000FFFF +00000000 +00010000 +00000000 +FFFF0000 +0000FFFF +FFFF0001 +FFFF0000 +0001FFFF +FFFF0001 +00010000 +00000000 +00010001 +0000FFFF +00000001 +00000000 +00010001 +00000000 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +FFFFFFFF +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00010001 +00000000 +00000000 +00010001 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +00000002 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0001 +0000FFFF +00010000 +0001FFFF +0000FFFE +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00010000 +00010000 +00000001 +00000001 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00010001 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFFFFFF +FFFF0000 +FFFF0001 +00010000 +00000000 +00000001 +00010000 +00000000 +00000000 +0000FFFF +00000001 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +0001FFFF +0001FFFF +00010000 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +FFFF0001 +00000001 +00000000 +FFFF0000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00010001 +FFFF0000 +00000000 +0000FFFF +00000000 +0001FFFF +00010000 +00000000 +0000FFFF +00000000 +00010001 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00010000 +00000000 +FFFF0001 +0000FFFF +00010000 +0001FFFF +FFFF0000 +FFFF0001 +0000FFFF +0000FFFF +00010000 +00000000 +FFFF0000 +00010001 +00010000 +FFFFFFFF +0000FFFF +0000FFFE +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000001 +FFFF0000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000001 +00000001 +FFFFFFFF +00000000 +0000FFFF +00000000 +FFFFFFFF +0000FFFF +FFFF0000 +0000FFFF +00010000 +00000000 +0000FFFF +00000000 +00000001 +00010000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +0000FFFF +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +FFFF0001 +00000000 +FFFF0000 +00010000 +FFFFFFFF +00000000 +00000000 +0000FFFF +00010000 +00000000 +0000FFFF +00010000 +00010000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000001 +0000FFFF +00000000 +00000000 +0001FFFF +00000000 +00010000 +00000000 +0000FFFF +FFFFFFFF +FFFF0000 +0000FFFF +00010001 +0000FFFF +00000000 +00000000 +00010000 +FFFF0000 +FFFF0000 +0000FFFF +00010000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00010001 +00000000 +0000FFFF +FFFFFFFF +00000000 +FFFF0000 +00000000 +00010001 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00010000 +0000FFFF +00010000 +0000FFFF +FFFFFFFF +00000000 +FFFF0001 +00000000 +00010000 +00010000 +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00010000 +00000000 +FFFF0000 +0001FFFF +00000000 +00000000 +00000000 +FFFF0002 +00010000 +00000002 +FFFF0000 +00000001 +00000000 +00010001 +0001FFFF +0000FFFF +00000000 +00000000 +00010000 +00000000 +00010001 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00010001 +00000000 +00010000 +00010001 +00000000 +00000001 +00000000 +FFFFFFFF +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +0001FFFF +00010000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +0000FFFF +00010000 +0000FFFF +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +00000001 +00000000 +00010000 +00000001 +00000001 +0000FFFF +00000001 +00000001 +FFFF0000 +00010001 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +0001FFFF +0003FFFE +000EFFF5 +0002FFFE +0002FFFF +00000001 +00000000 +FFFF0001 +FFFF0000 +00000001 +00000000 +FFFF0000 +00000000 +00000001 +00010001 +0000FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +00000001 +0001FFFF +00000000 +00000000 +00000000 +00010000 +00000001 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010001 +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00010000 +00010000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +FFFFFFFF +00000001 +00010000 +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +0002FFFF +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000001 +00010000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00000001 +00000001 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00010000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00010001 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00010000 +FFFFFFFF +0000FFFF +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000001 +FFFF0000 +0000FFFF +00010000 +0000FFFE +FFFF0000 +00000000 +00000000 +FFFF0000 +00010000 +0001FFFF +00000001 +0000FFFF +0000FFFF +FFFF0000 +00000000 +0000FFFF +00010000 +00010000 +00010000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +0000FFFF +FFFFFFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00010000 +00010000 +0000FFFF +0000FFFF +00010000 +00010000 +00000000 +00000001 +00000000 +00010001 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000001 +00000000 +00000001 +00010000 +00010000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000001 +FFFF0000 +00000000 +00010000 +00010000 +00000001 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +FFFF0000 +00010000 +0001FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +FFFF0001 +00010001 +00000000 +00010000 +00000000 +00000000 +FFFF0001 +00000001 +FFFF0000 +00010000 +FFFF0000 +00010000 +FFFF0000 +00000001 +00000000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00000001 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00010001 +00000000 +00000000 +00010000 +00000001 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0000 +00010000 +FFFFFFFF +0000FFFF +00000000 +00000001 +FFFF0000 +00010000 +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00000001 +00000000 +00000000 +00000001 +0000FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFFFFFF +00010000 +00000001 +00000000 +00000001 +00000001 +00000001 +00000000 +0000FFFF +00010000 +FFFF0000 +00000001 +00000001 +00000000 +00000000 +0001FFFF +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +FFFF0001 +00000000 +00010000 +FFFFFFFF +00000000 +00000000 +0000FFFF +0001FFFF +00000000 +00000001 +00000001 +0001FFFF +00000000 +00000000 +0000FFFF +00010001 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +FFFE0001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +0001FFFF +0000FFFF +00000000 +00000001 +00000001 +00000000 +FFFF0000 +00010000 +00000001 +00000000 +00000001 +00000000 +00000000 +00010001 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +0000FFFF +00010000 +00000000 +0000FFFF +0000FFFF +00000000 +0000FFFF +00010000 +0001FFFE +0001FFFC +0004FFEF +0002FFFB +0000FFFF +0000FFFF +00000000 +00000000 +FFFF0001 +00010001 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00010001 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000001 +FFFF0000 +00010000 +00010000 +00000000 +FFFF0000 +00000001 +0000FFFF +00010000 +00000000 +00000000 +00010000 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +00010001 +00010000 +00000001 +00000001 +00000001 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +FFFFFFFF +00010000 +00000001 +00010000 +FFFF0000 +0000FFFF +00000000 +FFFFFFFF +00000001 +00000000 +00000000 +0000FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00010000 +00000002 +0001FFFF +00000000 +00000000 +00010000 +00000000 +00010000 +00010000 +FFFF0000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000001 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +0000FFFF +00000001 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +FFFFFFFF +FFFF0000 +FFFEFFFF +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +FFFF0001 +00000000 +00000000 +00010000 +0000FFFE +00000001 +00000001 +00000001 +00000001 +00010000 +00000000 +0000FFFF +FFFFFFFF +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +0001FFFF +00010000 +00010000 +00010000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +FFFF0001 +FFFFFFFF +0000FFFF +00000000 +0001FFFF +00000000 +00010000 +00000000 +FFFF0001 +00010001 +00000000 +0000FFFF +FFFF0000 +0000FFFF +00010000 +00000000 +00000001 +0000FFFF +00000001 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +FFFF0000 +0000FFFF +0000FFFF +0000FFFF +0000FFFF +00000000 +FFFF0000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +0001FFFF +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00010000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFF0001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFFFFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00010000 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +00000000 +FFFF0001 +00010000 +00000000 +0000FFFF +00000001 +0000FFFF +00000000 +00000000 +00000000 +0001FFFF +00010000 +0000FFFF +0000FFFE +0000FFFF +00000000 +00010000 +FFFFFFFF +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +FFFF0001 +00010000 +00000000 +FFFFFFFF +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +00010001 +00000001 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00010001 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000001 +0001FFFF +00010000 +00000000 +00010000 +00000000 +FFFFFFFF +0000FFFF +FFFF0000 +FFFF0000 +00000001 +00000001 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +0000FFFF +00000000 +0001FFFF +00000000 +00000001 +0000FFFF +00000000 +FFFF0000 +00000000 +00010000 +00000000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +0000FFFF +00010000 +0000FFFF +00010000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00010000 +00000000 +00010000 +00000000 +0000FFFF +00010001 +00000001 +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00010000 +00000000 +FFFF0000 +00000002 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000001 +00000000 +FFFF0000 +0001FFFF +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00010001 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010001 +00010001 +00000001 +0000FFFE +FFFEFFFD +FFF7FFF2 +FFFFFFFD +FFFFFFFF +00000000 +00000001 +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +FFFF0001 +00000000 +00000001 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00010001 +0000FFFF +FFFF0001 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000002 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +0001FFFF +00000000 +00000000 +FFFFFFFF +FFFE0001 +00000000 +FFFF0000 +00010001 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00010000 +00000001 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +FFFFFFFF +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000001 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00000000 +0000FFFF +FFFF0000 +00000000 +FFFFFFFF +0000FFFF +00000000 +00000000 +00000000 +0001FFFF +00010000 +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +FFFF0001 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000001 +0000FFFF +FFFF0000 +00010001 +00000000 +FFFFFFFF +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00010001 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +FFFFFFFF +00000001 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +FFFFFFFF +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0001 +FFFF0000 +00000001 +00000000 +FFFF0000 +00000001 +00000000 +00010000 +00000001 +00000000 +00000001 +00000000 +00000001 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00010000 +00000000 +00020001 +00000001 +00000000 +FFFF0001 +00010001 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0001FFFF +0001FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +FFFFFFFF +00000000 +0000FFFF +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +FFFF0000 +00000001 +00000000 +0000FFFF +00000001 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFF0001 +00010001 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000001 +FFFF0001 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +00010001 +FFFFFFFF +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00010001 +FFFF0000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +00010000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +FFFF0001 +00010000 +FFFF0000 +FFFF0001 +FFFFFFFF +00000000 +00000000 +00000001 +FFFF0000 +00000002 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +0000FFFF +0001FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +0000FFFF +00010000 +00000000 +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00010000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +0001FFFF +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +0000FFFF +FFFFFFFF +00000001 +0000FFFF +00000000 +0000FFFE +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00010000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00010000 +00000000 +00000000 +FFFF0000 +FFFEFFFF +FFFCFFFF +FFEFFFFC +FFFC0000 +FFFE0000 +FFFF0000 +0000FFFF +00010000 +00000000 +00000000 +00010001 +0000FFFF +00000000 +0001FFFF +00000000 +00010001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +0001FFFF +0000FFFF +0000FFFF +00000001 +0000FFFF +00010000 +00000000 +00010000 +00010001 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00010001 +00010001 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +FFFFFFFE +0000FFFF +FFFF0001 +00000001 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +FFFF0000 +0001FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00010000 +FFFF0000 +00000000 +FFFF0000 +FFFF0001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +0001FFFF +0000FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000001 +FFFF0001 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +FFFF0001 +0000FFFF +0000FFFF +FFFF0000 +00000001 +00000000 +00010000 +00000001 +00010000 +00010001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +FFFF0001 +FFFFFFFF +00010001 +00000000 +00010001 +00000000 +FFFF0001 +00000000 +00000001 +00000001 +00010000 +00000000 +00010001 +00000001 +FFFF0001 +0001FFFF +FFFF0000 +0001FFFF +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000002 +00000000 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000000 +00000001 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00010000 +00000000 +FFFF0001 +00000000 +00000000 +00000001 +0001FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +0000FFFF +FFFFFFFF +00000000 +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +0000FFFF +00010000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +0001FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +00000001 +00000001 +0000FFFF +0000FFFF +00010000 +00000000 +00000001 +00000000 +00010000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +FFFF0001 +00000001 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFFFFFF +00010000 +00010000 +00010000 +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000001 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00000000 +0001FFFF +00000000 +00000000 +00000001 +00000001 +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000001 +FFFF0001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00010000 +00010000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000001 +FFFF0000 +00000000 +FFFF0001 +00000000 +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +0000FFFF +FFFF0000 +00000000 +0001FFFF +0001FFFF +00000001 +00010000 +FFFF0000 +0000FFFF +00000000 +FFFFFFFF +00000001 +00000000 +00010000 +00010000 +00000000 +00000001 +FFFF0001 +FFFD0002 +FFF10009 +FFFE0002 +FFFF0001 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000001 +00000000 +00010001 +00000000 +00010000 +00000000 +FFFF0000 +0001FFFF +00000000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000001 +00000001 +00000000 +00000000 +00000000 +0001FFFF +FFFF0000 +00000001 +00000000 +FFFF0000 +00000000 +0000FFFF +00010000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010001 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000001 +00010000 +00000001 +00000000 +00000000 +0001FFFF +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +FFFFFFFF +00000001 +0000FFFF +00010000 +FFFF0000 +FFFF0000 +FFFF0000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +FFFF0000 +00000000 +00000001 +00000001 +FFFF0001 +00000000 +0000FFFF +00000000 +00000001 +00010001 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0001 +0000FFFF +00000000 +0000FFFF +00010001 +00010001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +0001FFFF +00000000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +FFFF0000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000001 +00010000 +0000FFFF +00000001 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +FFFF0000 +00000000 +FFFF0001 +0001FFFF +00000000 +00000000 +00000000 +FFFF0001 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00010000 +00000001 +0001FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000001 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0001 +00000001 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +00010000 +FFFF0000 +00000001 +00000000 +00010001 +0000FFFF +00000000 +FFFF0000 +00000000 +00010001 +00010000 +00000001 +00000000 +0001FFFF +FFFF0000 +FFFF0000 +FFFF0001 +FFFF0000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000001 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00010000 +00010000 +00000000 +00000000 +0000FFFF +00010001 +00000000 +0001FFFF +0000FFFF +00000000 +00000000 +00010001 +0000FFFF +FFFFFFFF +00010001 +FFFF0000 +00000000 +00000000 +0000FFFF +00010001 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00010000 +00000000 +0001FFFF +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +0000FFFF +FFFFFFFF +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +FFFF0000 +00010000 +00000000 +00010000 +00000000 +00000001 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00010000 +FFFF0001 +00010001 +00000000 +00010000 +0000FFFF +00000000 +00010000 +0000FFFF +00010001 +FFFF0001 +00000000 +00000000 +00000000 +00010000 +FFFF0001 +00010000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +0000FFFF +00010000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00010000 +FFFF0000 +00010001 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010001 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00000001 +00000000 +0000FFFF +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +FFFF0000 +FFFFFFFF +0000FFFF +00010000 +0001FFFF +00000001 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +FFFF0000 +FFFF0000 +00000002 +FFFF0003 +FFFC0011 +FFFF0003 +00000001 +00000001 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00010000 +00000000 +00010000 +0000FFFF +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000001 +FFFF0000 +00010000 +00010000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00010001 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +0001FFFF +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +FFFFFFFF +00000001 +0000FFFE +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00010001 +00000000 +0001FFFF +00010000 +00010000 +0000FFFF +00000001 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +FFFF0001 +0000FFFF +0000FFFF +00010000 +00000000 +00000001 +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +00000001 +FFFF0000 +00000000 +00000001 +00000000 +00000001 +FFFF0000 +00020000 +00010000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00010000 +00000001 +00000001 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +FFFF0000 +00000001 +FFFF0000 +00000002 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +FFFF0000 +00010001 +FFFF0000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000001 +0001FFFF +0000FFFF +00000001 +00000001 +00010000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000001 +00000000 +FFFF0000 +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +00010000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00010001 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00010000 +00010000 +00000000 +FFFF0000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000001 +00010000 +00000001 +00000000 +FFFF0000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00010000 +00000000 +00000001 +00000000 +FFFF0000 +00000001 +FFFFFFFF +00000000 +0001FFFF +FFFF0000 +00010000 +FFFF0001 +00000001 +00000001 +0001FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00010000 +00010000 +00010000 +00000000 +00000001 +0000FFFF +0001FFFF +00010000 +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +FFFF0000 +0000FFFF +0000FFFF +FFFF0000 +00010000 +FFFF0000 +00010000 +00000000 +0001FFFF +00000000 +0000FFFF +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000001 +00000000 +00020000 +0000FFFF +00000000 +00010000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000001 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0000 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +0000FFFF +0001FFFF +00000000 +0001FFFF +00010000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00010001 +00010000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000001 +00000000 +00010000 +00010000 +00000000 +0001FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00010001 +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00010000 +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +0000FFFF +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00020001 +00010003 +00080010 +00020003 +00000002 +00010000 +00000000 +00000000 +00000000 +00000001 +0001FFFF +00000000 +0001FFFF +00000001 +0000FFFF +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00010000 +00000001 +00000000 +00010000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00010000 +0000FFFF +00010000 +00000000 +FFFF0000 +00010000 +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0001 +FFFF0001 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0001 +FFFF0001 +0000FFFF +00000000 +00010000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00010000 +00000000 +00000001 +00000000 +00000000 +0001FFFF +00000000 +00000001 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +FFFF0000 +00000001 +0000FFFF +00010000 +0000FFFF +00000000 +00000001 +FFFF0000 +FFFF0000 +FFFF0000 +00000001 +00010000 +00010000 +00000000 +00000001 +FFFF0000 +00010000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00010001 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +0000FFFF +00010000 +00010000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000001 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +FFFF0000 +FFFF0000 +00010000 +00000001 +00000000 +00000001 +00010000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000001 +FFFF0000 +0001FFFF +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFE0000 +00000000 +00010000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00010001 +00000000 +00000001 +00000000 +FFFF0001 +00000001 +0000FFFF +00000000 +00010000 +00010000 +FFFFFFFF +00000000 +00000001 +00010001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000001 +00020000 +00000000 +00000000 +FFFFFFFF +0001FFFF +00000000 +FFFF0001 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +00010000 +00010001 +00010000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000001 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00010000 +FFFF0001 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +0000FFFF +00000000 +0000FFFF +0000FFFF +0001FFFF +00000000 +0000FFFF +00010000 +00000001 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFFFFFF +00010000 +00000000 +00000001 +00000001 +00010000 +00000000 +00000000 +00010001 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00010000 +0000FFFF +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +FFFF0000 +00010000 +00000000 +00000000 +00010001 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000001 +FFFFFFFF +0001FFFF +00020000 +00030001 +00110005 +00040001 +00010001 +00000001 +00000000 +00000000 +0001FFFF +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +0001FFFF +00000001 +00000000 +00000001 +FFFF0000 +00000001 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00010000 +00010000 +0001FFFF +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0001 +00010001 +00000000 +0001FFFF +00000000 +00000000 +00000001 +00000000 +0000FFFF +00010000 +00000000 +0000FFFF +00000001 +00000001 +00000000 +FFFF0000 +00000001 +FFFF0000 +0001FFFF +0000FFFF +00010000 +00000000 +00000000 +00000000 +00020000 +00000000 +00000001 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0001 +0000FFFF +00010001 +00010001 +0000FFFF +00000000 +0000FFFF +00010001 +00000000 +0000FFFF +FFFFFFFF +FFFF0000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000001 +00010001 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010001 +00010000 +00010001 +0000FFFF +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000001 +FFFF0000 +00000000 +00010001 +00000001 +00010000 +0000FFFF +00010001 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +0000FFFF +00000001 +00010000 +FFFF0001 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000001 +00000001 +0000FFFF +0001FFFF +00000000 +00000001 +00010000 +00000000 +00000000 +FFFF0000 +00010001 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +00000000 +FFFF0000 +0000FFFF +00000001 +00000001 +0000FFFF +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00010000 +00000000 +0000FFFF +00000001 +FFFF0000 +00010001 +00000000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00010000 +FFFF0000 +00000001 +0000FFFF +0000FFFF +FFFF0001 +00010000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFFFFFF +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00000000 +00010001 +00000001 +00000000 +0001FFFF +00000001 +00000001 +00000001 +00000000 +FFFF0000 +00000001 +00000001 +FFFF0000 +00010001 +00000000 +00000000 +00000000 +00010001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +00020001 +00000000 +00010001 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000001 +FFFF0000 +00000001 +0001FFFF +00000001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +0000FFFF +00010001 +00000000 +00010001 +00000000 +FFFF0001 +00010000 +FFFF0001 +00000000 +00000001 +00000000 +0000FFFF +00010001 +00000000 +00000000 +FFFF0000 +0000FFFF +0001FFFF +FFFF0000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000001 +FFFF0001 +FFFF0000 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000001 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00020000 +00000001 +FFFF0000 +00000000 +00010000 +00000000 +00010000 +00000001 +FFFF0001 +0000FFFF +00000000 +FFFF0001 +FFFF0000 +00000001 +00000000 +00000000 +00010001 +00000001 +00010000 +00000000 +00000000 +FFFF0000 +00020000 +00010000 +00000000 +00000000 +0000FFFF +00010001 +00020001 +00000001 +0000FFFF +00000000 +00000000 +0001FFFF +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010001 +00010000 +0000FFFF +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +FFFF0000 +0000FFFF +00000001 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0001FFFF +00010000 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +00010001 +FFFF0000 +00010000 +00010000 +FFFF0000 +00000001 +00000001 +00010000 +0000FFFF +00000000 +00000001 +00000000 +0001FFFF +00000000 +00010001 +00000000 +0000FFFF +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00020000 +0003FFFD +0011FFF8 +0004FFFF +0001FFFF +00010000 +00000000 +FFFF0000 +00000000 +0001FFFF +00000000 +0000FFFF +00010000 +00010000 +00000001 +00000000 +00000000 +00010000 +0001FFFF +00000000 +00010000 +FFFF0000 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000001 +00000000 +00010001 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00010001 +FFFFFFFF +00000001 +00000000 +0000FFFF +0000FFFF +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFE0000 +00000000 +00000000 +00000000 +00010000 +FFFF0001 +00000000 +FFFF0000 +00010000 +00000000 +FFFF0000 +FFFF0000 +00010001 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +0000FFFF +00010001 +00000001 +0002FFFF +00000000 +00000000 +00010000 +FFFF0000 +00010001 +00000000 +00000001 +00000000 +FFFFFFFF +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00010000 +00010001 +00000000 +FFFFFFFF +FFFFFFFF +00010000 +00010001 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +FFFF0000 +0000FFFF +FFFF0001 +00000000 +FFFF0000 +0000FFFF +00000000 +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00010000 +FFFF0000 +00010000 +00000000 +00010000 +00000000 +00020001 +0000FFFF +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +FFFF0000 +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000001 +00010000 +FFFFFFFF +00000000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0001 +00000001 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0001 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +0001FFFF +00000001 +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +00000001 +00000001 +00000000 +00010000 +FFFF0001 +00000000 +00010001 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00010001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00010000 +FFFFFFFF +FFFFFFFF +00000000 +00000000 +FFFF0000 +00000001 +00010000 +00000001 +00000000 +00000001 +0001FFFF +00000000 +00010000 +00010000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +0000FFFF +00000000 +00000001 +00000000 +00010000 +00010000 +00000001 +FFFFFFFF +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00010000 +00000001 +00010000 +00000000 +00010000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00010000 +00010000 +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +00010000 +00010000 +00000001 +00010000 +00000000 +FFFF0000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +FFFF0000 +00010000 +FFFF0000 +FFFFFFFF +00000001 +0000FFFF +FFFF0001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +FFFFFFFF +00010001 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000001 +00000000 +FFFF0000 +00010000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +FFFF0000 +0000FFFF +00010000 +00000000 +00000001 +00010000 +0000FFFF +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +0000FFFF +00010000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +0001FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000001 +FFFFFFFF +00000000 +FFFFFFFF +FFFF0001 +00000000 +00000000 +00000000 +00000001 +00010000 +00000001 +0001FFFF +0000FFFF +FFFF0000 +0001FFFF +00010000 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +00010000 +00000000 +00000000 +00000001 +0000FFFF +00000001 +00000000 +00000000 +00000001 +00010000 +FFFF0000 +FFFF0000 +FFFF0000 +0001FFFE +0001FFFC +0005FFEE +0001FFFD +0000FFFE +00000000 +00000000 +00010000 +0000FFFF +00000001 +00000001 +00000000 +00000000 +FFFF0001 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +FFFFFFFF +00010001 +00010000 +00010000 +00010000 +0001FFFF +00000000 +FFFF0000 +00010000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +FFFF0000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000001 +00010000 +0000FFFF +00000001 +FFFF0001 +FFFF0000 +00000000 +00000000 +FFFF0001 +00000000 +0001FFFF +0000FFFF +00000000 +FFFFFFFF +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +0001FFFF +00000000 +00010000 +FFFF0000 +00000000 +00010001 +00000000 +00000000 +00010000 +00010000 +0001FFFF +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000002 +00000001 +00000001 +00000000 +0000FFFF +0000FFFF +00000001 +00000001 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +0000FFFF +0000FFFF +00000000 +0001FFFF +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00010000 +00010000 +00010001 +00000000 +00000000 +00000000 +00010000 +FFFFFFFF +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +FFFF0001 +00000001 +00000000 +00000000 +00000001 +0000FFFE +00000000 +00000001 +00000000 +00010001 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +0000FFFF +00000001 +00000000 +0000FFFF +00000001 +00000001 +00000000 +00000001 +00000000 +0001FFFF +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +0000FFFF +0001FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +0000FFFF +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000001 +0000FFFF +FFFF0000 +00000000 +00010001 +0001FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00010000 +00000000 +00010000 +00000001 +FFFFFFFF +00000000 +00010000 +0000FFFF +00000000 +00000001 +00000001 +00000000 +00010000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00010000 +00000001 +FFFF0001 +00000000 +00000001 +00010000 +00000000 +0001FFFF +00000000 +0000FFFF +FFFF0000 +FFFF0001 +0001FFFF +00010000 +00000001 +00000000 +00000000 +00010000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0001 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +00000001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +0000FFFF +00010000 +0001FFFF +0001FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +00000001 +FFFF0000 +00010000 +00000000 +00000000 +00000001 +00010000 +0000FFFF +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000001 +00000001 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +FFFF0001 +00010000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00010000 +00010000 +0000FFFF +00000000 +00000001 +00000000 +FFFF0001 +FFFF0000 +0000FFFF +0000FFFF +00000001 +00000000 +00010001 +0000FFFF +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00010001 +0000FFFF +00000001 +FFFF0000 +00010000 +00010000 +00000000 +00000000 +00010001 +0000FFFF +00010000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +0001FFFF +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00010000 +FFFF0000 +FFFF0000 +00010000 +00000000 +00000001 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00010001 +00000000 +00000001 +FFFF0001 +FFFF0000 +00000000 +00000000 +00010001 +00000000 +0001FFFF +00010000 +0000FFFF +00010000 +00000001 +00010000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFE +FFFEFFFD +FFF8FFF0 +0000FFFC +FFFFFFFF +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +FFFF0001 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000001 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000001 +FFFF0000 +00010000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +FFFFFFFF +00000000 +0000FFFF +00000000 +00000001 +00000000 +FFFF0001 +0001FFFF +00000000 +00010000 +FFFF0001 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFE0000 +00010001 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00010001 +0000FFFF +00010001 +00000000 +0000FFFF +00000000 +00010000 +FFFF0000 +00000000 +FFFFFFFF +00000000 +0000FFFF +00000000 +00010001 +00000000 +0000FFFF +00000000 +0001FFFF +00000001 +FFFF0000 +0001FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00010000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000001 +FFFF0000 +00000001 +0000FFFF +FFFF0000 +0000FFFF +0000FFFF +FFFF0001 +00000000 +00000000 +00010001 +00000001 +00000000 +FFFF0000 +FFFFFFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +FFFFFFFF +00000001 +00000000 +00000001 +0000FFFF +0000FFFF +00000000 +0000FFFF +00000000 +0001FFFF +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +FFFF0000 +00000000 +0000FFFF +00010000 +FFFF0000 +00010000 +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00010000 +00010001 +FFFF0000 +00000000 +00010001 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00010000 +FFFF0000 +00000000 +00010000 +0000FFFF +00010000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0001 +00010000 +FFFF0001 +00000000 +00000001 +00010000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +FFFFFFFF +00000000 +00000001 +00000000 +00000000 +00000001 +FFFF0000 +0001FFFF +0001FFFF +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +FFFF0001 +00000001 +00000000 +00000001 +FFFFFFFF +00000000 +00010000 +00010000 +00000001 +0000FFFF +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00000000 +00000001 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00010001 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +0000FFFF +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +00010000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000001 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +0000FFFF +00000001 +FFFF0001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0001 +FFFEFFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00000000 +FFFFFFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010001 +0001FFFF +00000000 +FFFFFFFF +FFFF0001 +00000000 +0000FFFF +0000FFFF +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00010001 +00000000 +00010000 +00000001 +00010001 +0000FFFF +FFFF0000 +00000000 +00000000 +0000FFFE +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +00000001 +0000FFFF +00000001 +00000000 +FFFF0000 +00000001 +00010000 +00010001 +00000000 +00000000 +00000001 +00010000 +00010000 +00000001 +00000001 +00000000 +00000000 +FFFFFFFF +FFFDFFFF +FFEFFFFA +FFFDFFFF +FFFEFFFF +00000000 +00000000 +00000001 +00010000 +00010000 +00000001 +00000000 +00000000 +FFFF0000 +00010000 +0001FFFF +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +FFFF0000 +00000001 +00000001 +00000000 +0000FFFF +FFFF0000 +00010000 +0000FFFF +00000000 +00000001 +FFFFFFFF +00010000 +00000000 +00010001 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00010001 +00000000 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +0001FFFF +00000001 +00000000 +00010000 +00000001 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0001 +00010001 +00000001 +00000001 +00000000 +00000001 +00000000 +FFFF0001 +0000FFFF +00000000 +0000FFFF +0001FFFF +FFFF0000 +00000000 +FFFFFFFF +00000000 +FFFFFFFF +00000000 +0001FFFF +00000000 +00000000 +0000FFFF +00000001 +FFFF0000 +00000001 +0000FFFF +0000FFFF +00000000 +00000001 +FFFFFFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0001 +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00010001 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00010000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +FFFF0000 +00010000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0001FFFF +00000001 +00010000 +FFFF0001 +FFFF0001 +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00010001 +00000000 +00010001 +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00010001 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000001 +00010000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00000000 +0000FFFF +0000FFFF +00000001 +00010000 +00000000 +FFFF0001 +00000000 +0000FFFF +00000000 +00000001 +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000001 +0001FFFF +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +00010000 +0000FFFF +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +0001FFFF +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +00020001 +FFFF0000 +FFFF0001 +00000000 +00000000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +0000FFFE +00010000 +00000000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000001 +FFFFFFFE +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000001 +00000001 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0001 +00010000 +00000001 +FFFF0000 +00010000 +FFFF0000 +00010001 +00010001 +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000001 +00000000 +00010000 +00010000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +00010000 +FFFF0000 +00000001 +00000000 +FFFFFFFF +00000000 +00000000 +00000001 +00000001 +00010001 +00000000 +00010000 +FFFF0001 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000001 +00000001 +00000001 +00000000 +FFFFFFFF +00000000 +0000FFFF +FFFF0000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00010001 +FFFF0001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00010000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +FFFF0001 +00000000 +00000001 +00000001 +00000000 +FFFFFFFF +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +0001FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +0001FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +FFFE0001 +FFFD0001 +FFF00007 +FFFD0002 +FFFE0000 +00000001 +00010000 +00000001 +00010000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000001 +00000001 +00000000 +00010001 +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +0001FFFF +00000000 +00010000 +00000001 +0000FFFF +00000000 +00010001 +00000000 +00000000 +FFFF0000 +00010000 +FFFFFFFF +FFFF0000 +FFFF0001 +00000001 +00010000 +FFFF0000 +0001FFFF +00000000 +FFFF0000 +00010000 +FFFF0000 +FFFF0001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0001 +00010000 +00000000 +00000000 +00000001 +00000001 +00000001 +00010000 +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +0001FFFF +00000000 +00010000 +0000FFFF +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFFFFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00010001 +FFFF0001 +0000FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000001 +00010001 +00010000 +00000000 +00010000 +00010000 +00000000 +00010000 +0000FFFF +FFFFFFFF +00000000 +00000000 +00010000 +00000001 +FFFF0000 +00000001 +00000001 +00010000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +FFFF0001 +00000001 +00000001 +00000000 +FFFFFFFF +00010000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +00010000 +00010001 +00000000 +00010000 +00000000 +00000001 +FFFFFFFF +00010000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +0001FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00010000 +00000000 +FFFF0000 +0000FFFF +00000001 +00000000 +FFFF0001 +00000001 +00000001 +0000FFFF +00000000 +00010000 +0000FFFF +00000001 +0000FFFF +00000000 +00010000 +00000000 +0001FFFF +00000000 +00020000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000001 +FFFF0000 +00010001 +0000FFFF +00010000 +00000001 +00010000 +00000000 +0000FFFF +00000000 +00000001 +00000001 +00000001 +00010001 +00010000 +00000000 +00010000 +00000001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000001 +00000000 +00000000 +FFFF0000 +00010000 +FFFF0001 +0000FFFF +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +00010001 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +0001FFFF +00010001 +00010001 +00000000 +00010000 +0000FFFF +FFFF0001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000001 +0000FFFF +00000000 +00000001 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00010001 +00000000 +FFFF0000 +FFFF0000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000001 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +00010000 +00010000 +00000000 +FFFF0001 +00010000 +FFFF0000 +FFFF0000 +FFFF0000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00010001 +00000000 +00000000 +0001FFFF +00000001 +FFFF0000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFFFFFF +00000000 +FFFF0001 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0001 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000001 +00010001 +00000000 +00000000 +00000000 +0000FFFF +00010000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00010001 +00000000 +00010001 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00010001 +FFFF0000 +00000001 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000001 +00010000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +FFFF0001 +FFFF0000 +0000FFFF +00000000 +00010000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +0001FFFF +00010000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000001 +00010000 +FFFF0000 +FFFF0000 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +FFFE0001 +FFFE0002 +FFFA0011 +FFFE0003 +FFFF0000 +00000000 +00010000 +00010000 +00000001 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000001 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFFFFFF +00000001 +00000000 +00000001 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000001 +00010001 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00010000 +00000001 +00000000 +00000000 +00010001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +FFFF0001 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +0001FFFF +00000000 +0000FFFF +0001FFFF +00000000 +FFFF0000 +FFFF0001 +00010000 +FFFFFFFF +00010000 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00010001 +00010000 +00010001 +00010000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00000001 +00010000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +0001FFFF +00010001 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000001 +FFFF0000 +00000000 +FFFF0001 +00010000 +00010000 +FFFFFFFF +00010000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000001 +00010000 +FFFF0000 +00000000 +0001FFFF +00000000 +0000FFFF +00010000 +00010000 +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFFFFFF +00010000 +FFFF0000 +00000001 +00000000 +00000001 +00010001 +00010000 +00010000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00010001 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +0001FFFF +00000000 +FFFF0001 +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00010000 +FFFF0001 +FFFF0000 +00010001 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000001 +00010000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +0000FFFF +00000001 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +0000FFFF +FFFF0001 +0001FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00010000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00010001 +00000000 +00010000 +FFFF0000 +0000FFFF +0000FFFF +00000001 +00010001 +0000FFFF +00010000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +00000000 +0001FFFF +00000000 +0000FFFF +00000000 +00000000 +00010000 +0001FFFF +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00010001 +00000000 +00010000 +00000001 +00010000 +00000000 +00000000 +00010000 +00000000 +FFFFFFFF +00000000 +00010000 +0000FFFF +00010000 +FFFF0001 +00000001 +0000FFFF +FFFFFFFF +00010000 +00000000 +00010001 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +FFFF0001 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +00010000 +00010000 +FFFF0000 +00000000 +0001FFFF +00000001 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +FFFF0001 +0000FFFF +00000000 +00010000 +00000000 +00000001 +00010000 +FFFF0000 +00000000 +00000000 +00010000 +00010000 +00000000 +FFFF0000 +00010001 +0001FFFF +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +0001FFFF +FFFF0000 +FFFF0000 +00000000 +00010000 +00000000 +00010001 +00010004 +00080010 +00010004 +00000001 +FFFFFFFF +00000000 +00000000 +00000001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000001 +00000001 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00010000 +0001FFFF +00000000 +FFFF0000 +00010000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFE0000 +FFFFFFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000001 +0000FFFF +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00010001 +0000FFFF +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +FFFF0000 +0001FFFF +00000001 +00000000 +FFFF0000 +00000000 +00010001 +0001FFFF +00000000 +00000000 +00000000 +FFFF0001 +00010001 +00000000 +00000000 +00000001 +00000000 +00010000 +00010000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000001 +0001FFFF +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00000001 +0000FFFF +0000FFFF +00010001 +00000000 +00010000 +00000001 +0000FFFF +00010001 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00010001 +00000000 +00000000 +FFFFFFFF +00010000 +00010001 +00000000 +00000000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00010001 +FFFF0001 +FFFF0000 +FFFFFFFF +FFFFFFFF +00000000 +00000000 +00000001 +0001FFFF +0000FFFF +00000000 +0000FFFF +0000FFFF +0000FFFF +0000FFFF +00010000 +0001FFFF +00000001 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0001FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFE +00000000 +00000000 +00000001 +FFFFFFFF +00010000 +0000FFFF +00000000 +00000001 +0001FFFF +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +FFFFFFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +FFFF0000 +00010000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000001 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00010001 +00010000 +00000000 +00000001 +00010000 +0000FFFF +FFFF0001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +0001FFFF +FFFFFFFF +00000001 +00000000 +00000000 +00000000 +FFFF0001 +00000001 +00000000 +00000000 +00010000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000001 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00020000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +FFFF0000 +00010001 +FFFF0000 +FFFF0000 +0001FFFF +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00000001 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00010000 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00010001 +00000000 +FFFF0000 +00000001 +00010000 +0000FFFF +00000001 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +FFFF0001 +00000001 +00000000 +00000000 +00010001 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000001 +0001FFFF +00010001 +00010000 +00000000 +0000FFFF +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00010001 +00000000 +00000000 +00000000 +0000FFFF +00010001 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000001 +0000FFFF +00010001 +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +FFFFFFFF +00000001 +00000000 +FFFFFFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +00010001 +0000FFFF +00010000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +00010001 +FFFF0000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +FFFFFFFF +00000001 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00020001 +00030001 +00100007 +00040002 +00010000 +FFFFFFFF +00010000 +00000000 +FFFF0000 +00010001 +FFFF0000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +00010001 +00000000 +00000000 +0001FFFF +00000001 +00010000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000001 +0001FFFF +0000FFFF +00010000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00010000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +0000FFFF +00010001 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00010000 +0000FFFF +00000001 +00000000 +0000FFFF +FFFF0001 +FFFFFFFF +00000000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +00010000 +0000FFFF +00010000 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00010001 +00010000 +00000000 +00000001 +0001FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +0001FFFF +00000000 +00000000 +FFFF0000 +00000001 +FFFFFFFF +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00020000 +00000000 +00000000 +FFFF0000 +00010000 +00010000 +00010000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000001 +00000000 +00010000 +00000001 +00000000 +00000000 +00010001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +00000000 +00010000 +00010000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00010000 +FFFF0000 +00000002 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00010000 +FFFF0000 +00000000 +FFFF0000 +00010001 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +0000FFFF +00000001 +0000FFFF +00010000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00010000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +FFFF0001 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +0000FFFF +00000001 +0000FFFF +00000000 +FFFF0000 +00010000 +00000001 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +00010001 +00010000 +FFFF0000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000001 +00000000 +00010001 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00010000 +00010000 +0000FFFF +00000000 +00010000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +00000001 +FFFF0000 +00010000 +00010001 +00010000 +FFFF0000 +0000FFFF +0000FFFF +0000FFFF +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00010001 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +FFFFFFFF +FFFF0001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +0000FFFF +0000FFFF +00000000 +0000FFFF +00000000 +FFFE0000 +00000000 +00000001 +00000001 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00010000 +00010000 +FFFF0000 +00010000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +0000FFFF +00010000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +00010001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00010001 +00000000 +0001FFFF +00010000 +00010000 +00000000 +FFFF0001 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0001FFFF +00000000 +00010000 +00000001 +0000FFFF +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00010000 +FFFFFFFF +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010001 +00000001 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +0002FFFF +00000000 +00000001 +00010000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +FFFFFFFF +0001FFFF +00000001 +00000000 +00000000 +00000000 +00000001 +FFFF0001 +00000000 +00010001 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00020000 +0002FFFE +0011FFF9 +00040000 +0001FFFF +00010000 +00000000 +00000000 +FFFF0000 +0001FFFF +00010000 +00000000 +00000000 +00000000 +0001FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +FFFE0001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00010000 +FFFF0001 +0000FFFF +00000001 +00000001 +00000000 +00000001 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0001FFFF +00010000 +00010001 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00010000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00010001 +FFFF0000 +FFFF0000 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +FFFFFFFF +FFFFFFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +FFFF0000 +00010000 +00000000 +FFFFFFFF +00010001 +00000000 +00000000 +0000FFFE +0000FFFE +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0001 +00000000 +00000001 +00000000 +00000000 +00010000 +00010001 +00000000 +00000002 +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000001 +00010001 +0000FFFF +00010001 +00000000 +0000FFFF +00010000 +FFFF0000 +00000000 +0001FFFF +00010000 +00010000 +00010000 +00000001 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00010001 +00010000 +00010000 +00010000 +FFFF0000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +FFFFFFFF +00000000 +00000000 +00010000 +00010000 +00010000 +00010000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000001 +00010000 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +FFFFFFFF +0000FFFF +0000FFFF +00000000 +00010000 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00010000 +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +0000FFFF +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000001 +00000000 +00000000 +FFFFFFFF +00000001 +00000000 +00000000 +0000FFFF +00000001 +00000001 +0001FFFF +00000000 +00000001 +00000000 +00000001 +0000FFFF +0000FFFF +00000001 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00010000 +00000000 +00000000 +0000FFFF +FFFFFFFF +FFFFFFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0000 +00010000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +0000FFFF +0000FFFF +0000FFFF +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +0001FFFF +FFFF0000 +00000001 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000001 +00000001 +0001FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000001 +FFFF0000 +0000FFFF +FFFF0000 +00010000 +00000001 +00010000 +00000000 +FFFF0001 +00010000 +FFFF0000 +00000000 +FFFF0000 +00000001 +0000FFFF +00000000 +00000001 +00000000 +00000001 +00000000 +00010001 +00000000 +0000FFFF +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000001 +00000000 +FFFF0001 +00000000 +FFFF0000 +0001FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +FFFFFFFF +FFFFFFFF +0000FFFF +0001FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000001 +00000001 +FFFF0000 +00000001 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00010000 +0000FFFF +FFFF0000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000001 +00000001 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00010000 +FFFF0000 +00000000 +00000000 +00000001 +FFFF0000 +0000FFFF +00010000 +00000001 +0000FFFF +00000000 +00010000 +00000000 +00000001 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +0001FFFD +0008FFEF +0002FFFC +0001FFFF +00010000 +00000000 +0000FFFF +00010000 +00010000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +FFFFFFFF +00000000 +0000FFFF +00010000 +FFFF0000 +0000FFFF +0002FFFF +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000001 +FFFFFFFF +FFFF0000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +00010001 +FFFF0000 +FFFF0000 +00000001 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000001 +FFFF0000 +FFFF0001 +FFFF0001 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000001 +0000FFFF +FFFF0000 +00000000 +0000FFFF +FFFF0001 +0000FFFF +0001FFFF +00000000 +00000000 +00010001 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00010000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00010001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +0001FFFF +0000FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00010001 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +00010000 +FFFFFFFF +00000000 +FFFF0001 +0000FFFF +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000001 +00010000 +00010000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000001 +FFFF0001 +00000000 +00000001 +00000001 +FFFF0001 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00010000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000001 +FFFFFFFF +00010001 +FFFF0000 +00000000 +0000FFFF +00000001 +0000FFFF +00000000 +00010000 +0000FFFF +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +0000FFFF +00000001 +FFFF0000 +0001FFFF +0000FFFF +FFFFFFFF +00000000 +00000000 +00010000 +00000001 +0000FFFF +00010001 +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00010001 +00000000 +00000001 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +FFFF0001 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00010000 +0000FFFF +00010000 +0000FFFF +FFFF0000 +0000FFFF +FFFF0001 +00000001 +00000000 +00000001 +0001FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +00000000 +FFFF0000 +00000001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +FFFF0000 +00000000 +00000001 +0001FFFF +00000000 +00010000 +FFFF0001 +00000000 +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00010000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000001 +0000FFFF +00010000 +00000000 +00010000 +00000000 +00000001 +FFFFFFFF +FFFF0000 +00000000 +0000FFFF +00010001 +00010001 +0000FFFE +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00010000 +FFFF0001 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00010000 +00000000 +00000001 +0001FFFF +00000000 +00010001 +0000FFFF +0000FFFF +00000000 +00010001 +00000001 +00000000 +FFFF0001 +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00010000 +0000FFFF +00010000 +00000000 +FFFF0000 +0000FFFF +00000001 +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +FFFF0000 +00010000 +00010000 +00010000 +FFFF0000 +00000001 +00000000 +FFFE0000 +00000001 +0000FFFF +FFFF0000 +00000000 +00000001 +0000FFFF +00000000 +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +FFFFFFFF +0000FFFF +00000000 +00000001 +FFFF0000 +00010000 +00000000 +00010000 +00000002 +00000001 +00000000 +0001FFFF +00010000 +0000FFFF +FFFF0000 +00000000 +FFFFFFFF +0000FFFF +0000FFFF +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +FFFFFFFF +0000FFFF +00000001 +FFFFFFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +FFFF0001 +00000000 +00000000 +00000001 +00000001 +00010000 +00000001 +00010000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +0000FFFF +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +0001FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00010001 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +0001FFFF +00000000 +00010000 +0000FFFE +0000FFFC +FFFBFFEF +FFFEFFFD +0000FFFE +00000001 +00000000 +00000000 +00010001 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFE +00010001 +00010000 +00010000 +00010001 +0000FFFF +00000000 +FFFF0000 +00010000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00010001 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0001 +00000001 +FFFF0000 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +FFFFFFFF +0001FFFF +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +FFFF0001 +0000FFFF +00000000 +FFFFFFFF +00000001 +00000001 +FFFF0000 +00000000 +00000001 +FFFF0000 +00000000 +0000FFFF +FFFFFFFF +FFFF0000 +0000FFFF +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +0000FFFF +0001FFFF +FFFF0000 +00010000 +00000001 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +FFFF0000 +00010000 +00010000 +FFFFFFFF +0001FFFF +FFFF0001 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +0000FFFF +00010000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +0001FFFF +00010000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +0001FFFF +FFFFFFFF +00000000 +00000000 +00000000 +0000FFFF +00010001 +00000000 +00000001 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00010001 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFFFFFF +0001FFFF +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000001 +00000001 +00000000 +00010000 +00000000 +0001FFFF +00000000 +FFFFFFFF +00000000 +00000001 +00000000 +00000001 +00000001 +FFFFFFFF +00000000 +FFFFFFFF +FFFF0000 +FFFF0000 +0000FFFF +FFFFFFFF +00000000 +0000FFFF +0001FFFF +00000000 +0001FFFF +FFFF0000 +0000FFFF +00010000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00000000 +00000001 +00000000 +00000000 +00000000 +00010001 +FFFF0000 +0001FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0000 +0000FFFF +00010000 +0000FFFF +FFFF0001 +0000FFFF +00010001 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +0001FFFF +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000001 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00010001 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00010001 +0001FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010002 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +00000001 +00000000 +FFFFFFFF +00000000 +FFFF0000 +FFFF0000 +00000001 +0000FFFF +00000000 +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00010000 +FFFF0000 +00000000 +FFFFFFFF +0000FFFF +0000FFFF +FFFFFFFF +00000000 +00000000 +00010000 +FFFF0000 +00000001 +00000000 +00000000 +0000FFFF +FFFFFFFF +00000000 +00010000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000001 +00000000 +00000001 +00000001 +00010001 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00010001 +0000FFFF +00000000 +00000000 +0001FFFF +0001FFFF +00000001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +0000FFFF +00000000 +00010000 +00000000 +00000001 +0001FFFF +00010000 +00010000 +00000001 +00000001 +0000FFFF +00000000 +FFFF0000 +00000001 +0000FFFF +00000001 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00010000 +FFFF0000 +0001FFFF +0000FFFF +FFFFFFFF +00000000 +0001FFFF +00000000 +FFFFFFFF +FFFCFFFF +FFF0FFF8 +FFFDFFFF +0000FFFF +0001FFFF +00000001 +00010000 +FFFE0000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +0000FFFF +0000FFFF +00000000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +00020000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +FFFF0001 +FFFF0001 +00010001 +FFFF0000 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00010000 +00000000 +FFFF0001 +0001FFFF +00000000 +FFFF0000 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +FFFFFFFE +0000FFFF +00000000 +00010000 +FFFF0000 +00000000 +00010001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +0000FFFF +00000000 +0001FFFF +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0001 +0000FFFF +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00010001 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +0000FFFF +00000001 +FFFF0001 +00010000 +00000001 +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFFFFFF +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00020001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +0001FFFF +00000000 +0000FFFF +00000000 +00000000 +00000001 +00010000 +00000000 +0000FFFF +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +0001FFFF +0000FFFF +FFFF0000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +00000001 +00010000 +00010000 +00000001 +FFFF0000 +FFFF0000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +FFFF0000 +FFFF0000 +00000001 +00000000 +00010000 +FFFF0000 +00000001 +00000001 +00000000 +00000000 +00010000 +0001FFFF +00010000 +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +00000000 +00000000 +FFFF0001 +00000001 +00000001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0001 +00010000 +00000001 +00000000 +FFFFFFFF +FFFF0000 +FFFF0000 +00010001 +00000000 +00000000 +00000000 +0000FFFF +00000001 +0000FFFF +0000FFFF +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000001 +00000000 +FFFF0000 +FFFF0000 +00000000 +00010000 +00000000 +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000001 +00000000 +FFFF0001 +00000001 +0000FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +FFFF0001 +00010000 +00000000 +00010000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +FFFFFFFF +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000001 +FFFFFFFF +00000000 +00000000 +FFFFFFFF +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00010000 +0000FFFF +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +FFFF0001 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +0001FFFF +FFFF0000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +00010000 +00010000 +00010001 +00000000 +FFFE0000 +FFFD0001 +FFF00005 +FFFC0001 +FFFE0000 +00010000 +00000001 +00000000 +00000001 +0001FFFF +00000001 +00010000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00010000 +00010001 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00010000 +00010000 +0000FFFF +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +00000000 +FFFF0000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00010000 +00010000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +0001FFFF +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00010000 +0000FFFF +0000FFFF +0000FFFF +00000000 +0000FFFF +0000FFFF +00000000 +0000FFFE +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000001 +0001FFFF +00000001 +FFFF0000 +FFFF0000 +00010000 +0001FFFF +00000001 +00000001 +0000FFFF +00010001 +00010000 +00000001 +00010001 +00010000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +0000FFFF +0001FFFF +00010000 +00010000 +FFFF0000 +00010000 +00000001 +00000001 +FFFF0000 +00000000 +00000000 +00010001 +00010000 +FFFF0000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0001FFFF +00010001 +00010000 +0000FFFF +0001FFFF +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000001 +0000FFFF +0001FFFF +00000000 +0000FFFF +00000001 +00010000 +FFFFFFFF +0000FFFF +00000001 +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +FFFFFFFF +FFFFFFFF +00000000 +FFFFFFFF +0000FFFF +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00010001 +00010001 +00000001 +00000001 +00010000 +00010000 +FFFE0000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00010000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000001 +0000FFFF +FFFFFFFF +00000001 +FFFF0000 +00000000 +0000FFFF +00000001 +00010000 +00000001 +00000000 +00000001 +FFFF0000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +FFFFFFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000001 +00000000 +00000000 +00000000 +0001FFFF +FFFFFFFF +FFFF0000 +FFFFFFFF +00000000 +00000001 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0001 +00000000 +0000FFFF +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +FFFFFFFF +FFFFFFFF +FFFFFFFF +00000000 +00000000 +00000000 +00010001 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010001 +00010000 +0001FFFF +FFFF0000 +00000000 +00000001 +00000001 +00000000 +00000001 +0000FFFF +FFFF0000 +00000000 +00000001 +00000001 +0000FFFF +00000001 +00010000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +0001FFFF +0000FFFF +FFFF0000 +FFFF0001 +00010001 +00000001 +FFFF0000 +00010000 +0001FFFF +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +FFFFFFFF +0000FFFF +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +0000FFFF +FFFF0001 +FFFF0000 +FFFF0000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +0000FFFF +FFFF0000 +00000000 +FFFF0001 +00000001 +00000000 +FFFF0001 +00000000 +FFFF0000 +FFFF0000 +00000001 +FFFE0003 +FFF8000F +FFFE0003 +FFFF0003 +0000FFFF +00000000 +FFFF0000 +00010001 +FFFFFFFF +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000001 +00000001 +00000001 +0001FFFF +00000000 +00000001 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFFFFFF +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +FFFF0000 +FFFF0001 +00000000 +00010000 +00000000 +00010000 +00010000 +00000000 +0001FFFF +00000000 +00000000 +FFFF0000 +00000001 +00010000 +00000001 +00000000 +00010000 +00010000 +00000001 +00000000 +00000000 +00010000 +00010001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00010000 +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +FFFF0000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +FFFFFFFF +FFFF0000 +00000001 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +00010001 +00010000 +00000001 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000001 +FFFFFFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0000 +00010000 +00000001 +00000001 +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +00010000 +00000000 +00010000 +00000001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +00010001 +00000000 +00000000 +00000000 +00000001 +00010000 +FFFF0000 +00000000 +00000001 +00010000 +00000000 +00000000 +FFFFFFFF +0000FFFF +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +FFFFFFFF +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00010000 +00000000 +0000FFFF +FFFF0001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000001 +00000000 +00010001 +FFFF0000 +00000001 +0000FFFF +00000000 +00010001 +00000000 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +00010000 +FFFF0001 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +FFFF0000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +0000FFFF +FFFFFFFF +00010000 +00000001 +00000001 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00010000 +FFFF0000 +00000001 +00000001 +0000FFFF +00000001 +00010000 +00000000 +00000000 +00000000 +0000FFFF +0001FFFF +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000001 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +FFFF0000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000001 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +0001FFFF +FFFF0000 +00000000 +0000FFFF +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000001 +00010000 +FFFF0000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +00010000 +FFFF0000 +00000001 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFFFFFF +FFFF0001 +0001FFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +0000FFFF +FFFFFFFF +0000FFFF +00000000 +00010000 +0000FFFF +00010000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00010000 +00000001 +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0001FFFF +0000FFFF +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +FFFF0001 +00000001 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000001 +FFFF0000 +00010001 +00000000 +FFFFFFFF +00000000 +00000000 +00010000 +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00020000 +00000000 +00000001 +00010004 +00050012 +00010004 +00000001 +00000000 +FFFF0000 +0001FFFF +00010000 +00010000 +00010000 +00000000 +00000000 +00010000 +00000001 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +FFFF0001 +00000000 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +00010000 +00000000 +FFFF0000 +00000001 +00000000 +0001FFFF +FFFF0001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0001 +00000001 +0001FFFF +00000000 +00000001 +00000000 +00010000 +00000000 +00000001 +0000FFFF +00000001 +00000000 +00000001 +FFFF0001 +00000001 +00000000 +00000000 +FFFF0000 +FFFF0001 +00010001 +00000000 +00000000 +00010000 +00010001 +00010001 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +FFFF0001 +00000000 +00010000 +00000000 +00000000 +FFFF0001 +00010000 +00000000 +00000000 +00000001 +00010000 +FFFF0001 +00000000 +00000000 +00010000 +00010000 +00010001 +0000FFFF +00000000 +00000000 +00010001 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010001 +FFFF0000 +0000FFFF +00010000 +0000FFFF +FFFF0000 +00000000 +00010000 +00000001 +0000FFFF +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00010000 +00010000 +00010001 +00010001 +00010000 +FFFF0000 +0000FFFF +00000000 +00010001 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000001 +FFFF0000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00010001 +00000000 +00000001 +FFFF0000 +00010000 +00000000 +0000FFFF +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00010000 +0000FFFF +00000001 +0000FFFF +00000001 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +0001FFFF +FFFF0000 +00000000 +00010000 +00010000 +00000000 +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000001 +FFFF0000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000001 +0001FFFF +FFFFFFFF +00000000 +00000001 +FFFF0001 +FFFF0001 +0000FFFF +00000000 +FFFF0000 +00000000 +00010001 +00000001 +00010000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +FFFF0000 +FFFF0001 +00000001 +00010000 +00000000 +0000FFFF +00000000 +FFFF0002 +FFFF0000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +FFFF0000 +00000001 +FFFF0000 +00000001 +00000000 +0000FFFF +00010000 +00000000 +0001FFFF +0000FFFF +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +00010000 +00000000 +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010001 +00000000 +0000FFFF +00000001 +00000000 +00010001 +00000001 +00000001 +00010000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00010000 +00010001 +00000000 +0001FFFF +00000000 +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFFFFFF +FFFFFFFF +0001FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +0000FFFF +0000FFFF +00000000 +00000000 +00000001 +FFFFFFFF +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00010000 +00000000 +00010000 +00010001 +00000000 +00000001 +00010000 +00010000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +0000FFFF +00000001 +00010000 +00000000 +00010000 +00000000 +00000000 +00000001 +00010000 +00000001 +00010000 +0000FFFF +00000001 +0000FFFF +00010000 +00000000 +FFFF0000 +00010001 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010001 +00000000 +00000000 +FFFF0001 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +0001FFFF +00010002 +00040002 +000D000A +00020002 +00020000 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +FFFFFFFF +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010000 +0000FFFF +0000FFFF +00000000 +00000001 +0000FFFF +00000000 +00010000 +00000001 +0000FFFF +00010000 +FFFF0000 +00000000 +FFFFFFFF +00000001 +0000FFFF +FFFF0000 +00000001 +FFFF0000 +00010000 +00010000 +00000000 +00010000 +0000FFFF +00000000 +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +00020000 +FFFF0000 +00000000 +00010001 +00000000 +0000FFFF +00000001 +00000000 +FFFF0000 +00000000 +0001FFFF +00010001 +FFFF0000 +00000000 +0000FFFF +00010001 +FFFF0001 +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +0000FFFF +FFFF0001 +00000001 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +FFFFFFFF +FFFF0000 +0000FFFF +00000000 +00000001 +00000000 +0000FFFF +00000001 +0000FFFF +00000000 +00010000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +0000FFFF +00010000 +00000000 +00000000 +00010001 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +FFFF0001 +0000FFFF +FFFF0000 +FFFF0001 +0000FFFF +00000000 +00000000 +0000FFFF +0000FFFF +0001FFFF +00000001 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010001 +FFFFFFFF +FFFFFFFF +FFFF0000 +00000001 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00010001 +00000000 +00000000 +00010000 +00000000 +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +00010000 +00000001 +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00010000 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +0001FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0001FFFF +00000001 +00000000 +00000000 +00010000 +00000001 +00000000 +00000001 +FFFF0000 +00000000 +FFFF0000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +0000FFFF +0000FFFF +FFFF0001 +0000FFFF +00000001 +00010000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +0000FFFF +00010000 +0000FFFF +00010000 +00000001 +FFFF0001 +0000FFFF +00000000 +0001FFFF +00010000 +00000000 +00000001 +00010001 +00000000 +00000001 +FFFF0000 +00000000 +0001FFFF +0000FFFF +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00010001 +FFFF0000 +00000001 +00000001 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +0000FFFF +00000001 +0001FFFF +00000000 +00010000 +FFFF0000 +0000FFFF +00000000 +00010000 +FFFF0000 +00000000 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00010000 +0000FFFF +0000FFFF +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0001 +00010000 +0001FFFF +00000000 +00010000 +00000001 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000001 +00010000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000001 +FFFF0000 +00010000 +FFFFFFFF +00000000 +00000001 +0000FFFF +0000FFFF +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +00010000 +0000FFFF +0000FFFF +0001FFFF +00010000 +00000000 +00000001 +00010000 +00000001 +0001FFFF +FFFFFFFF +00000001 +00000000 +FFFF0001 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00010000 +00000000 +0000FFFF +00000001 +00000001 +00000000 +00010000 +0001FFFF +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +00000001 +0001FFFF +00000001 +00000001 +00010000 +00000001 +00010000 +00000000 +00000001 +00010000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +0001FFFF +FFFF0001 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +FFFFFFFF +00000000 +FFFF0001 +00000001 +00010000 +00000000 +00000001 +FFFFFFFE +0001FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +00010001 +0000FFFF +00010001 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00020000 +0004FFFF +0011FFFE +0003FFFF +0002FFFF +FFFF0000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +FFFF0000 +00010001 +FFFF0000 +00010000 +0000FFFF +00000001 +00000001 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0001 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010001 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFE +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +0000FFFF +FFFF0000 +00000001 +00000001 +00000000 +FFFF0001 +00000001 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +FFFFFFFF +0000FFFF +0001FFFF +00000000 +0000FFFF +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +00010000 +00000000 +0000FFFF +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +00000001 +0000FFFF +00000000 +00010000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000001 +FFFF0001 +00000000 +00000000 +00010000 +00000000 +00000001 +00010000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFFFFFF +FFFF0001 +0000FFFE +0000FFFF +00000000 +00000000 +00000000 +00010001 +00010000 +00000001 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00010001 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00010000 +00000000 +0000FFFF +00000001 +FFFF0000 +00000000 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000001 +00000001 +00000000 +0000FFFF +00010000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +00010000 +00010000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00010001 +00000000 +00010000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00010000 +00010000 +0001FFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000001 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0001 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010001 +00000000 +00000001 +00000000 +00000001 +0001FFFF +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +00000001 +0000FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +00010001 +00000001 +0000FFFF +00010000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00010000 +00010000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000001 +FFFFFFFF +0000FFFF +00010000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00010000 +00000001 +00000000 +FFFF0001 +00000001 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +FFFF0001 +00000001 +00000000 +00010000 +FFFFFFFF +00010001 +00000001 +FFFFFFFF +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00010000 +FFFF0000 +00000001 +FFFF0000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000001 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00000001 +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +0001FFFF +0000FFFF +FFFF0000 +0001FFFF +FFFF0000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00010000 +00010000 +00000000 +00000000 +00000001 +00000001 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +0001FFFF +00000001 +FFFF0000 +0000FFFF +00010000 +FFFF0000 +00000000 +00010001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +FFFE0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +FFFF0000 +FFFF0000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +FFFF0000 +00000001 +00010000 +00000000 +FFFFFFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +0002FFFE +000BFFF3 +0002FFFE +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +FFFF0001 +00010000 +00010000 +00000000 +00000001 +00000000 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +0001FFFF +00000000 +00010000 +00010000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00010000 +00010000 +00000001 +00000000 +0001FFFF +00000000 +00000000 +00000000 +FFFFFFFF +0001FFFE +00000000 +00000001 +00000001 +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010001 +00010001 +00000001 +00000000 +00000000 +00020000 +FFFFFFFF +00000001 +00010001 +00000000 +00010000 +00000000 +00000000 +00010000 +0001FFFF +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00010001 +0000FFFF +00010000 +00010000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +00010000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +0000FFFF +0001FFFF +0000FFFF +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +FFFF0001 +FFFF0001 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000001 +FFFFFFFF +0001FFFF +00000000 +00000000 +00000000 +00010001 +00010000 +00000000 +00000000 +00010000 +00010000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0001FFFF +00010000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +0001FFFF +00010000 +0001FFFF +00000000 +FFFF0000 +00000001 +FFFF0000 +0001FFFF +00000001 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00010000 +00000001 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00010001 +0000FFFF +00000001 +0000FFFF +00000000 +00000000 +00000000 +0001FFFF +00010000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +0000FFFF +00010001 +00000000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +00000001 +0000FFFF +00000000 +FFFFFFFF +00000000 +0000FFFF +00010000 +00000000 +00000000 +00010000 +FFFF0000 +00000001 +0000FFFF +FFFF0001 +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +FFFFFFFF +FFFF0000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000000 +FFFFFFFF +00000000 +0001FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00010000 +0000FFFE +FFFF0000 +FFFF0000 +00010000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +0000FFFF +FFFFFFFF +00000000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +0000FFFF +FFFF0000 +00010002 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00010000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00010001 +00010000 +FFFF0001 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000001 +FFFFFFFF +00000000 +00000000 +00000001 +0000FFFF +0000FFFF +00000000 +00000001 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +FFFF0000 +00010001 +00000000 +00000001 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +0000FFFF +00010000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000001 +00010000 +00010000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +0000FFFF +FFFF0001 +00000000 +00000000 +00000000 +00010001 +00000001 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +0001FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +0000FFFF +FFFF0001 +0000FFFF +FFFF0000 +0000FFFF +FFFF0000 +0001FFFF +00000000 +0001FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +0000FFFD +FFFFFFEE +FFFFFFFD +0001FFFE +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000001 +FFFFFFFF +FFFF0000 +0000FFFF +00000001 +00000001 +00000001 +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00000000 +00010000 +0000FFFF +0000FFFF +0000FFFF +0000FFFF +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +FFFFFFFF +0001FFFF +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00000001 +0000FFFF +00000000 +00010000 +FFFFFFFF +00000000 +00010000 +00000001 +00010000 +00000000 +00000000 +00010000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +0000FFFF +00000001 +FFFF0000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000001 +00000002 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00000001 +00010000 +00000000 +00000001 +FFFF0000 +0000FFFF +00010000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000001 +FFFFFFFF +FFFF0000 +FFFF0000 +00010000 +00010000 +00000000 +00000001 +00000000 +FFFF0000 +0000FFFF +00000001 +00010000 +00000001 +00000000 +00000000 +0000FFFF +0001FFFF +00000000 +00010000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +00000001 +00010000 +00000000 +00010000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00000000 +00000001 +00000000 +00010000 +FFFF0001 +00000000 +0001FFFF +00000000 +0000FFFF +00000000 +00000001 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00010001 +0000FFFF +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00010000 +00000000 +00010000 +00000001 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00010000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +FFFFFFFF +0001FFFF +00010000 +00000000 +00000001 +00010000 +00010000 +FFFF0001 +00000001 +00000000 +00000000 +00000000 +0001FFFF +00000001 +FFFF0001 +00000000 +0000FFFF +FFFF0001 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000000 +FFFFFFFF +00010000 +00000000 +FFFF0000 +00000001 +0000FFFF +00010001 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00000001 +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +FFFFFFFF +00000000 +00000001 +00010000 +0000FFFF +00010001 +00000000 +00010001 +00000000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +0000FFFF +FFFF0000 +00000001 +FFFF0001 +FFFF0000 +00000000 +00010000 +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000001 +00000001 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000001 +FFFF0000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +FFFF0001 +0001FFFF +00010000 +0000FFFF +00000001 +00010000 +0000FFFF +00000000 +0000FFFF +00000001 +00000001 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +FFFF0002 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010000 +0000FFFF +00010000 +00010000 +00010000 +00000001 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +00000001 +FFFF0000 +0000FFFF +00000001 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00010000 +FFFF0001 +FFFF0000 +00000000 +00000000 +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +0001FFFF +00000000 +FFFF0001 +00000000 +FFFFFFFF +00000000 +0000FFFF +00000000 +0001FFFF +00010000 +FFFF0001 +00000000 +00000000 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000001 +00010001 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00010000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00010001 +00010001 +00000000 +00010000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +0001FFFF +0000FFFF +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFEFFFF +FFFEFFFE +FFF4FFF4 +FFFDFFFD +FFFFFFFE +00010000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000001 +00000000 +00000001 +00000001 +0001FFFF +00000001 +FFFFFFFF +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010001 +0000FFFF +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000001 +00010001 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +00010001 +00000000 +00000000 +00000001 +00000000 +0000FFFF +0000FFFF +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00010000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000001 +0000FFFF +00010000 +00010000 +00020000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFE0000 +FFFF0000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010001 +0000FFFF +FFFFFFFF +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +0000FFFF +00000000 +FFFFFFFF +00000000 +00010000 +00010000 +00000000 +00010000 +00000000 +00010000 +0001FFFF +0001FFFF +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +00000001 +00000000 +FFFFFFFF +0000FFFF +0000FFFF +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +0001FFFF +00000000 +FFFE0001 +0000FFFF +0000FFFF +00000000 +00000000 +00010000 +00010000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFFFFFF +00010001 +00010000 +00000000 +0000FFFF +00010000 +00010000 +00010000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000001 +00010000 +00000000 +00000000 +FFFF0001 +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +00010000 +00000000 +0000FFFF +00000001 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +FFFFFFFF +00000000 +00000001 +00000000 +0001FFFF +00010000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +FFFFFFFF +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +FFFF0000 +FFFF0001 +00010000 +0001FFFF +00000000 +FFFF0001 +00000000 +00000000 +00010000 +00000000 +0000FFFF +0000FFFF +FFFF0000 +00010001 +00000000 +0000FFFF +FFFF0000 +00010000 +00000000 +FFFF0000 +FFFF0001 +00000001 +FFFF0000 +00000000 +0000FFFF +FFFF0001 +FFFEFFFF +00000000 +00000000 +00000001 +00000001 +0001FFFF +00000000 +00000000 +FFFF0000 +00010001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0001FFFF +00010000 +00000000 +0000FFFF +00010000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00000000 +00000001 +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +00000000 +00000000 +00010000 +00000001 +00000000 +00010000 +00000000 +00010000 +FFFFFFFF +0000FFFF +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +00000001 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0001FFFF +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000001 +00000001 +00000000 +FFFE0000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0001 +00010000 +00000001 +00000000 +00000000 +00010001 +00000000 +00010001 +00000001 +00000000 +FFFF0000 +00010000 +FFFFFFFF +00010001 +FFFFFFFF +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +FFFFFFFF +00000000 +FFFF0001 +00000000 +FFFF0000 +00000000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +FFFF0001 +00000001 +0001FFFF +0000FFFF +0000FFFF +00000001 +00000001 +00000001 +00000001 +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +00000001 +0000FFFF +0000FFFF +00000000 +00000000 +FFFFFFFF +00010000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000001 +0000FFFF +00000001 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000001 +00010000 +00000001 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +0001FFFF +00010001 +00000000 +FFFE0000 +FFFC0000 +FFEFFFFF +FFFC0000 +FFFE0000 +00000000 +00000001 +00010001 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00010001 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00010000 +00000000 +0000FFFF +00000001 +0000FFFF +FFFFFFFF +FFFFFFFF +00000000 +0001FFFF +00000001 +00000000 +0000FFFF +FFFF0000 +00000001 +00000001 +00000000 +00000000 +00010001 +00000000 +0000FFFF +0000FFFF +00000001 +0000FFFF +00000001 +00010000 +00000000 +0001FFFE +00020000 +0000FFFF +00000001 +FFFF0000 +0001FFFF +00010000 +0000FFFF +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000001 +00000000 +00000001 +0000FFFF +00000000 +FFFF0001 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +FFFFFFFF +0000FFFF +00000000 +00010000 +00010000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000001 +00000000 +00000001 +00010000 +FFFF0000 +FFFF0000 +00010000 +00010000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +00010000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000001 +FFFF0000 +0000FFFF +0000FFFF +00010000 +00010000 +FFFF0000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000001 +0000FFFF +00000000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00010000 +FFFF0000 +FFFF0001 +00000000 +FFFF0000 +0000FFFF +00000001 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFFFFFF +00000000 +00010000 +00010000 +00000000 +0000FFFF +00010000 +00010000 +0000FFFE +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00010001 +00000000 +FFFF0001 +FFFF0000 +00010000 +00010001 +00000000 +00000001 +FFFFFFFF +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000001 +FFFE0000 +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +00010000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +FFFF0001 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00010000 +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +00010000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000001 +00000001 +00000000 +0000FFFF +00010000 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00010000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +0001FFFF +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0001 +0000FFFF +00010000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +00010000 +0000FFFF +00000000 +00000001 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +0000FFFF +FFFFFFFF +FFFF0000 +00000000 +00000001 +00010000 +00000001 +0000FFFF +FFFFFFFF +00000001 +00000000 +00010000 +00000000 +00000000 +00010001 +00000000 +FFFF0001 +0000FFFF +FFFF0001 +0000FFFF +0000FFFF +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +FFFF0001 +00010000 +00000000 +00010000 +FFFF0000 +00010001 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0001FFFF +FFFF0000 +FFFF0000 +FFFFFFFF +00000000 +0000FFFF +00000000 +00010001 +0001FFFF +00000000 +00000000 +00010000 +FFFFFFFF +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +0000FFFF +00000000 +00010000 +00010000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000001 +00010000 +00000000 +00010001 +00000000 +00000000 +FFFF0001 +00010000 +FFFF0000 +00000001 +0000FFFF +00010000 +0000FFFF +00000001 +FFFF0000 +00000000 +0000FFFF +00010000 +00000000 +00010000 +00000000 +00000001 +00010001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFE0001 +FFFD0002 +FFF2000B +FFFE0002 +FFFF0002 +00010000 +0000FFFF +0000FFFF +0000FFFF +00010000 +00010000 +00000000 +00010000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +0001FFFF +00000000 +00010000 +00000000 +00010000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00020000 +FFFFFFFF +00000001 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +FFFF0001 +00010000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +FFFF0000 +0000FFFF +FFFF0001 +00000001 +00010000 +00000000 +00000000 +00010000 +0001FFFF +FFFF0000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00010000 +00000001 +00000001 +00010001 +00010000 +00000001 +00000001 +00000000 +FFFF0000 +FFFF0001 +0000FFFF +FFFF0000 +00000000 +00000000 +00020000 +00010000 +00000001 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00010000 +0000FFFF +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000001 +FFFF0000 +FFFF0000 +00010000 +00000000 +00010000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000001 +0001FFFF +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +0001FFFF +FFFFFFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +FFFF0000 +FFFF0001 +00000000 +00010000 +00000000 +00000001 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +0000FFFF +0000FFFF +00010000 +00000000 +FFFE0001 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00010001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +0000FFFF +0000FFFF +0000FFFF +00000000 +00000000 +00000001 +0000FFFF +0000FFFF +00010000 +FFFFFFFF +0000FFFF +00000001 +00010000 +00000001 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00010000 +00000000 +FFFF0001 +00000000 +00000000 +FFFE0000 +0000FFFF +00000001 +00000000 +00000000 +00010000 +FFFF0001 +00000000 +00000000 +00000001 +FFFFFFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00010000 +00000001 +00000001 +FFFF0000 +00000000 +00000001 +00000001 +00000001 +FFFF0000 +00000001 +00010000 +00000000 +00000000 +00010001 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00010000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00010001 +00000000 +00000001 +0001FFFF +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0001 +0001FFFF +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +0000FFFF +0000FFFF +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +FFFF0000 +0000FFFE +00000001 +00000001 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00010000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0001FFFF +00010001 +00000001 +00000001 +00010000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00010000 +00000001 +0000FFFF +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000001 +0000FFFF +00010000 +FFFF0000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00010001 +FFFFFFFF +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00010001 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00010000 +0001FFFF +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00010000 +00000000 +00010001 +00000000 +FFFFFFFF +FFFF0001 +00000000 +00010000 +0000FFFF +00000000 +00010000 +00000000 +0000FFFF +00010000 +00010001 +00000001 +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +0001FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00010000 +00010000 +00010000 +00000000 +FFFF0000 +0000FFFE +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000002 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00010001 +0000FFFF +00010000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0001 +00000000 +0000FFFF +00000001 +00000001 +00000000 +FFFF0000 +00000000 +00000001 +00010000 +0001FFFF +00000000 +00000000 +00000001 +00000000 +FFFF0000 +0001FFFF +FFFF0001 +00000000 +FFFF0000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000001 +00000001 +00000000 +0000FFFF +0001FFFF +FFFF0000 +00010000 +FFFF0002 +00000003 +FFFC0012 +FFFF0004 +FFFF0001 +0000FFFF +00000000 +0000FFFF +FFFFFFFE +FFFF0000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000001 +00010000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00010001 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +0000FFFF +0000FFFF +FFFF0000 +FFFF0000 +00010000 +00000000 +00000000 +00010000 +FFFF0001 +FFFF0000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00010000 +00000000 +00000000 +00010000 +00000001 +00000001 +00000002 +00000001 +00000001 +00010000 +00000000 +FFFEFFFF +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00010001 +00010000 +00010000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000001 +00010000 +00000000 +00000000 +0000FFFF +FFFF0001 +00010000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000001 +00010000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0001 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +FFFF0001 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +FFFF0001 +00010001 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00010000 +0001FFFF +00000000 +00000000 +00000001 +00010000 +0000FFFF +FFFF0000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000001 +00000001 +0000FFFF +FFFF0000 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0001 +00000001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00010000 +FFFF0000 +FFFF0000 +0001FFFF +00000000 +00000001 +00010001 +00000001 +0000FFFF +FFFF0001 +00000000 +00000001 +00000000 +FFFF0000 +00010001 +00010000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00000000 +00000001 +FFFFFFFF +00000001 +0000FFFF +00000000 +00000001 +FFFF0000 +00000000 +00000001 +00010000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +0001FFFF +0000FFFF +FFFF0000 +FFFF0001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00010001 +00000000 +00000000 +00010000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +0000FFFF +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +00010001 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00000000 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00010001 +0000FFFF +00000001 +00000001 +00010000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0001 +00000000 +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000001 +00000000 +00000000 +FFFF0001 +00000000 +00010000 +FFFF0000 +00000001 +0000FFFF +00000000 +00000000 +00000001 +00000001 +00010000 +00010000 +00000000 +00000001 +00010000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +00000001 +0000FFFE +00000001 +00000000 +00010001 +00000000 +00000000 +00000001 +00000001 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00010000 +FFFF0000 +00000001 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000001 +00010000 +00000000 +00000001 +00010001 +FFFF0000 +00010000 +00000000 +00010000 +FFFF0000 +0000FFFF +FFFFFFFF +FFFF0000 +0000FFFE +00000000 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +FFFF0001 +00010001 +00010000 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000001 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00010001 +FFFF0000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0001FFFF +00000000 +00000000 +FFFF0000 +00010000 +00000001 +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00010001 +00010000 +00000000 +0000FFFF +FFFFFFFF +00010000 +00000000 +00010002 +00020002 +0009000F +00020002 +00010002 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000001 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000001 +00000000 +00010000 +FFFF0000 +FFFF0000 +00010001 +FFFF0000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00010001 +FFFF0000 +FFFFFFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00010000 +FFFFFFFF +00000000 +00010000 +00000000 +00010000 +FFFF0000 +00000000 +FFFF0000 +0000FFFF +FFFFFFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00000001 +00000000 +00010000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000001 +00000000 +0000FFFF +0000FFFF +FFFF0000 +0000FFFF +0000FFFF +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +FFFFFFFF +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00000001 +00000001 +00000000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00010000 +0000FFFF +00000000 +00010001 +0000FFFF +0001FFFF +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +00000001 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +FFFFFFFF +00000000 +00000000 +0000FFFF +0001FFFF +00000000 +00000000 +00010000 +0000FFFF +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000001 +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010001 +00000001 +FFFF0001 +FFFFFFFF +00000000 +00000001 +00000000 +00010001 +00000000 +00000000 +00000000 +FFFF0001 +0000FFFF +0000FFFF +00000001 +FFFFFFFF +0000FFFF +00000000 +00000000 +00000000 +0000FFFE +00000000 +00000000 +00000001 +FFFFFFFF +00010000 +0000FFFF +0000FFFF +00000000 +FFFF0001 +00010000 +00000000 +00000000 +00000000 +00010000 +00010000 +FFFF0000 +00010001 +00000001 +00000000 +0000FFFF +FFFF0000 +00000001 +00000000 +00000000 +00010000 +0001FFFF +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +0000FFFF +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +0000FFFF +FFFF0001 +00000000 +FFFF0000 +00000001 +00000000 +FFFFFFFF +FFFF0000 +00010001 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000001 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +FFFF0000 +0000FFFF +00000000 +00010000 +00000000 +00000001 +00000000 +0000FFFF +FFFFFFFF +00010000 +0000FFFF +00010000 +00010000 +00000000 +FFFF0000 +FFFFFFFF +00000000 +00000000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00010000 +00010000 +00010000 +00000000 +00000001 +00010000 +00000000 +FFFF0001 +0000FFFF +00000001 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFFFFFF +00000001 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000001 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +0001FFFF +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00010001 +00010000 +0000FFFF +FFFFFFFF +0001FFFF +00000001 +0000FFFF +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +00000001 +00010001 +00010001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000001 +00000000 +FFFF0000 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +00000000 +00000000 +0001FFFF +FFFF0001 +00000000 +00000000 +00010000 +00000000 +00000001 +0000FFFF +FFFF0001 +00000000 +00010000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00010000 +00000000 +0000FFFF +00000000 +00010002 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0001FFFF +00000001 +0000FFFF +00010000 +FFFF0001 +FFFFFFFF +00000000 +0000FFFF +FFFF0000 +00010000 +00000001 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +0001FFFF +FFFF0000 +FFFF0000 +00000000 +FFFF0000 +00000000 +0000FFFF +0001FFFF +00000000 +00000001 +FFFF0001 +0000FFFF +FFFF0001 +00010001 +00010001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00010000 +0001FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00000001 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +FFFF0001 +FFFFFFFF +00000000 +00000000 +00010000 +00010000 +00020001 +00030000 +00110005 +00040001 +00020000 +FFFFFFFF +0000FFFF +00010001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +0001FFFF +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00000001 +0001FFFF +FFFF0000 +00000000 +00000001 +FFFF0000 +0000FFFF +00000000 +0000FFFF +FFFF0000 +00000001 +00000001 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFFFFFF +00000001 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00010000 +00010000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000001 +00010000 +00000000 +00010000 +FFFFFFFF +FFFF0000 +00010000 +0001FFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000001 +0001FFFF +0000FFFF +00010000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +0001FFFF +0000FFFF +0000FFFF +00000000 +00010000 +00010001 +00000001 +00000000 +00000000 +00000000 +00010000 +FFFFFFFF +00000001 +00000000 +00010000 +FFFFFFFF +FFFF0000 +00000001 +00000001 +00000001 +0001FFFF +00000000 +00000000 +FFFFFFFF +FFFF0000 +00000000 +FFFF0001 +00010000 +00010001 +0000FFFF +00010000 +00000000 +00000001 +FFFF0000 +00000000 +00000001 +FFFEFFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +0000FFFF +00000000 +FFFFFFFF +00010000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +00000000 +0001FFFF +00010000 +00010000 +0000FFFF +00000001 +FFFFFFFF +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +00000000 +00000001 +FFFFFFFF +FFFF0000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +FFFF0001 +00000000 +FFFF0000 +00000000 +0000FFFF +00010000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +00000000 +00000000 +00010001 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00010001 +00000000 +0000FFFF +00000000 +FFFF0000 +FFFF0000 +00000001 +00000000 +FFFF0000 +00010001 +0000FFFF +00020000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFF +0000FFFF +FFFF0000 +0001FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00010000 +00010000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +FFFF0001 +00010000 +FFFF0001 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +0000FFFF +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000000 +0001FFFF +00000001 +FFFF0000 +00010000 +00010000 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +00010000 +FFFF0001 +FFFF0001 +00020000 +0000FFFF +0000FFFF +00000000 +FFFF0000 +00020001 +FFFF0000 +FFFF0000 +00010001 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +0000FFFF +FFFF0000 +00010001 +FFFF0000 +0000FFFF +00010000 +FFFF0000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +0000FFFF +FFFFFFFF +00000000 +00000000 +00000001 +FFFF0000 +00010000 +0001FFFF +0000FFFF +00000001 +0000FFFF +00000000 +0001FFFF +00000001 +00010001 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00010000 +FFFF0000 +00000000 +00000000 +00010000 +0000FFFF +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000001 +00000000 +00010000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +0000FFFF +0000FFFF +00010001 +00000000 +00010001 +00000000 +00000001 +00000000 +00000000 +00000001 +00010000 +00000001 +00010000 +00000000 +00000001 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +FFFF0000 +00000001 +00000000 +00000001 +0000FFFF +00000000 +00010000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000001 +00010001 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +FFFF0000 +00000001 +00000001 +FFFF0001 +00000000 +00000000 +00000001 +00000001 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00010001 +0001FFFF +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000001 +00010000 +00020000 +0003FFFE +0010FFF8 +0004FFFE +00020000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000001 +00010000 +00000000 +FFFF0001 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +00010000 +00000000 +00010000 +00000000 +00010000 +FFFF0000 +00000000 +00010000 +FFFF0000 +0001FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00010001 +00010000 +00000000 +00000000 +FFFFFFFF +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00010000 +00000001 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +0002FFFE +00010000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +0001FFFF +FFFF0000 +0000FFFF +FFFF0000 +00010000 +0000FFFF +FFFF0001 +00000000 +0000FFFF +00010000 +00000001 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000001 +00010000 +0000FFFF +00000000 +00000000 +0000FFFE +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +00000001 +00000001 +00000001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0001FFFF +00000000 +0001FFFF +FFFF0001 +00010000 +00000000 +00000000 +00000000 +0000FFFF +FFFFFFFF +00010000 +00010001 +00000001 +00000000 +00000000 +00000000 +00010000 +00000000 +FFFF0001 +0000FFFF +00000001 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00010001 +00000000 +00000000 +00000000 +00010000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +00000001 +0000FFFF +00010000 +FFFF0000 +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +00010000 +0000FFFF +00010001 +0001FFFF +00000000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +FFFFFFFF +0000FFFF +0001FFFF +00000001 +00000001 +00010000 +00010000 +00000000 +00000000 +0000FFFF +00010000 +FFFF0000 +00010000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00010000 +00000001 +FFFFFFFF +00000001 +00000000 +00010000 +0001FFFF +FFFFFFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +0000FFFF +00000001 +00000000 +0000FFFF +FFFF0000 +00000001 +0000FFFF +00000000 +00000001 +00000001 +00000000 +00010001 +0000FFFF +FFFF0000 +00010000 +00000000 +00000000 +00000001 +00000001 +0000FFFF +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +0000FFFF +00000001 +FFFF0000 +00000000 +0000FFFF +00000001 +00000001 +00010000 +00000000 +FFFF0000 +00000001 +00010000 +00010000 +00000000 +0000FFFF +FFFF0001 +0000FFFF +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +FFFF0000 +0000FFFF +00000001 +00000001 +00000000 +FFFF0000 +00000000 +0001FFFF +00000000 +00010000 +0001FFFF +00000001 +00000001 +00010000 +FFFF0000 +00000002 +00010000 +00000000 +00000000 +FFFF0000 +00010001 +00000000 +00000000 +00000001 +0000FFFF +00000000 +FFFF0001 +00000001 +00000001 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +00010000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00010000 +00010000 +00000001 +0000FFFF +00010000 +00000000 +FFFFFFFF +0000FFFF +00000000 +0000FFFF +00000001 +FFFF0000 +0000FFFF +00010000 +00010000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00010000 +00010000 +00000000 +00000001 +00000000 +FFFF0001 +00010000 +00000001 +00010000 +0001FFFF +00000001 +00000000 +00010001 +FFFF0000 +00010000 +00000000 +0001FFFF +FFFFFFFF +00000000 +00000001 +FFFF0000 +FFFF0000 +00010000 +FFFF0000 +FFFF0000 +00010000 +00000001 +00000001 +FFFF0000 +FFFFFFFF +00000001 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +FFFF0000 +0000FFFF +00010000 +00000000 +0000FFFF +00000000 +00000000 +00010001 +00000001 +00000000 +00000000 +00010000 +FFFFFFFF +00010001 +00000001 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +FFFF0000 +00010000 +00000001 +00000000 +FFFF0000 +00010001 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00000001 +0001FFFF +FFFF0001 +00000001 +00000000 +00000001 +0000FFFF +00010001 +00000000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00000001 +FFFF0000 +00000000 +00010000 +0000FFFF +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +0001FFFF +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00000000 +00000001 +0000FFFF +00000001 +0001FFFE +0002FFFD +0008FFEF +0002FFFC +0000FFFE +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00010000 +00000000 +FFFF0000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +FFFF0002 +00000000 +00000000 +0001FFFF +0000FFFF +00010001 +00000000 +0001FFFF +00010000 +00010000 +0000FFFF +00000001 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFF0000 +00010000 +00000001 +00000000 +00000000 +00000000 +00010000 +0000FFFF +FFFF0000 +00000000 +FFFF0001 +0000FFFF +00000000 +FFFFFFFF +0001FFFF +00000001 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00000000 +00010001 +00010000 +00000000 +0001FFFF +0001FFFF +FFFF0000 +00000000 +00020000 +FFFF0000 +FFFF0001 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000001 +00000001 +00000000 +00010000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFFFFFF +00000000 +00010000 +00000000 +00010000 +0000FFFF +0000FFFF +FFFF0000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +FFFFFFFF +FFFF0001 +00010000 +00000001 +00000000 +00010000 +00000001 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +00010001 +00000000 +00000000 +00000001 +00000001 +00000001 +00000000 +FFFF0000 +00000000 +0000FFFF +00000001 +00000000 +FFFF0001 +FFFF0000 +00000001 +00000000 +FFFFFFFF +00010000 +00000001 +0000FFFF +00010000 +00020000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +0000FFFF +FFFF0001 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00010000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00000001 +00010000 +FFFF0000 +0001FFFF +00000000 +00000000 +00000000 +0001FFFF +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0000 +FFFF0001 +0001FFFF +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00000001 +FFFF0000 +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +0001FFFF +00000000 +00010000 +00000000 +FFFF0000 +00000000 +FFFFFFFF +FFFF0000 +FFFF0000 +0000FFFF +00010000 +00010000 +00000000 +0000FFFF +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00010000 +0000FFFF +00010000 +00000000 +00000000 +00000000 +00010001 +00000000 +00000000 +FFFF0000 +00000000 +00000001 +00000000 +FFFF0000 +00000000 +FFFF0000 +0001FFFF +00000000 +FFFFFFFF +0001FFFF +00000001 +00010000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00010000 +00010001 +0000FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000002 +0000FFFF +00000000 +0001FFFF +0000FFFF +00000001 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00010001 +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +00000001 +FFFF0001 +00000000 +00000000 +00000001 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00010000 +00010000 +00000001 +00010000 +0001FFFF +00000001 +00010000 +00000000 +00010000 +FFFF0001 +FFFF0000 +00010000 +00010000 +00000000 +00000000 +FFFF0001 +00010001 +00000000 +00000000 +00000000 +00010000 +00000000 +00000001 +00000000 +FFFF0000 +0000FFFF +00010000 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00010000 +00000000 +00000000 +0001FFFF +00000000 +FFFF0001 +00000000 +FFFF0000 +0000FFFF +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00010001 +00000000 +00000000 +00010000 +00000000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +0000FFFF +00000001 +00000000 +FFFF0000 +00000001 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00010001 +0001FFFF +00000000 +00000000 +0000FFFF +FFFF0000 +FFFF0000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +0001FFFF +0000FFFF +FFFF0001 +00000001 +00000000 +0000FFFF +00000000 +00010000 +FFFF0000 +FFFF0001 +0000FFFF +00000000 +FFFF0000 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000001 +00000001 +FFFF0000 +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +0001FFFF +00000000 +00000000 +00000000 +0000FFFF +00010000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000001 +FFFFFFFF +FFFF0000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +0001FFFF +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +0001FFFF +FFFF0000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +00000000 +FFFF0001 +00010000 +0000FFFF +0001FFFF +00000000 +00000000 +0000FFFF +00000000 +FFFFFFFE +FFFFFFFD +FFFAFFEF +FFFFFFFD +0000FFFE +FFFFFFFF +FFFFFFFF +00010000 +00000000 +00000001 +0000FFFF +00000000 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +FFFF0000 +00000000 +FFFF0000 +00010000 +00000001 +00000000 +00000001 +FFFF0000 +00010000 +00000000 +00010000 +00010000 +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +00010000 +00000000 +0001FFFF +00010000 +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFFFFFF +00000000 +0001FFFF +0000FFFF +0001FFFF +00000000 +0000FFFF +00000001 +FFFF0000 +00000000 +00000000 +FFFF0000 +0000FFFF +00000001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +00000000 +FFFF0001 +00000000 +00000000 +00000001 +00010000 +0000FFFF +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00010001 +00000001 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000001 +FFFF0001 +00000000 +00010000 +FFFF0000 +FFFF0000 +00000000 +00000000 +FFFF0001 +00010000 +00000000 +00000001 +00000000 +00000000 +00010001 +0000FFFF +0000FFFF +FFFF0000 +0000FFFF +00010000 +00000001 +00020000 +00000001 +0000FFFF +FFFF0000 +00010000 +00000000 +00000000 +00000000 +FFFFFFFF +00000000 +FFFF0000 +00000000 +00010000 +00000001 +00000000 +00000000 +FFFF0000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +00000001 +0000FFFF +00000000 +00010001 +00000000 +00000001 +0000FFFF +0000FFFF +0000FFFF +FFFF0000 +00000000 +0000FFFF +00000000 +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +0000FFFF +FFFF0001 +00000000 +00000001 +00000000 +FFFFFFFF +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +0000FFFF +FFFE0000 +00000000 +00000000 +00000000 +00000000 +00010000 +00000001 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +FFFFFFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000001 +00010000 +0000FFFF +00000001 +00000000 +00000000 +FFFFFFFF +00010000 +00010000 +00000000 +00010000 +00000001 +FFFF0001 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00010000 +00010000 +00000000 +00000000 +FFFF0001 +00000001 +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000001 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +00010000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00010001 +FFFF0000 +FFFF0001 +FFFF0001 +0000FFFF +00010000 +FFFF0000 +00010000 +00000001 +00010000 +00010000 +00000000 +00000001 +00000001 +00010000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00010001 +0000FFFF +FFFF0000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000001 +FFFF0000 +00000000 +00010000 +00000000 +0001FFFF +00000001 +00010000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010001 +FFFF0000 +00000000 +00000000 +FFFF0001 +00000001 +FFFF0001 +00000000 +00010000 +FFFF0000 +00000000 +0000FFFF +00010000 +00000000 +0000FFFF +0000FFFF +00000000 +0000FFFF +00010000 +00000000 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000001 +0000FFFF +00010000 +0000FFFF +FFFE0000 +0000FFFE +00000000 +FFFF0001 +FFFF0000 +00000000 +00000000 +FFFF0000 +00000001 +00000000 +0001FFFF +00000001 +00010000 +00000001 +00000000 +00000000 +00000000 +00000000 +FFFF0001 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +0000FFFF +00000000 +00010000 +FFFF0000 +00010000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +0000FFFF +00000000 +FFFF0000 +0000FFFF +0000FFFF +FFFF0000 +00010001 +00000000 +00000000 +00000000 +FFFF0001 +00010000 +FFFF0000 +0000FFFF +00000000 +00010001 +FFFF0000 +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00010000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +FFFF0000 +FFFF0000 +00000000 +00010000 +0000FFFF +00010000 +00000000 +00000001 +00000000 +00010000 +00010000 +00000000 +00000001 +FFFF0000 +0000FFFF +FFFFFFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +FFFF0001 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +0001FFFF +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0001 +FFFFFFFF +00000000 +00010000 +00000001 +FFFF0001 +FFFF0001 +00000000 +00000000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00000001 +00010000 +00010000 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +0000FFFF +FFFF0001 +0001FFFF +FFFF0000 +00000001 +00000000 +0000FFFF +0000FFFF +FFFF0000 +0001FFFF +FFFEFFFF +FFFDFFFF +FFF0FFF8 +FFFDFFFF +FFFEFFFE +00010001 +00000000 +FFFF0000 +00010001 +0001FFFF +00000000 +00010000 +00010000 +00000001 +00000002 +00000000 +0000FFFF +00010000 +00000000 +00010000 +0000FFFF +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00010000 +00000000 +FFFF0000 +FFFF0000 +00010000 +00000000 +00000001 +00010000 +00000000 +00000001 +00010001 +00000000 +FFFF0000 +00000000 +FFFFFFFF +00000000 +00000000 +FFFF0000 +00000001 +00000001 +00000000 +00000000 +0000FFFF +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +FFFF0000 +00010000 +FFFFFFFF +0000FFFF +00000000 +00000000 +FFFFFFFF +FFFF0000 +0000FFFF +FFFF0001 +FFFF0000 +00000000 +00000001 +0000FFFF +00010001 +00010000 +00010001 +00000000 +00000001 +00000000 +00010000 +0000FFFF +FFFFFFFF +0000FFFF +00000001 +00000000 +0000FFFF +00010000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +0000FFFF +00000001 +00010000 +0000FFFF +00000001 +00000000 +0000FFFF +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +FFFF0001 +FFFF0000 +00000000 +0001FFFF +FFFF0000 +00010000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +0000FFFF +00010000 +00000000 +FFFF0000 +FFFF0000 +0000FFFF +0000FFFF +00000000 +00000001 +0000FFFF +FFFF0000 +0001FFFF +00000000 +00010000 +00000000 +FFFF0000 +0001FFFF +00000000 +00010000 +00000001 +00000000 +0000FFFF +00000000 +00010001 +00000001 +0000FFFF +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00010000 +00000000 +FFFF0000 +FFFF0000 +00000001 +00010000 +00000000 +00010000 +00000000 +00000000 +00010000 +FFFF0001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 +00020000 +00010000 +0000FFFF +00010000 +0000FFFF +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00010000 +00010000 +00000001 +FFFF0000 +00000000 +FFFF0000 +FFFF0000 +00000000 +00000000 +00010000 +00000001 +00010000 +00000001 +00000000 +00010000 +00000000 +00000000 +00000000 +00010001 +00010001 +FFFF0000 +00010000 +00000000 +00000001 +FFFF0002 +00000000 +00010001 +FFFF0000 +00000001 +0000FFFF +FFFF0000 +FFFF0001 +FFFF0000 +00010000 +00000000 +0000FFFF +FFFF0000 +0001FFFF +0000FFFF +0001FFFF +00000000 +00010000 +0000FFFF +FFFF0001 +00000001 +00000001 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +FFFF0000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +FFFF0000 +00000000 +00000000 +FFFF0001 +00010000 +FFFFFFFF +0000FFFF +FFFF0000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +FFFF0000 +FFFF0000 +00000000 +0001FFFF +00000001 +00010000 +00010000 +FFFFFFFF +00010000 +0000FFFF +00000000 +00000000 +00000000 +00010000 +00000000 +0000FFFF +00000000 +FFFF0001 +00010000 +00000000 +FFFF0001 +00000001 +FFFFFFFF +FFFFFFFF +00000000 +FFFF0000 +00000000 +00010000 +FFFF0001 +FFFFFFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +FFFF0000 +FFFF0001 +00000000 +00010000 +00010000 +00000001 +00000000 +00000000 +00010001 +00010000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +0000FFFF +FFFF0000 +00000000 +FFFF0000 +00010000 +00000001 +00000000 +00000000 +0000FFFF +0000FFFF +00000000 +FFFF0001 +00000000 +00010000 +00000000 +00000000 +00010000 +00010000 +00000000 +00000000 +00000001 +00000000 +00000001 +00000000 +FFFF0001 +00000000 +00000000 +0001FFFF +00000000 +00010000 +0000FFFF +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00010000 +00000001 +FFFF0000 +00000000 +00000000 +00000000 +00000000 +00010000 +0001FFFF +FFFF0002 +00000000 +00000000 +00000000 +0000FFFF +00000001 +00000000 +00000000 +FFFFFFFF +00010000 +00000000 +00000000 +00000000 +FFFFFFFF +0000FFFF +00000000 +FFFF0001 +00000000 +00000000 +00010000 +0000FFFF +0000FFFF +00000000 +00010000 +00010000 +0000FFFF +00000001 +00000000 +00000000 +00000000 +00000000 +0001FFFF +00000000 +FFFFFFFF +00000000 +FFFFFFFF +00010000 +0000FFFF +00000000 +FFFF0000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0000FFFF +00000000 +00000000 +00000000 +00000000 +00000000 +0000FFFF +00000000 +00000000 +0001FFFF +00000001 +00000000 +00000000 +FFFF0000 +FFFFFFFF +00010000 +00010000 +00000000 +0000FFFF +FFFF0001 +00000000 +FFFF0000 +00000000 +00000000 +00000000 +FFFF0000 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_i.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_i.hex deleted file mode 100644 index 1a297c1..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_i.hex +++ /dev/null @@ -1,2048 +0,0 @@ -BB33 -0BD4 -0765 -FB53 -FFBD -0091 -FE1C -FF71 -001D -FF00 -FF51 -FF89 -FF2F -FD87 -028A -224F -E28E -07D3 -FE5A -00F6 -0108 -FF96 -FEE9 -00CD -0056 -FF55 -FF3C -0086 -FF8C -FDEE -0441 -0E93 -A64E -221C -05BC -FBC1 -00BE -FF70 -0013 -FF56 -00F2 -FF6E -0090 -FF17 -0162 -FC32 -FDC1 -2DF6 -B22D -2219 -0280 -FBEA -0114 -FF80 -FFA5 -FF32 -00DF -FFE7 -FFBC -005A -FF94 -FEA0 -FF03 -2392 -0D26 -FBFD -0785 -FBE6 -0007 -001F -FFA5 -011A -FE12 -0113 -FFA9 -00BE -FF6D -FE69 -06D9 -F172 -196D -F88F -0494 -FCF9 -FFF5 -0022 -004A -FFB3 -FF39 -FFFD -00A8 -008F -FF95 -FFBE -043A -EC09 -D001 -127D -0293 -FC4C -0201 -FE9E -00C7 -FFAE -001D -0079 -FEED -00A0 -FFF5 -FBE4 -05CD -1576 -D1D6 -0C3F -06FB -FD7B -FFB4 -FFE6 -008D -FED8 -00EE -FFD3 -0031 -FF1F -001C -FE90 -028B -179E -915B -3C93 -F628 -00BB -FF37 -004E -FFE7 -FF79 -FFBF -0027 -FF78 -007F -FF47 -0168 -F899 -2F35 -9155 -390F -FC45 -FCBB -00F9 -0022 -FF81 -0016 -FF03 -00B5 -FF49 -007B -0037 -0082 -F831 -3124 -53A5 -DC3C -FCAA -04A3 -FF05 -0042 -FFCB -014E -FEE1 -0024 -00B0 -0013 -FEFD -04E2 -FC0B -DBF0 -36AF -E5ED -03C4 -004D -0023 -FF46 -00B0 -0014 -006D -000B -003A -FE99 -0119 -0166 -022A -E4C2 -B3CD -298E -FB88 -FFF6 -00AA -FF53 -FFA3 -0083 -FF9B -0016 -FFE0 -0092 -00D2 -FB89 -0329 -1C8D -B17C -2959 -FDA2 -FF4F -FFE9 -FF7C -FF29 -00BA -FF24 -00A7 -002A -00F3 -0037 -FBCC -023B -1E0C -6710 -D1A7 -07B9 -FF80 -FE93 -00A4 -004C -002F -FFD0 -FFCD -008B -0076 -FE85 -0110 -0920 -C8CB -7070 -D043 -0087 -01AB -FFA9 -0164 -FFD0 -0088 -FF62 -FFBF -0041 -FF33 -FFC9 -009A -086C -C5D2 -01BA -FFEE -03FB -FF1D -FFDE -FF84 -00CF -FF7D -001C -0034 -0037 -FFD5 -0144 -F98E -0DE7 -F58D -FB3E -0282 -0164 -005F -FF8B -00CB -FFE5 -011F -FDFE -00CE -0060 -FF0D -0099 -FBB1 -074F -FE91 -0840 -01D4 -FA96 -028C -FF10 -0051 -0027 -000A -FF46 -FFF4 -00BC -0002 -FF1E -006B -01C3 -F824 -091A -01A0 -F94B -02C1 -004D -FFA0 -0038 -0074 -FEF6 -00B0 -0003 -001F -FF2F -0040 -01F6 -F874 -177F -FF78 -F917 -0165 -FEFD -01EA -FF02 -FF0A -01F9 -FE8C -004D -002D -FF2B -0272 -0102 -EE3C -21D3 -FC74 -F4FC -032F -FFCF -0087 -FF64 -002C -0153 -FF04 -FFC6 -00BF -0037 -0001 -01E6 -EA3E -7FFF -B1C6 -1DAE -F303 -FFE1 -02BF -FD1D -0121 -007D -FEF2 -012E -0053 -FE93 -0271 -0FBF -96A9 -7FFF -AE47 -058F -FC54 -0066 -FFC6 -FFF4 -01A2 -FF0A -FF9F -FFFD -FFE4 -FF7A -0718 -09AC -8000 -99A1 -1543 -0916 -FD81 -0160 -FE4E -00F1 -FFC1 -FEBB -020D -FEEE -FF9B -0144 -FACA -F9F3 -4643 -878F -19CD -133C -F990 -00EA -FE35 -012E -FE7C -0075 -004F -FF54 -00D4 -FE7A -FF07 -F80A -4C08 -8000 -6E79 -0605 -F621 -0204 -FFEE -FE76 -0081 -FFD0 -FFBD -0093 -FF63 -008C -FA14 -FA32 -7653 -8000 -6A55 -0B9A -F488 -011B -FF1F -FF6A -0001 -FEA6 -0213 -FDD0 -0228 -FC15 -0201 -F7E4 -6FC7 -4DB5 -0EAF -DE54 -096F -FE27 -FF79 -007E -FF72 -FFCD -00C9 -FD7A -0239 -FE0B -06A7 -05F8 -BA66 -624A -F176 -EC71 -0887 -FD84 -049A -FC22 -0112 -0028 -FF44 -02A9 -FB81 -040A -FEC4 -0A24 -B6BE -8BC7 -2EE8 -0530 -FBB9 -00E4 -FF27 -FFE9 -01DF -FC6B -022C -FEF2 -0053 -0196 -F8C9 -0459 -3511 -9301 -29CF -0825 -FB9E -FFE6 -FF31 -007C -0104 -FD43 -0151 -FFD1 -FFFE -FF5A -FD5B -FED2 -347C -E97C -0E32 -FA0C -011D -003B -FF67 -0060 -005F -FF40 -00F2 -FE98 -0147 -FDB1 -FFDD -02FC -07BD -EA7E -0296 -015A -0068 -FFFD -0106 -FFE0 -FFFA -FF90 -00A4 -FF64 -FF74 -FF91 -0084 -FD6E -0F9E -D87C -1D60 -F19A -0580 -FF39 -FEB2 -00C7 -FF27 -00D4 -001E -FE5E -0194 -FF3B -FE88 -01E5 -0BE5 -D5F7 -15C8 -FBDF -02A2 -FE24 -00BD -FF6B -00D9 -FF8B -0028 -FFF7 -FF2A -011A -FF7B -FCE7 -129B -F167 -16CD -EC63 -0543 -FFD7 -FF81 -004E -0101 -FEA7 -0007 -FF57 -00E7 -FE73 -047F -FB38 -01A9 -EF50 -0B0D -F4ED -04BF -FF30 -0115 -FF2A -00C8 -FEBA -019D -FF3F -FE57 -01B6 -01D9 -F822 -0CF2 -8000 -502D -F4A5 -0001 -00A5 -FED4 -003A -0073 -FF84 -00E7 -FEDF -00E1 -FFCF -FFA8 -FB52 -3C6B -8000 -5175 -F9A7 -FE21 -FF8D -FEDA -FFF0 -FFFA -0006 -0075 -00C9 -FED7 -016D -FE0C -FA2C -41CE -ACF0 -3831 -F559 -FD9F -019B -FFBA -FF38 -00F5 -FEC2 -00DF -FF41 -008F -FF7F -02FA -FC3A -1971 -AB99 -32B6 -F8D2 -FDC2 -00E0 -FFB9 -FFEF -0072 -FE47 -0074 -0132 -FF8E -0038 -0031 -FA7D -21C2 -F4A1 -0A5A -00DA -FEC9 -0007 -0016 -FFCA -00A1 -FF35 -FFCA -00F2 -FF85 -0057 -03EA -F8BE -01E5 -EA2A -160C -FCBD -FD2F -0142 -FF66 -0002 -00D5 -FEEE -0076 -001B -FFDD -0056 -02E0 -FB8E -01AF -E109 -14ED -F198 -0530 -002A -FF81 -FFAE -004A -FFC5 -0011 -FFCC -FFB6 -0000 -0585 -F2FE -1344 -C65E -1D04 -F851 -00CB -00F4 -0046 -FFED -007A -FEF6 -003E -00A5 -FED1 -0174 -005C -FA01 -1E56 -FA8D -00DC -0455 -FFBA -FF51 -00F2 -FE44 -014A -FECD -FFB4 -022F -FED4 -0001 -05DE -F0DC -0948 -E609 -122D -063E -FA49 -00B4 -FE2D -011C -004A -FFFD -FFB1 -FFD2 -01B5 -FEB2 -02BD -FED0 -0168 -3755 -F524 -F080 -06AD -FF3C -FF32 -019C -FFA1 -0043 -0042 -FF76 -FFD9 -003C -FFB4 -0876 -DD65 -23A1 -F0FA -F620 -0911 -FD9C -013C -FFB0 -00B1 -005F -FFA2 -0128 -FDE1 -00A0 -FA4C -125C -E699 -8000 -7FFF -F188 -FEB5 -FE42 -00B0 -FF11 -FCA1 -05FF -FDF0 -FF4C -004D -011A -F704 -02FF -74FD -8000 -7FFF -EA15 -0077 -FF9D -0102 -FE84 -FFAC -0263 -FDBE -0157 -FEB5 -00DF -F778 -0354 -6C20 -8000 -6A06 -F27E -0086 -FEFB -00E7 -FF22 -0074 -FF85 -FFAC -FFD8 -FF14 -0101 -FC97 -F610 -7282 -8000 -638D -F00C -0088 -0160 -00BB -00EC -0067 -FDDD -00CB -FF92 -FE06 -00C6 -FC11 -F6AA -73E7 -8000 -7FFF -F266 -F1B2 -FFBE -0083 -FD42 -017C -FFE2 -FF1E -01E6 -007E -FFFA -FDA5 -02A6 -7BC8 -8000 -7FFF -ED03 -F4F7 -FF53 -FDDF -FCA9 -02B0 -0109 -0138 -FFA9 -FEEB -FF8D -0145 -FF77 -63DE -8000 -7FFF -EEC6 -EE5E -FFD7 -0074 -FD8D -02A4 -FC08 -0169 -009C -FECA -0109 -F860 -FBE9 -7FFF -8000 -7FFF -EAD8 -F34C -FFA1 -FF3E -FC7B -0198 -00DD -01CE -0026 -FAD0 -0177 -F7F2 -05A7 -7FFF -7FFF -8000 -2674 -01CD -0035 -FFEE -01B2 -008F -FE67 -0089 -0114 -FFDB -FE9D -FD36 -20DE -8000 -7FFF -8000 -20FC -0311 -FDF8 -FEDB -0555 -FED2 -FDB4 -FBD6 -013A -0579 -FFF2 -01A3 -0A29 -8000 -D20E -102E -E0F8 -0F31 -FE8B -FEB8 -0345 -FBF1 -035C -FF4E -FD48 -00B3 -FF77 -FDC0 -FC0F -29A7 -B581 -1198 -E869 -11BA -FE2F -006B -FDAE -FFF7 -0083 -012C -00DD -FBF4 -044D -F5C9 -0384 -3AFB -1FFD -B48E -113C -000B -0245 -005B -0110 -FFF9 -FFC5 -0038 -FEB8 -FE6D -0079 -FB9B -FA74 -272B -206F -BAD7 -0B5B -03E5 -0246 -FCB3 -01BF -002B -FEA9 -0109 -FCF1 -01CD -0066 -FDFD -F479 -2B5B -8000 -4AF9 -FB80 -00E7 -FEB0 -FE50 -023D -FD74 -0400 -FDDD -0004 -00C7 -00A2 -F762 -0577 -4896 -8000 -50BA -FA35 -0043 -FF07 -FFEB -FF98 -FBDD -074B -FC20 -0249 -FF27 -0117 -F787 -00E2 -4FAD -8000 -7FFF -FDCF -F7C3 -018C -FFC1 -FF03 -00AD -FED0 -001F -FFD5 -001B -000E -F9F9 -F619 -7FFF -8000 -7FFF -FF1A -F609 -01B3 -FE94 -FFC4 -FEA8 -0050 -0003 -FE7E -0237 -FF99 -FC46 -EFF8 -7FFF -3538 -F204 -FDE8 -0147 -0048 -FEE2 -00EC -0049 -FF66 -FF72 -017C -FFC3 -0036 -0218 -0304 -DD7D -1A30 -FC09 -0033 -FF63 -0025 -00A3 -FF88 -FFAD -01BA -FE2B -01F7 -FE7F -015D -FDB5 -0622 -EB05 -8000 -2629 -023D -029E -FE73 -0128 -001B -005D -FEDE -010B -FE85 -FFA0 -010B -F5B4 -FBBB -70AD -8000 -284D -0152 -01EC -0092 -FEE4 -0035 -FFBA -FE9F -01BF -FDC2 -000E -010E -F8F4 -F8A7 -6D88 -793C -B6DB -1387 -FC52 -0131 -FF8A -0158 -FFDE -FF74 -006F -0059 -002C -FF63 -FCE8 -0D44 -CC78 -6F1A -BE39 -0FD0 -FE50 -00C5 -FEF3 -0128 -001D -FF16 -00A1 -FFEA -005C -FF73 -FE77 -09B6 -D183 -F91A -0117 -04CA -FDE7 -00D6 -FF32 -00E6 -FE42 -02E8 -FE97 -0012 -004D -01D0 -F6D8 -10D6 -FB12 -FD95 -0032 -0281 -FFA6 -FF2B -0172 -FF4C -FED9 -01C7 -FEBC -0087 -FFFA -009D -FA34 -0AC0 -FD6B -4DF1 -CCB7 -05ED -01C1 -00E7 -FF36 -017C -FF5F -FFDF -0001 -FF81 -00C5 -0065 -F8E6 -0FBA -E197 -4F99 -C8F0 -0815 -0312 -FF61 -FFE3 -00D7 -FE6D -035F -FEFE -FECF -FF80 -0053 -FC4F -0889 -E711 -0109 -15BE -F40E -02AC -FF7D -FF75 -FFFA -FF91 -0237 -FEA8 -FFB2 -018E -FEAF -0099 -0642 -EC39 -F7EF -139D -F8FF -0030 -0040 -013F -FEE9 -FF28 -01B1 -FF07 -00F7 -FEF8 -0148 -0075 -FE79 -FA88 -8000 -5EC3 -E940 -036F -012E -FF4C -FF7B -FE83 -03A3 -FDF1 -0130 -FEDD -FFB8 -04A0 -F219 -46A1 -8000 -716A -F1C1 -FEFA -009D -FFD7 -FEBD -FF35 -03BE -FDBA -0313 -FD74 -008B -FA79 -04A3 -57E1 -8000 -612B -F27A -0201 -007F -FEBF -0221 -01E2 -FB27 -02D1 -FEC0 -FF45 -0095 -F121 -11A9 -69EC -8000 -604D -ED6A -076E -FFF6 -0019 -FFF1 -003F -FE9C -006D -01D0 -FC4A -01C8 -EFB5 -0BC1 -7CF9 -353A -F6A1 -F732 -05E6 -FE2C -011D -FE40 -FFA8 -021A -FDFD -01EE -007A -FD4C -05B1 -FB7C -DF44 -2EBF -FADD -F9C6 -0000 -02CA -FBF3 -0225 -0038 -007B -FFE5 -FF8A -00FC -0004 -01CB -006B -DDE4 -8000 -7FFF -EDA1 -FB22 -0319 -FD6E -01D9 -006F -FF81 -02A1 -FF9B -FEFC -0169 -EA40 -3817 -25E3 -8000 -7FFF -E0CD -0A21 -FCEB -0031 -FF10 -FFA7 -0398 -FC42 -07DD -F49D -0545 -E6C5 -2CAE -51F7 -7FFF -8000 -0DB3 -2ADC -F7E0 -030C -FE22 -FA72 -01CC -0357 -F7C9 -0A6C -F8F0 -FFA0 -DE0A -8000 -7FFF -8000 -12A1 -198D -0933 -F5C0 -06AD -FCC5 -FF64 -045D -F19B -0D6D -FF1D -1ECE -9C17 -8000 -8000 -7565 -F885 -F90B -0135 -0100 -FC49 -0070 -0182 -FCF1 -042B -FCBD -FE3D -200E -AE3B -7E5C -8000 -7FFF -063D -F143 -FF1C -FE1A -00F5 -0065 -FE32 -0277 -FDC5 -039F -FB06 -1C88 -C7C9 -6FD1 -8000 -617E -123F -F054 -01B4 -0024 -FEFD -01F3 -FCBB -021E -FDAD -00AE -00D6 -F28C -0A67 -71C7 -8000 -3F84 -0856 -FC55 -FC20 -03A9 -FD4F -FFD6 -FDFB -01A8 -FE92 -00C9 -FD22 -FE8F -F90D -5960 -7FFF -8000 -0710 -0497 -00C1 -FF76 -008D -FFB7 -01DE -FD36 -01AC -FF0D -FF4F -0E32 -E9E7 -A82D -7FFF -85FF -129C -FFC3 -0076 -FEDB -00CB -FF3C -0469 -FD49 -FF74 -0171 -FECA -0D51 -F1DD -A16C -F98A -0BB6 -050F -FB1E -0044 -003E -FF6B -014B -FE74 -017E -FF75 -00A4 -00BE -FBEE -0D49 -F19B -0AE4 -035A -0101 -00BF -FCEE -019A -FE7A -0308 -FA3E -0304 -FF99 -006D -0004 -000C -03A8 -F018 -7FFF -A3C2 -12D6 -FE74 -00A1 -FF92 -00B3 -0008 -FEAE -0152 -FF02 -00CA -009F -000E -02F5 -BFBE -7FFF -A321 -1081 -FEF1 -FF27 -FF88 -0157 -FF59 -0023 -FF73 -FF93 -00D7 -0061 -056C -FBA1 -B607 -2B53 -099B -F844 -FF22 -0106 -FF3D -FF08 -023B -FE05 -002F -0172 -FFA0 -FEF6 -0B2D -F626 -D867 -18AE -0E01 -00DF -FA7E -FFAB -00BC -FE99 -00E7 -FF8E -FF93 -00C3 -018C -FDC5 -08AC -FA79 -DE33 -7FFF -AF89 -02EB -0302 -FFFF -00A4 -FF69 -FF5E -0164 -FF75 -FFF1 -00B6 -FE5F -086E -F96F -B3CA -7FFF -AFCC -00F8 -0291 -FFF1 -00B8 -FFC8 -0054 -FFC6 -FFD2 -FF54 -00FD -FFEB -050E -FF14 -AB5A -29B0 -E823 -02A7 -005A -007F -0004 -00AE -FF70 -0104 -FF67 -007F -FEE4 -01C1 -0026 -0168 -EF9E -17D9 -EF94 -0493 -0045 -FFF7 -FFD7 -0009 -0006 -0059 -FFA6 -00E1 -FF65 -FFC7 -FF3B -0383 -F6E4 -7FFF -9027 -07A5 -0409 -FF8B -004B -002F -FF67 -0125 -FFBD -FF2B -0121 -FE33 -05A1 -0061 -A057 -7FFF -910F -077F -025E -012F -FF12 -019C -FFD1 -FEF2 -0065 -FFD7 -00BC -FFD3 -0662 -FB4E -A00D -8000 -6E6C -FC8D -FB1C -00BD -FF74 -FF65 -0056 -FF96 -0014 -0133 -FEF8 -0065 -FE0C -F53B -6C26 -8000 -7533 -FEC5 -F8E1 -0030 -FFDC -0009 -FEA4 -018B -FF39 -0093 -001D -FF48 -FEC4 -F613 -6F3A -DA8B -1CA3 -F515 -0269 -FF43 -FF4A -00A6 -FF41 -FFA7 -015D -FE29 -0225 -FE9F -FFAE -0208 -0959 -EAE7 -0D7C -FBF8 -0120 -FFFC -008B -FF43 -FFEE -FF31 -00F4 -FF80 -0048 -FF5C -01D1 -F7F5 -0C7E -8000 -3F40 -FB1C -FFC4 -0010 -0061 -FDD9 -00FD -000B -FF68 -015E -FF32 -FFA8 -083F -DF31 -505D -8000 -4D14 -FA6D -FA5C -01FB -FE11 -0112 -FEF9 -00EC -FFD2 -FF29 -01D6 -FEB1 -07E5 -EA18 -4459 -E64E -1140 -FEED -FDA0 -0131 -FF5B -00A7 -00B9 -FDEE -01C2 -FF23 -FF6A -01A7 -FE7F -038D -0559 -F27C -05A8 -0053 -0065 -FE69 -01B8 -FE6E -01A4 -FC86 -01D0 -004B -FF5D -FEB1 -FEE4 -0600 -01CE -8000 -515D -00AE -F9AC -FFF2 -FF47 -FF49 -FFEA -FF89 -0093 -FEEE -0302 -FCEC -FF15 -FD13 -401C -8240 -421D -0225 -F927 -0017 -FF84 -FFDC -002B -FED4 -00E9 -FF19 -01E3 -FE71 -0576 -ED32 -3813 -F7AD -101D -F321 -01F7 -0141 -FFE3 -FF82 -011B -FED9 -FF57 -0349 -FA8F -0429 -0D41 -E1DC -0CCF -C025 -284C -FE8D -FD36 -FE68 -00CD -0015 -009E -FFA5 -FF60 -0105 -FEEC -FEDE -02F7 -0591 -0CE8 -03C2 -0E03 -FD69 -FEDA -FF90 -FFBD -0049 -0011 -003A -0093 -FF47 -0186 -FE30 -FD3D -10DB -E6FF -0994 -063D -FCEE -012F -FF74 -00C2 -FEA8 -0083 -FFFC -FF89 -0124 -FFEF -FE34 -FC60 -0BC6 -EE0F -C707 -15C4 -FB45 -0343 -FE07 -0090 -FFC6 -FF6A -0041 -FFAC -0021 -00F5 -FDBD -03D4 -F2D0 -2572 -C66B -19EB -FB9B -000B -01BF -FE2A -00F3 -FF7F -FFE7 -0139 -FE45 -0155 -004F -02E6 -EF15 -2595 -D6B1 -1769 -FDE1 -FFC7 -FFD5 -0045 -FEDC -014C -FF27 -00B5 -FFD9 -FF6B -0013 -0219 -FA1A -10F6 -D1C0 -1A21 -FDCD -FEAC -0069 -0018 -FFD8 -FED4 -012C -FF71 -00BF -FFC2 -FF9B -FFFA -FF2C -10BA -9105 -3636 -0115 -FC3F -FF0E -01F8 -FDB4 -0055 -0003 -005A -FF63 -0133 -FEFE -00A0 -F7D8 -31D9 -AC6A -2E29 -FE8B -FC2B -0091 -FFD0 -FF3B -FF26 -0040 -0091 -FF21 -01F5 -FF1D -0322 -F309 -24C6 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_i.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_i.npy deleted file mode 100644 index 7db8d68a1e6a821eaeb0fc956303d1f9b7ed748e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 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 SGk+`4D|57<`nIY{8u-8U85_+2 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_q.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_q.hex deleted file mode 100644 index b1a036e..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_q.hex +++ /dev/null @@ -1,2048 +0,0 @@ -BAA9 -333F -F50D -00DD -00D7 -FEF6 -0024 -FF44 -FFE1 -FFEB -FEBD -FFBD -FED7 -0184 -FCFA -0BDE -BD9A -23F5 -FBC9 -0010 -FF55 -00FB -FEB5 -FF49 -0064 -007B -FFD3 -FFA0 -0005 -FF95 -FF67 -18F7 -F551 -0D72 -0101 -FD48 -0014 -000B -FFE7 -FFDD -0091 -0014 -FF6F -009A -0002 -FEFF -0559 -F989 -FFB1 -0B17 -FC47 -FF39 -0059 -004A -FF18 -00CF -FFBF -FFE1 -00EB -FEA1 -00BF -010E -0016 -F76F -346E -E8F4 -FF47 -0145 -FF5F -FFBA -0145 -FF51 -FFD0 -0004 -0059 -FFFB -FF5F -03CA -FC4F -E9A3 -3582 -E5FC -008F -0062 -0062 -FFB6 -00C9 -FF66 -00F6 -FF82 -00C3 -FF08 -0006 -0284 -FDDD -EA20 -BE09 -2410 -FB76 -FF8A -FF9D -0052 -FF6A -00DB -FF73 -0022 -002E -FFA4 -FF73 -0470 -F586 -1E83 -B30D -2867 -FE79 -FC8E -007C -FF1C -FF56 -0175 -FF85 -001D -FFF5 -FF7A -006E -015C -FBC0 -1F77 -355D -F16A -FE7B -0182 -FFEE -FF50 -00CE -FF23 -0087 -001A -0029 -010C -0032 -FFBC -051A -DD0F -2C77 -F48D -FFED -013A -FF1B -003D -FF47 -0020 -0071 -0015 -0119 -FE84 -0139 -0019 -0407 -E17A -F6CF -F675 -03FB -00D4 -FE5B -016E -FF8B -0021 -FFF1 -FF9D -00AB -FF80 -FF15 -0360 -F47F -15EB -EF8C -FC75 -041E -FE03 -01C0 -FE54 -0108 -FF77 -00C6 -0031 -FEF4 -00C3 -FF72 -0206 -F86A -13AB -57EC -D5DF -12C2 -F78C -0239 -FFC8 -FF82 -00B1 -FF9E -0059 -002C -0094 -0071 -FBCC -111C -CA73 -6AA6 -D03A -0C44 -FD3B -FEDC -0046 -003F -FFF8 -FFAE -005E -001C -FFF9 -FFBC -0072 -08DD -C53C -1688 -F238 -F935 -03FE -FF5A -0012 -0139 -FEEB -004A -000C -FFC1 -FF3A -FFA4 -03B6 -F7E9 -00B9 -FF81 -F989 -FD4A -01F8 -0156 -005A -006D -FEE4 -00C9 -FF6B -FFF4 -0026 -0090 -0022 -FE4D -08D6 -2981 -E748 -0EE8 -F82B -0234 -0057 -FEE6 -01E4 -FDA9 -0038 -00EC -FF65 -FFE6 -FFF5 -05E2 -E980 -1F34 -EFE5 -080B -FC54 -006F -FFC2 -006D -FFD5 -FFF8 -FF19 -008D -00DE -FF41 -002C -0637 -EDD5 -0F25 -FB89 -FB83 -01CE -00E3 -FF1A -00A7 -FEDC -00FD -FFCB -FFEB -FF42 -0113 -FEFE -006B -F9C0 -0D1A -F5E5 -01DE -00EA -0017 -FFDC -0063 -FE9A -0180 -0009 -FF7E -00CA -FEC7 -00CE -0211 -FA42 -3221 -EE32 -F3A4 -0746 -FFCC -FF82 -0021 -FF9C -FFE1 -0098 -FEAE -0182 -FF6A -00E8 -FFCD -EAA0 -2C68 -E765 -FE72 -04F5 -FEAE -00DA -FF61 -00E8 -FF66 -FFFF -FFE4 -0011 -0034 -003A -0071 -EE82 -7FFF -BB49 -E352 -1175 -FCB5 -0022 -01E3 -FFA9 -FF32 -001B -FE3A -00F1 -FDAD -09BA -F63D -C111 -7FFF -B809 -EB4B -0F34 -FFC5 -01FD -FFFE -FFE2 -00B4 -FF35 -0089 -FDA4 -02DB -FF31 -0216 -CC9A -8000 -40FB -1754 -EFE1 -005F -0251 -FD3F -00DB -008B -FF07 -0188 -FE67 -0175 -F9C5 -0501 -4045 -9199 -3E23 -033C -F738 -000E -FE71 -FF8E -00C5 -FFBB -FFD5 -FF46 -00A6 -FFEA -FD8F -043C -23FD -162A -04B9 -0F4B -F4F0 -FFD1 -00ED -FEFF -FF3C -01A2 -FE97 -00FF -00F0 -FE53 -072B -FBAF -E324 -2F97 -FE07 -0E29 -F342 -0030 -0137 -FF45 -FF3D -00F1 -FFB9 -FF93 -0022 -010C -08E1 -F603 -D6DF -7FFF -A21A -ECCE -10E6 -FFC8 -FC23 -0441 -FE71 -00AB -0042 -FF10 -00A6 -0102 -0639 -FA29 -AAA3 -7FFF -B02A -0810 -06E8 -FF42 -FF86 -0281 -FEAE -021C -FEE4 -02B6 -FD32 -019E -FDB8 -0609 -CE4C -010C -00D3 -1197 -F692 -003C -013E -FEC2 -016F -FEFC -FFE7 -01E7 -FECA -00EC -FE54 -07E8 -F1C1 -0655 -0AA1 -006B -FC74 -FEFA -0001 -0020 -0140 -FE15 -0039 -00F9 -0032 -0070 -FF05 -0790 -EEC2 -D1CB -18DA -FC25 -FFB3 -0044 -FFD1 -001D -FF50 -0207 -FE82 -002F -001B -FFC6 -0277 -FA1B -1566 -B4FC -2234 -008D -FD25 -00E7 -FF9D -FFE1 -FF9E -0042 -FFFC -007D -FFF9 -0043 -FEEF -FE7D -2358 -1D42 -F1F1 -078A -FDBB -007B -FF71 -0083 -FFE0 -0122 -FF05 -008A -009D -FFD9 -FF11 -05F9 -ECC8 -0975 -FA59 -07D1 -FD33 -006A -FF24 -0051 -FFBC -00FD -0017 -FFAD -0047 -0010 -FF30 -037D -F83E -F83F -0A9E -F1F6 -06B1 -008C -FE98 -011E -0004 -FF1D -009E -0062 -FF23 -01A4 -006C -FCA6 -0450 -D286 -1317 -FF11 -00E5 -0008 -FFC9 -FF8E -009B -FF54 -0099 -0087 -FF21 -0152 -FB9F -02C6 -15E7 -59E9 -DEA0 -06D3 -FE70 -FFEF -00A8 -FF25 -0063 -00CF -FECA -01BD -0044 -FF4D -027E -057F -C981 -580C -E487 -0023 -FFB2 -0005 -FF5A -005B -003D -FFA6 -00B3 -FFFD -00B4 -FF01 -01D4 -055D -CA15 -6D3E -D88B -F856 -05A5 -00CE -FED7 -009C -0060 -FF02 -0087 -0064 -FFC3 -00CE -02D7 -0196 -C680 -5D39 -DDC1 -FF00 -02FA -FE92 -FF4F -0098 -00F2 -FEC5 -0037 -0074 -FFD8 -00D8 -0081 -047C -CD54 -5AD8 -D45B -0356 -0168 -FF76 -00F6 -FF9A -0044 -FF92 -002F -0014 -00B6 -FEA8 -0300 -FE44 -D8EE -5B94 -D817 -FDA5 -0283 -00DF -FECF -014E -FF11 -0100 -FF5F -000F -0083 -FFA5 -02F3 -FD4E -D8D9 -ED00 -0995 -FA2B -0431 -FF56 -FF5D -00C8 -FF8E -0090 -FFC5 -00A5 -FFC3 -005A -0101 -F980 -0D7E -E1AA -0F74 -FCC3 -01B9 -FFA8 -FEB7 -001F -005C -FF6A -007A -FFE5 -002B -0094 -004B -FBC1 -0FB8 -6D26 -BE33 -1711 -FA7D -FF07 -0221 -FEC0 -FF34 -011C -FFBF -FFFD -0099 -FF47 -FFC1 -041A -D1EA -7FFF -B71F -093C -FE76 -00D1 -FFC0 -0036 -FF3F -00E9 -FFEF -FE38 -01F0 -FEC3 -05CA -FC72 -BE53 -F55C -F9E1 -0113 -0186 -FF5C -00C8 -FF6B -00AB -FE40 -0055 -017F -FDE0 -0044 -0716 -EA7F -1AC3 -CC26 -0A21 -0C90 -FA3A -0131 -FEC1 -01C7 -00E2 -FCB2 -01A7 -FF30 -0160 -FDFB -0427 -F7E5 -2134 -7FFF -E248 -0212 -FD72 -FFE6 -FF80 -FFDA -016A -FF5E -FF2C -00E6 -00EE -FFC8 -0048 -1212 -A202 -6EC7 -E7DF -FDAE -020E -FC9F -0258 -FE9C -043B -F94B -0135 -0262 -FFE4 -006B -FEC0 -1288 -AD27 -CAE1 -31A6 -F777 -FEB0 -0139 -FE35 -FFED -0080 -FEE7 -0026 -0057 -FFDC -01DB -FD37 -07C1 -FEC4 -AEAD -3B42 -F872 -FF27 -FE23 -016B -FEC9 -00AB -FE35 -FF02 -0248 -006D -0177 -FB31 -0621 -1491 -7FFF -8000 -0E0C -0364 -0062 -0057 -FF9D -010D -FE78 -0088 -0256 -FFCC -006C -0C73 -1911 -8000 -7FFF -8000 -06AF -0616 -017E -0172 -004E -0096 -FEE7 -00C8 -01BF -FEFE -FDB4 -0CAE -1644 -8000 -7FFF -9ED6 -EFCF -0664 -0029 -FF51 -FF62 -FDFF -03B7 -FD70 -03A3 -FF32 -FF5B -162D -F9AC -8000 -7FFF -A96F -F1AB -01ED -027C -0309 -FE23 -FDA7 -01C9 -0039 -0423 -FEDD -FD50 -0C3F -0C07 -8000 -8000 -2C55 -0E32 -F8C3 -0081 -0298 -FEC9 -0096 -0008 -FF9F -FF32 -FDB5 -0059 -FAAC -F533 -7FFF -8000 -334A -0945 -0075 -FCB6 -FAC0 -FDAE -00E8 -0180 -0042 -FD67 -01D5 -0224 -FC30 -FABE -6C1A -8000 -7FFF -E61B -0386 -0005 -FDFF -008A -FF77 -029B -FEF1 -FF5B -002C -00E7 -FC33 -F0FC -7FFF -8000 -7FFF -F576 -FD4E -0098 -FF4A -FE9A -FE4E -01D0 -0155 -016C -FEE8 -FED4 -F66E -00F0 -7FFF -8000 -7FFF -DF69 -FE6F -FF7D -FFB9 -FFD4 -0027 -FF11 -00B8 -FE5B -FF21 -032F -F357 -F2A8 -7FFF -8000 -7FFF -DE37 -FFFE -FEB9 -011E -FBF8 -0181 -FDA8 -016C -0009 -FF0E -0255 -EDA6 -01C8 -7FFF -0BA3 -0194 -0FAC -F670 -0000 -00F0 -FEBC -02EF -FBDB -021E -0174 -FF0C -0102 -FCB2 -0ED4 -E641 -192D -045C -0216 -FC54 -FFE5 -FDF2 -00C0 -014D -FFC7 -FE3E -0180 -00B8 -FF17 -FF20 -0C0A -DDFB -FA58 -22BE -FEE9 -FBB1 -FEDC -005C -FF5A -0015 -FEE4 -0126 -00B7 -000F -0114 -FD4C -11AA -DA7F -16EE -1E4B -F53D -FEE1 -FDC6 -0148 -FDCE -0169 -FE54 -0035 -0189 -FF3F -0208 -FCAC -0F84 -CCAB -59B5 -CAEF -08CF -FF17 -018B -001D -FF87 -0143 -FDB3 -0153 -00C9 -FF0B -008D -02A1 -FC11 -E21B -4F2C -D4BE -0827 -FDFA -01E6 -FE3F -0124 -00FD -FD92 -012E -FEB9 -023A -FF1C -0289 -FFB4 -DFF3 -8000 -7FFF -F7B2 -F6BC -FF7C -0069 -FF65 -FE4E -0376 -FEC4 -FF82 -0050 -00C2 -F6D3 -0453 -7FFF -8000 -7FFF -ED6E -FB28 -FEEC -01D6 -FCC7 -FF53 -0280 -FF89 -015A -FED2 -00C2 -F78A -01F9 -7FFF -9F25 -1E5E -0596 -FC00 -FE86 -0232 -FEC4 -FFE5 -0131 -FE94 -00BE -FEC2 -FF78 -0184 -F5F4 -3B61 -AB8F -1D9D -016D -FC79 -006F -FF6B -0092 -FF86 -00DB -FFDD -FE61 -0119 -FF53 -00CF -FBB4 -2EE4 -F0BE -089E -020C -FDB4 -0017 -0044 -FFDE -00F1 -FEB0 -0064 -008E -FF4C -FF9F -0122 -006C -049F -EAB2 -0C98 -0094 -FE30 -0068 -FFC6 -FE65 -01E8 -FFEC -FF44 -005E -FF46 -013A -FE2A -0659 -01E6 -8000 -5053 -FBE2 -FEB0 -FE47 -011C -FF60 -FFF6 -FFD5 -0073 -0082 -FE9C -00EF -FD16 -F738 -6066 -8000 -5A2A -FC19 -FD34 -0058 -FF4B -0012 -FFFB -FFBF -005A -0015 -FF24 -008C -FA5D -034C -5EB9 -7D17 -C9B9 -FC98 -0522 -FEF5 -0011 -00ED -00C6 -FE31 -0129 -FFBC -0008 -002B -020D -04F7 -C4F0 -622D -D24A -0183 -03F0 -FFD5 -FEF8 -0050 -FF93 -01A3 -FF2C -009D -FF7A -0183 -FE06 -0958 -CE9F -3AB1 -EA1E -FE37 -0434 -FD90 -01BC -FDAD -00DB -0053 -FED8 -01EB -FEA2 -0164 -0736 -ED79 -EC77 -2865 -FB10 -FFEC -FDBC -00D7 -FE09 -0153 -0156 -FDAF -0096 -FFC6 -0264 -FF1D -039D -01B3 -DDEE -8000 -7FFF -EFB5 -FC5B -FF3F -01CA -FD03 -0112 -FFAF -000C -0197 -FD5B -021D -01EA -F291 -650C -8000 -7FFF -EE70 -FC3B -FF70 -003C -FD2F -FF0A -0425 -FD8A -0216 -FFFD -001A -F714 -12F7 -61D2 -7FFF -A841 -0D18 -0082 -FDC8 -022A -FEDC -007B -00BF -FED1 -0076 -FEB2 -030E -F724 -14C2 -B6C9 -7FFF -A037 -0153 -084F -FE59 -0115 -FEF7 -0182 -FF31 -FF57 -FF0F -0177 -00E3 -F57D -20BB -9FF8 -7FFF -D7CF -FA18 -01B3 -FE52 -0453 -FAD9 -02C1 -0368 -F7FD -0992 -F671 -02D6 -1331 -E1DD -C50B -1A52 -0E82 -FD68 -FDF3 -0015 -FC17 -021C -01A5 -0192 -FBB0 -009C -039B -003F -F6C3 -3478 -B961 -8000 -7FFF -3D2B -D793 -03AC -F8D3 -0AD4 -FA45 -03DB -0661 -EE3B -0C4B -0A32 -8000 -7FFF -7FFF -8000 -647D -F490 -1D02 -F0D0 -0DC0 -F42E -0133 -FF83 -FFF1 -0272 -F454 -09F4 -AA92 -6F4C -7FFF -7FFF -8F5F -0C94 -FF80 -039D -FC5D -0176 -FCE3 -053A -FC31 -0156 -0440 -FAF9 -06DF -0438 -8000 -7FFF -8000 -1C78 -F3E6 -04D1 -FC48 -03B4 -FD24 -0191 -00EE -FC1C -035E -0081 -1684 -D398 -8000 -AF5D -4B6D -F819 -F94A -0370 -FE13 -01B9 -FE5E -0289 -FF47 -0151 -FFD8 -FFE2 -0229 -0BB5 -FA20 -9CAC -4E6E -F7E1 -F90F -FF31 -0320 -FF48 -FE5E -0136 -0034 -026D -FC33 -0299 -014E -FB06 -1748 -AAD1 -0AF6 -02DF -019F -01A9 -FE2C -0240 -000D -FC0D -0288 -FEA1 -019B -FE51 -FC22 -FA38 -405D -C9E0 -FCBB -0725 -FD43 -02EA -FE57 -01D6 -FFD5 -FF02 -00E7 -FE6F -0041 -FF04 -033F -E7EE -3E07 -50A8 -E145 -FBC9 -02E0 -0178 -FEBF -00B7 -FF40 -0368 -FD63 -011B -FFD0 -FE64 -0771 -FC59 -D808 -3B96 -E5A3 -01E3 -0030 -FFD1 -0050 -0074 -FF9C -00E2 -00D5 -0083 -FE76 -FFA3 -04F0 -FB4A -E536 -C08A -1230 -0151 -FF8B -0042 -002A -FFCD -0052 -FFE2 -00C0 -FE6F -00CF -FF36 -FA9A -0697 -2258 -DC0E -047D -FEE4 -012B -0076 -FF89 -0004 -FFCF -007C -009F -FEF0 -FECB -0074 -FF57 -FB5C -1E57 -7FFF -8000 -0653 -06D0 -0034 -FFA0 -0088 -0076 -FE40 -0108 -0031 -0052 -FFF6 -0686 -FE50 -8C60 -7FFF -8000 -0BD9 -02D0 -0065 -FF2E -0159 -FE97 -0317 -FE2C -0023 -FFE6 -0051 -0898 -F947 -8ACB -044D -F533 -F3D2 -0987 -FE51 -FF72 -00DD -FF02 -0159 -FFDF -FE54 -0149 -FE71 -001C -FA75 -0EFE -FE21 -F0E6 -FCDA -05D9 -FFE2 -000B -00AC -FF8F -0045 -0026 -FF8A -FF37 -00C0 -FFF1 -F6B0 -1671 -C9FC -1106 -01BE -FE41 -014B -00B8 -FE43 -0187 -FEF6 -FFCA -0094 -FFB9 -FFE3 -0234 -F383 -24FB -C588 -194D -FE63 -FF4B -FFD0 -FEC4 -00F1 -0016 -0042 -FFD9 -FF8F -002F -009E -00F6 -F9CD -1E98 -C929 -09B8 -FB9B -03B5 -FF27 -FF94 -01A4 -FEE6 -0167 -FF70 -FE1F -0127 -0065 -F8A4 -0626 -26CE -D1E7 -FFA0 -FEBF -04F7 -FF76 -0011 -0014 -FF84 -0141 -FF4C -FF91 -FF17 -012A -FAF7 -FFF4 -29AA -4231 -F048 -09BF -FA7B -0051 -0062 -FE63 -00E6 -FFE1 -FFC4 -00F3 -0067 -FEC9 -037A -0537 -CC78 -532C -EF67 -044F -FAD1 -0054 -FEC1 -001D -0050 -00C8 -FE85 -001B -01AD -FFB4 -0523 -0035 -C4DA -3E88 -E745 -0173 -0128 -0050 -FEF8 -0090 -002B -FF50 -00A7 -FFDF -FFC8 -01CC -FAA0 -0FC2 -D5D9 -3B14 -E501 -061D -00EB -FE41 -00A3 -FF4B -014B -FEE8 -FF6D -0123 -FE6B -0173 -FC4F -0C3D -DC77 -5174 -E329 -06CA -FDF0 -FF80 -FFC0 -FFE7 -FF96 -007C -FFCB -FFBC -0278 -FD80 -FD80 -1053 -C87E -7BF3 -CE5A -046A -FF66 -FFE2 -FFD3 -FFE4 -0040 -FF65 -005C -FF1E -0148 -0072 -040B -F758 -C6CE -0BD2 -FDC3 -FD28 -0188 -00B4 -FF1E -005D -000C -00EE -FED3 -01B0 -FDF6 -02BC -0210 -F96B -FC52 -FBB4 -06FE -0085 -FE6B -FF4D -00C6 -0069 -FF59 -002C -FFAC -0141 -FE4D -00CB -0128 -FE61 -FE6F -7FFF -C89D -0791 -FD80 -0096 -FF3F -00BF -FFF4 -FFDC -00AF -FF67 -0168 -FDEC -0079 -17C5 -96E0 -7FFF -B809 -05E2 -FFBE -FF72 -018B -FF05 -0061 -FF93 -FFB7 -0186 -FEA8 -0042 -0255 -067B -9F21 -2B63 -E3AF -F830 -086E -0072 -FF6F -FF99 -FF11 -0179 -FEAF -01AE -FE70 -0236 -096B -DD35 -0A09 -176F -F725 -0018 -FDA2 -02F4 -FD78 -01AE -FF99 -0003 -003D -FEE2 -011C -0156 -0AF2 -E47C -017D -7659 -C817 -0453 -013F -0046 -005D -FF9A -01C1 -FE39 -0053 -01B1 -FCBD -0324 -0329 -FDBE -CC4B -5D47 -D53E -04AA -017A -FE96 -008E -FF96 -0215 -FDA3 -0010 -0162 -FF48 -FECC -FFF4 -0E62 -CB69 -FFF5 -0268 -07A4 -FB6F -00BF -FFB7 -0025 -FF26 -0151 -0008 -FEFC -0159 -0077 -F761 -1427 -F052 -2298 -F032 -034C -FFE7 -0007 -0055 -FF6E -FF26 -0114 -FF94 -FFC2 -017D -FE0D -FD01 -089C -EB52 -2D01 -EE56 -00DD -00ED -FF5F -0024 -FF9B -00AB -FFC1 -FF94 -0039 -0081 -FEF7 -02CA -FCAF -EB87 -2E1A -EE97 -01BF -FE76 -011A -FF94 -FFD6 -0064 -FF4C -00CB -FEFF -0148 -FE90 -035A -FD24 -E8F6 -74D9 -D381 -0A3A -FC26 -0115 -FEF5 -008A -FFE5 -0075 -003D -FEEC -0294 -FF25 -FB15 -1940 -B141 -7FFF -C240 -0411 -009E -FEB8 -01D2 -FF1C -FFB2 -00AB -FF0E -007F -005E -FFE2 -FFBC -07A0 -B04E diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_q.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/doppler_map_q.npy deleted file mode 100644 index 32cf6e7a53505afc402d745b701d646a1ec9eabd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 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 MTI -> Doppler -> DC notch(w=2) -> CA-CFAR -# CFAR: guard=2, train=8, alpha=0x30, mode=CA -# Format: range_bin doppler_bin magnitude threshold -2 14 57128 48153 -2 29 20281 15318 -2 30 44783 22389 -3 26 19423 19422 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_flags.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_flags.npy deleted file mode 100644 index a15cf59ffc5b9423c842595e7a15ea29d84d5f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2176 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1JlVqr_qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$dCOQhnMw&VbwF+bcE(WRsMpV-n(fBB`_~cL&j&eprU^E0qLtr!nMnhmU I1gIPW02^r=(*OVf diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_mag.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_mag.hex deleted file mode 100644 index de2dc65..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_mag.hex +++ /dev/null @@ -1,2048 +0,0 @@ -00000 -00000 -030C5 -02888 -01E7B -01D55 -01E60 -01D5A -01710 -01B0C -01E71 -01E9C -0156B -01C9F -01E36 -00000 -00000 -00000 -01844 -00ADB -000C6 -0053C -00224 -00379 -00241 -0028E -0026C -00461 -0065A -00310 -00070 -00000 -00000 -00000 -037A2 -02CE5 -045CC -02AA7 -02FD7 -013B2 -0386B -0167A -038E2 -02FD1 -04B60 -02C2D -03B9F -00000 -00000 -00000 -00965 -00954 -01014 -016C1 -00DD3 -014C0 -016CF -00FB3 -0151F -016D6 -00DAC -00A9D -00EF5 -00000 -00000 -00000 -0460F -02B56 -009B4 -0170E -018E1 -010DC -0093C -0114B -02811 -01B90 -00CAC -072A0 -0DF28 -00000 -00000 -00000 -018DA -02AFE -01AEB -0215D -0251F -007CB -00086 -00ABE -02354 -02712 -01195 -04F39 -0AEEF -00000 -00000 -00000 -033EA -01238 -03C4B -05D6F -02596 -04264 -05AD6 -04771 -00FCC -04496 -031C3 -01B53 -04280 -00000 -00000 -00000 -04839 -05094 -06845 -04A86 -04A41 -02B84 -00834 -026EE -04BDF -048E0 -06BB9 -05AA8 -04B4F -00000 -00000 -00000 -004FC -00278 -0033E -00198 -00134 -0015A -0011B -003B2 -004F8 -00204 -00172 -00A42 -0151E -00000 -00000 -00000 -0078A -00551 -00402 -001DC -001A5 -000C2 -0027E -00204 -00348 -004C9 -00282 -007B2 -013FB -00000 -00000 -00000 -001E6 -00191 -000DA -00254 -00272 -0010C -000B9 -00142 -0020C -00293 -00144 -0036E -0079C -00000 -00000 -00000 -00129 -001C0 -00260 -00052 -000EF -0019D -00225 -00103 -00129 -00194 -000CC -0001A -000C7 -00000 -00000 -00000 -003FE -001F5 -001DD -0023D -00148 -001DF -0035D -0028E -00156 -000DF -000AB -0017D -00230 -00000 -00000 -00000 -002EE -00156 -000D1 -000E9 -0002F -0020E -002F0 -001D0 -00078 -0002A -00161 -00169 -0025B -00000 -00000 -00000 -001AD -003DA -004AB -006F0 -009FD -00B19 -00A50 -0092F -00927 -00758 -00561 -002AE -000FF -00000 -00000 -00000 -005F6 -004B8 -0077C -0059B -0031D -008B5 -00B39 -0085D -003FC -00356 -004FE -0051B -00723 -00000 -00000 -00000 -0183D -01AA7 -028D7 -026D3 -02CAA -03D30 -03B2A -03FEB -03559 -02EDB -0225F -014FF -0142C -00000 -00000 -00000 -00784 -004D7 -0062B -008E7 -008E0 -006C9 -00D20 -00744 -008BA -00797 -00691 -0036B -004DC -00000 -00000 -00000 -00E66 -008E1 -006A3 -011E0 -0257C -037E4 -03A60 -02FFE -02396 -01F53 -01119 -00F50 -01180 -00000 -00000 -00000 -0045F -002E0 -00203 -000D0 -000D3 -002E7 -00488 -002BD -00281 -00144 -001DF -0057C -004B3 -00000 -00000 -00000 -00443 -0073C -006C8 -00692 -00911 -0096C -012D1 -00B19 -00669 -007DA -006FA -003E0 -00139 -00000 -00000 -00000 -005AA -00086 -003C1 -00123 -0031D -00293 -001F8 -00122 -00150 -003BC -0032F -00361 -0021D -00000 -00000 -00000 -00456 -00160 -00240 -001E9 -0002F -00321 -00265 -000CD -000EC -00098 -00408 -00347 -0018D -00000 -00000 -00000 -00379 -0028C -001DD -002EB -003FC -0017A -003A4 -00445 -000A9 -0027A -00191 -000B7 -00396 -00000 -00000 -00000 -00C82 -00C2A -00D25 -005E0 -00682 -00CCF -01098 -00A99 -0065A -00452 -009F5 -01000 -00B76 -00000 -00000 -00000 -00156 -000CC -00157 -0014B -00062 -0021C -001AF -0004A -000C2 -0011E -001B9 -00055 -003A0 -00000 -00000 -00000 -00726 -01347 -01AEC -01214 -00EC8 -0053C -0082D -007A2 -00764 -00C99 -013CA -0194C -0093E -00000 -00000 -00000 -010F4 -00A8B -00B1B -0029B -003CD -00BC0 -00BA2 -00D90 -00474 -003C3 -008D5 -00C07 -00AEF -00000 -00000 -00000 -007C8 -00EA7 -01304 -00BBB -007B2 -0231A -02C92 -025A4 -012AC -00A5F -0101C -00D71 -009A8 -00000 -00000 -00000 -013CA -00F45 -008F3 -007B6 -0113D -01C34 -003C2 -01012 -01692 -0086D -00911 -01094 -00F85 -00000 -00000 -00000 -010B3 -0061C -00589 -00F32 -00EA2 -006B1 -006AC -00C38 -00919 -005AE -0047B -009BC -00F54 -00000 -00000 -00000 -0062C -007F1 -0062B -0065E -00812 -00406 -002D8 -00273 -003FE -0053B -004B9 -004B8 -005DA -00000 -00000 -00000 -00859 -00939 -009FD -00793 -00500 -003A2 -002EB -00251 -003A3 -00937 -00A41 -0068B -0052A -00000 -00000 -00000 -000BB -000E3 -0018D -00169 -001A1 -000EA -0026B -0025B -00117 -0007B -0005F -000BF -00123 -00000 -00000 -00000 -0031A -002E0 -0068C -006E7 -004D9 -0023C -0013D -001E2 -00440 -00570 -00498 -00373 -002AD -00000 -00000 -00000 -00420 -00781 -00CB4 -00950 -01189 -00B25 -012A7 -00D53 -00D68 -00B41 -00D40 -008C2 -005CF -00000 -00000 -00000 -00D71 -00794 -001C4 -004A8 -00A5E -00870 -00221 -00864 -00C93 -0042C -00394 -008D8 -00892 -00000 -00000 -00000 -0064B -005C6 -00541 -004F9 -00438 -00863 -00AF0 -00949 -00149 -006B6 -0082F -0065F -0079C -00000 -00000 -00000 -008AC -00B53 -01600 -016D0 -00F60 -0031B -003D8 -00353 -0128E -01807 -015A0 -0091A -00A00 -00000 -00000 -00000 -00D48 -0101E -00F9E -01618 -00724 -021CD -02AE3 -01624 -0086E -012B6 -018F8 -007E6 -00302 -00000 -00000 -00000 -00536 -00311 -00099 -00204 -00292 -002CD -0054E -003AD -002AC -001C3 -00185 -00182 -00530 -00000 -00000 -00000 -002A9 -0028A -00160 -001E0 -0010F -00671 -0069A -00268 -00127 -000C2 -00294 -0007E -00305 -00000 -00000 -00000 -0373C -026CE -02E42 -010AE -01580 -020EF -03377 -02553 -01B32 -00E9C -02674 -02848 -037D2 -00000 -00000 -00000 -002FF -00103 -000C2 -00195 -00205 -002D7 -004B1 -002BB -00183 -00157 -00142 -00413 -008D1 -00000 -00000 -00000 -0076B -006DA -00646 -003CC -004F9 -00374 -000ED -00361 -0037D -003B8 -004D4 -002F6 -00719 -00000 -00000 -00000 -009F2 -0049D -00894 -00635 -009EB -00902 -007F6 -012FE -00D50 -00199 -007BA -00937 -00CAF -00000 -00000 -00000 -00B79 -00E86 -007A4 -00508 -0070E -00314 -00382 -007DF -00E39 -00F3A -0077E -003F6 -00768 -00000 -00000 -00000 -002C8 -0031A -00357 -005FA -00793 -00809 -0084E -00863 -00516 -00640 -0052B -00254 -001A1 -00000 -00000 -00000 -002F6 -00474 -00219 -000F3 -002BD -002A2 -002B7 -000AB -00058 -0027A -0005D -00431 -00377 -00000 -00000 -00000 -00239 -002CB -002BF -001F0 -005C0 -00844 -007CD -0067E -003B1 -002BF -003F9 -00226 -00402 -00000 -00000 -00000 -0095A -0078A -0094A -00677 -00259 -0071B -008B9 -00896 -0059E -00516 -00560 -00B8B -0109B -00000 -00000 -00000 -00328 -0076F -0089A -00774 -0053E -00259 -00483 -0078D -0039A -00469 -00782 -006D0 -005DE -00000 -00000 -00000 -01074 -00F18 -01132 -00FB8 -00864 -004F2 -00125 -008DD -00AFA -00D40 -0116A -01052 -00C66 -00000 -00000 -00000 -00168 -001C9 -000F5 -000D3 -00096 -0006B -00032 -0000A -000FE -00181 -0029B -001E7 -00118 -00000 -00000 -00000 -00191 -002DF -002E4 -00252 -00E85 -01468 -01916 -018C5 -01207 -008CD -000EE -00300 -0061F -00000 -00000 -00000 -00585 -0045E -00529 -006AF -00C2C -00FF6 -014B7 -010DF -0159B -00C12 -005FF -0012F -00566 -00000 -00000 -00000 -007F4 -00607 -006C8 -00918 -0097E -008BB -0056A -006F4 -00BAC -00999 -0071A -002BE -0020C -00000 -00000 -00000 -01077 -0156D -00892 -006EF -00AB4 -016B4 -0244B -01C15 -00D97 -00971 -00448 -012E1 -01048 -00000 -00000 -00000 -00DAA -007F9 -006E1 -00463 -006E9 -00A19 -00CCE -007BA -003B2 -00489 -009B1 -00BEF -00E07 -00000 -00000 -00000 -00813 -00A8A -0076A -00883 -0063C -00397 -00515 -00450 -00709 -009C0 -00A18 -006EB -0080A -00000 -00000 -00000 -00740 -00345 -00298 -00354 -00304 -002C0 -00599 -001B9 -001F4 -00271 -00290 -002A2 -007B6 -00000 -00000 -00000 -0004D -00451 -00C51 -01620 -017E5 -00D2C -00127 -00C75 -016EF -01511 -00C15 -00452 -0023B -00000 -00000 -00000 -00724 -004F0 -008AA -00C6C -00893 -00BC5 -01A38 -01334 -007AC -00DD6 -008E8 -000EE -0032B -00000 -00000 -00000 -001D6 -00023 -00154 -0029F -000BA -00280 -0059B -000AC -000D6 -000E1 -00096 -000AB -00310 -00000 -00000 -00000 -0090D -00557 -00453 -000C6 -0032B -00A3E -00680 -00559 -00589 -00619 -005EF -0076C -007B3 -00000 -00000 -00000 -00A32 -00963 -00749 -00394 -003AD -007A3 -007EF -0093C -00418 -00321 -00733 -00A12 -00829 -00000 -00000 -00000 -00694 -006C0 -00B67 -007C8 -0092E -00981 -004FF -00849 -00A40 -00444 -00987 -002BA -002D6 -00000 -00000 -00000 -00AF7 -00522 -000E4 -0063F -003BE -004CF -0084E -0089A -005AB -005F6 -005CE -0029B -00392 -00000 -00000 -00000 -00701 -006F7 -005D6 -0029B -00BEC -00B6B -0033A -00B1F -00B1B -004BD -0051E -00619 -00484 -00000 -00000 -00000 -007C7 -00935 -005ED -005B2 -00328 -009E1 -00AFA -00A88 -00141 -006B3 -004FD -00718 -0069A -00000 -00000 -00000 -005C1 -00448 -00659 -000C4 -0026C -005C2 -003E9 -006A0 -002A1 -000E6 -005A5 -002A2 -0063A -00000 -00000 -00000 -0029A -0027E -0011A -00170 -002A2 -0060D -00837 -0079B -00756 -006F8 -00374 -001FA -002B6 -00000 -00000 -00000 -009C5 -00F43 -008E0 -001BB -00142 -008DD -0090E -00A2F -00821 -009A9 -00A22 -0045F -007A0 -00000 -00000 -00000 -0066D -006AC -00559 -00396 -002D3 -004B2 -003BE -00399 -003CD -00496 -005E3 -0060C -0055B -00000 -00000 -00000 -00584 -00CA4 -0033B -01052 -00BDC -00964 -00FC8 -01597 -00DF6 -00184 -00667 -00B7A -00C60 -00000 -00000 -00000 -00661 -0076B -00223 -0081E -009C4 -000C7 -005A0 -00ADA -003DB -004CD -0091F -0031C -00290 -00000 -00000 -00000 -01086 -00B1E -00CD1 -005DA -00D9E -00D5D -00508 -00D1D -00EDC -00A10 -00B97 -0084E -01144 -00000 -00000 -00000 -00328 -0017B -000C5 -00058 -0006C -00145 -0022F -00105 -00114 -000EB -000B3 -001C4 -00256 -00000 -00000 -00000 -01D8B -01846 -0141E -00A96 -0179E -01136 -0269B -010EA -012D5 -00C3C -013CC -013A8 -019FE -00000 -00000 -00000 -00356 -00149 -00092 -0001B -0013F -003EC -00678 -00458 -00348 -002D9 -001F2 -000E3 -001ED -00000 -00000 -00000 -001F9 -0077A -00FC8 -00CE8 -00893 -00461 -004FD -00D29 -00899 -00800 -00480 -00518 -0050D -00000 -00000 -00000 -00150 -00095 -0006E -00108 -00171 -001F1 -0045F -0026C -000E6 -0020D -0019C -00210 -0036B -00000 -00000 -00000 -008E3 -00D3B -00BCB -003AE -00BB1 -00FF9 -009FC -00A7D -010B1 -00D1B -003B7 -006A0 -00BB9 -00000 -00000 -00000 -00232 -001A0 -002F5 -0095B -00B42 -00BCE -00B60 -00D98 -00BBE -00758 -00681 -0012D -0045A -00000 -00000 -00000 -00806 -002C0 -0041F -001DC -0044D -000DF -00856 -00162 -0055C -0027E -00445 -00590 -007A7 -00000 -00000 -00000 -006A1 -00702 -005F1 -007E4 -00377 -00855 -0147D -012DC -0027F -00C38 -0130B -00F4E -00D4F -00000 -00000 -00000 -0022D -00794 -006B4 -00B58 -00D74 -00774 -00E55 -009C5 -00409 -00634 -00170 -0069A -00B7A -00000 -00000 -00000 -006D9 -0060E -0056D -00403 -00531 -004BD -00950 -0071B -00297 -003AC -007FB -004BD -004BB -00000 -00000 -00000 -00137 -00386 -005E5 -00734 -00FA0 -01739 -0149C -006C2 -0092B -00F8A -00F03 -009CE -0034C -00000 -00000 -00000 -001AF -005BC -00863 -00ADC -00B09 -009F2 -0091E -00A33 -009CF -00760 -0085D -005F0 -004EF -00000 -00000 -00000 -0045D -002E3 -0041A -003A8 -002DA -0041E -0012C -001B8 -00181 -00299 -0030A -0025C -00462 -00000 -00000 -00000 -00877 -009B4 -00C0C -00D08 -00B75 -00C10 -00D39 -00E23 -00E9B -00CC0 -00D2A -008E0 -004CD -00000 -00000 -00000 -01CC5 -01750 -0121D -00A5E -00D19 -01321 -0194A -012A2 -007BF -00B4E -0172B -01766 -01E89 -00000 -00000 -00000 -00C56 -00D45 -00A8A -0067B -004EA -006A2 -00C87 -00C9D -00BAE -0069B -008E4 -00E5D -01372 -00000 -00000 -00000 -01A5C -011F3 -00AFD -00ECA -0179D -0108A -00502 -00D7F -01946 -010DD -00965 -00DA0 -0181B -00000 -00000 -00000 -00376 -0039D -002F4 -0055A -005A4 -00433 -005EF -007B0 -005A4 -00531 -002B0 -00298 -00268 -00000 -00000 -00000 -00DD6 -014DC -00DEB -00877 -00B16 -0115D -011A4 -00ADD -00910 -004BA -00CBB -01233 -0121E -00000 -00000 -00000 -01426 -010B4 -00A61 -0068F -0056E -005EE -00FD6 -01583 -00A5C -00546 -00673 -01A03 -01832 -00000 -00000 -00000 -0000E -0020C -0019D -000B7 -000E8 -00287 -003A3 -0017F -00048 -00136 -00147 -00169 -0030C -00000 -00000 -00000 -00552 -00234 -000A6 -000E0 -0005C -0029D -00531 -00308 -00076 -002AA -002A6 -002C4 -002BE -00000 -00000 -00000 -002E4 -0036D -0054F -0068C -0054F -003FF -005C0 -00B4F -00A48 -007FD -0034F -00146 -0010D -00000 -00000 -00000 -000FC -00256 -0053E -00513 -003F6 -00305 -00213 -004C6 -00544 -0042E -00584 -0042D -003DA -00000 -00000 -00000 -01248 -00F74 -005C3 -00CA8 -00EE3 -016C3 -00B09 -01114 -015B8 -01100 -00F75 -01208 -01C0F -00000 -00000 -00000 -00B4B -00910 -0148C -01A64 -01634 -0206B -01E6B -01B62 -0138F -01684 -01212 -013F8 -01330 -00000 -00000 -00000 -00A5B -007CF -011B0 -00DF8 -00AEB -014D0 -01FF1 -01296 -00667 -009F7 -00FC0 -00982 -011CF -00000 -00000 -00000 -00480 -0095D -00DC2 -01164 -01283 -00D63 -00E31 -00DFE -00C54 -00865 -00964 -008F4 -00B23 -00000 -00000 -00000 -00588 -01151 -00900 -01B4D -0141B -00636 -01448 -01735 -0176A -00A13 -011B4 -01C69 -0181F -00000 -00000 -00000 -00A1D -00176 -01080 -00B04 -00DDA -015DA -007AA -012DB -00B8D -00A1E -00F7A -00332 -00E98 -00000 -00000 -00000 -00BC6 -004AF -0011D -006C6 -00AEA -00380 -00837 -00B14 -00314 -00A5D -00731 -00496 -00D2C -00000 -00000 -00000 -00CA5 -00B87 -009EA -004CD -00E3E -01419 -011D6 -015FB -01BC7 -011ED -0042A -00E79 -00FA8 -00000 -00000 -00000 -00C8F -00DEB -01728 -019F9 -01800 -01D72 -02037 -02053 -01E5D -01A6D -016DA -01227 -00C96 -00000 -00000 -00000 -00728 -00238 -00322 -00213 -004C8 -00187 -001D0 -0016E -0032C -00096 -003E2 -0004F -00226 -00000 -00000 -00000 -010C5 -00655 -00410 -0017D -001AA -00384 -007D9 -0045B -000E9 -001B5 -00218 -00423 -00644 -00000 -00000 -00000 -00D20 -003E2 -00269 -00458 -002D7 -00565 -0070F -004D0 -00354 -00240 -002DD -00316 -00385 -00000 -00000 -00000 -09197 -06925 -022A5 -0135D -052C4 -038A3 -0656A -04BDE -0075D -0172F -04C5D -03649 -06524 -00000 -00000 -00000 -0241F -00C28 -01004 -00D36 -00E40 -00861 -0073F -0034B -00E2D -00E86 -0079C -007EA -00946 -00000 -00000 -00000 -010A6 -0088D -009C8 -0089A -007BE -005F8 -00F75 -00E53 -0087C -008E9 -0087C -00F8E -005C4 -00000 -00000 -00000 -01562 -00EBA -0129A -00D93 -01060 -011C5 -00FA1 -00BF4 -01048 -013CA -010E2 -00DB9 -00E46 -00000 -00000 -00000 -006EA -00206 -00234 -00272 -000E0 -0016E -0031C -002AB -002EC -002A6 -001D4 -0042A -0055E -00000 -00000 -00000 -01F8E -01B76 -01766 -00A83 -00F94 -01767 -01F23 -01AA1 -00D68 -00A90 -01442 -02339 -01DEC -00000 -00000 -00000 -018E5 -00963 -00AE2 -0102F -01350 -014A2 -002F6 -01818 -01651 -016B7 -00570 -0123F -01854 -00000 -00000 -00000 -01821 -006DB -0059D -00B6A -01173 -00722 -0041A -00CF2 -0145B -006E7 -00785 -0123E -016ED -00000 -00000 -00000 -00F05 -018FA -01BA9 -00929 -02542 -0219E -01DFC -014B6 -01C97 -0251A -00D11 -01521 -01DDE -00000 -00000 -00000 -003E9 -003D3 -00477 -00476 -0021A -000FD -0049D -00528 -0053F -0051B -004DF -0049C -00402 -00000 -00000 -00000 -01BFC -01AA2 -00D2C -005EE -0168B -01B3F -01C91 -01613 -0070A -01666 -01B26 -01F56 -019C1 -00000 -00000 -00000 -00342 -0040F -00AA8 -009F9 -003BE -010FA -00DF8 -0038C -00C3C -01197 -00344 -00A21 -00984 -00000 -00000 -00000 -00444 -001A4 -00118 -0002A -000E8 -001F5 -00160 -000E1 -0013E -001C4 -00144 -0036C -008E6 -00000 -00000 -00000 -00292 -001CA -00386 -001FA -0020A -00151 -00153 -0032E -00192 -001AE -000DA -002C8 -00396 -00000 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_mag.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_mag.npy deleted file mode 100644 index 51bf9ad184c57ab905ce537ebdedf71c352b5132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 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 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_thr.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_thr.hex deleted file mode 100644 index b5aa72e..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_thr.hex +++ /dev/null @@ -1,2048 +0,0 @@ -00000 -00000 -14217 -0D47C -17787 -1FD67 -1AF28 -1FFFF -1FFFF -1FFFF -181EF -1F644 -15EE5 -10017 -19BEA -00000 -00000 -00000 -14217 -131D0 -188A9 -11A36 -116D3 -0CEBB -08BE0 -0BDCF -123ED -11DFC -1830F -15FC0 -15FB1 -00000 -00000 -00000 -0B35B -0A1F4 -0C966 -0EAD5 -13EF3 -1B2FD -1CEC3 -1A580 -1554F -12A4A -0D5B4 -0B7F3 -0D911 -00000 -00000 -00000 -073D7 -047B8 -05571 -04365 -04404 -0509D -07E30 -055D4 -0424B -04ACA -04497 -051ED -08886 -00000 -00000 -00000 -0C9ED -0BF0A -0E71B -0F7AD -14EDD -1D55C -1FD3A -1BA35 -15975 -13134 -0EF3D -0C92D -0BC19 -00000 -00000 -00000 -0613B -03A29 -04D70 -041B2 -0403B -054AB -07BC3 -050A6 -03AB9 -03FC9 -0423C -03BD6 -05775 -00000 -00000 -00000 -16BFC -16DC4 -190C2 -17EEC -1CEFF -1FFFF -1FFFF -1FFFF -1C4D0 -1AB1A -16710 -160A4 -11BA1 -00000 -00000 -00000 -0D968 -0751B -069F3 -05841 -04F41 -07D7F -09EFD -07DF7 -04BDE -05379 -06D65 -068CD -0773D -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1E4E6 -00000 -00000 -00000 -1282B -0BAE4 -0B295 -0B0EB -0ABE4 -10A31 -0E5E0 -0D7D6 -0CD89 -0B0C4 -0AD79 -0B625 -0CB9A -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1735B -14589 -0FF63 -1174B -12A20 -11385 -0CE4F -0E652 -1378B -12BA9 -0E169 -1A2A7 -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1E063 -1F326 -18474 -0C6CC -14C61 -1FFFF -1F0F5 -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FF77 -1FFFF -19F74 -0F8A3 -1722F -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1B5BB -119FA -18DAD -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -19887 -1C8BA -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1C8F3 -1E82B -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1D4BD -1D5CE -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1C410 -1AA84 -1B7B0 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1EF39 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1E609 -1FFFF -00000 -00000 -00000 -1C287 -1AE74 -1FFFF -1BA80 -1B01B -1C071 -1BF3C -1ACAC -1ABBF -1AB4A -1FFFF -1D766 -1E2D3 -00000 -00000 -00000 -1F5E4 -1AE62 -1E0F0 -1A75D -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1CD10 -196D7 -1FFFF -00000 -00000 -00000 -0F8C1 -0CA14 -0EC8E -0E544 -0E9A9 -15861 -1C1B2 -1511A -0D1EB -0DEE4 -10DE8 -0CDC8 -11445 -00000 -00000 -00000 -1FFFF -1D976 -1FFFF -1B2E5 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1E8F1 -1C059 -1FFFF -00000 -00000 -00000 -0E33D -0BC4F -0D83F -0DDFD -0C0FF -1420B -194D9 -13A9A -0ACEF -0BF5B -0FA53 -0B1DB -0E361 -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -103F5 -0CAB9 -0E58C -0D866 -0BEB3 -1488C -19116 -14484 -0B5EF -0B649 -101B2 -0C83A -0EE4D -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1E255 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -11F40 -0D146 -0DE93 -0BE92 -100F5 -16179 -15108 -15F7B -11FC4 -0BB26 -0DFD7 -0E196 -11CF7 -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1494C -1139A -0F036 -0D008 -12CC3 -18435 -190F8 -19AC4 -1451A -0DAE2 -0E424 -11796 -140E5 -00000 -00000 -00000 -1B6F6 -1B0BD -1BFF6 -18DB6 -1C755 -1FFFF -1FFFF -1FFFF -1D454 -1B1EF -1A9AC -1C266 -1A4E1 -00000 -00000 -00000 -1442D -12453 -0F654 -0CE58 -123AB -174D8 -17205 -190C8 -13EC3 -0DEC9 -0EC10 -1181A -13365 -00000 -00000 -00000 -19491 -193FB -1B4A7 -16B63 -15F8D -19E00 -1F31D -1C60B -171B7 -16071 -17D5D -19DD3 -17A3F -00000 -00000 -00000 -12681 -13152 -1219E -11799 -17FBB -19A10 -187F5 -19CEF -17C55 -13728 -11B44 -1133D -1175D -00000 -00000 -00000 -1A31C -17841 -1A8AD -17BD1 -16803 -1B51F -1FFFF -1DFEB -1708E -1513B -17769 -1A3A3 -18393 -00000 -00000 -00000 -1258E -1382D -12015 -1190A -16E81 -19AE5 -19AC4 -19E3F -16F80 -12FF9 -11C85 -1173C -12C27 -00000 -00000 -00000 -1C263 -198C3 -1EA9B -1B9FF -196E0 -1CBE1 -1FFFF -1F587 -1B507 -1A265 -1BCE7 -1BECD -1A9A0 -00000 -00000 -00000 -15AE6 -174AB -156F6 -1577D -171C0 -1F9FB -1FFFF -1DC16 -18804 -161D3 -16C68 -1448D -136E0 -00000 -00000 -00000 -1A42D -17B1A -1CB4E -1B25E -19F8F -1B50D -1E7D7 -1DFDC -1B7E3 -19842 -1B00C -178E0 -16D7F -00000 -00000 -00000 -1764C -172FE -13FEF -1559D -16F47 -1FFFF -1FFFF -1E597 -18F66 -16566 -169DD -13869 -12E2B -00000 -00000 -00000 -1FFFF -19D4C -1E33C -186D5 -1BE4F -1FFFF -1FFFF -1FFFF -1F3B0 -184C2 -1C326 -18729 -1E195 -00000 -00000 -00000 -15F8A -16CAA -12FCC -16128 -171A5 -1FFFF -1FFFF -1E492 -1875C -16DB8 -15A4A -13020 -13857 -00000 -00000 -00000 -1FFFF -18A20 -1C761 -16A5E -191D9 -190AD -1AD7E -1A27D -197F1 -15918 -1AF73 -1669E -1DA39 -00000 -00000 -00000 -13941 -14712 -12282 -14CE8 -13F11 -1B8B2 -1FFFF -1D18A -140C7 -149EE -14EA4 -11C6A -127C5 -00000 -00000 -00000 -1FFFF -1BF12 -1D3FA -135C9 -16269 -1863C -1AEEC -19F23 -19CB0 -175EC -1C194 -15A2F -1D331 -00000 -00000 -00000 -110F7 -10C4A -1105B -141B1 -125F1 -18EB5 -1CC65 -199E6 -126B1 -13E6C -154CB -0EEBF -0FA53 -00000 -00000 -00000 -1F0B9 -1BEC4 -1B15C -145B6 -16A79 -1811D -1B73E -1C3C8 -1B19B -158A6 -19A0A -151C2 -1C923 -00000 -00000 -00000 -1105B -108A5 -1041C -14217 -13CE6 -19C53 -1DE2C -1B9ED -124F5 -1365F -15CAE -0E787 -0F282 -00000 -00000 -00000 -1FFFF -1E44D -1D841 -14BF8 -182C7 -1AF91 -1CBFF -1FA10 -1DC6D -16E75 -1B777 -17B0E -1FFFF -00000 -00000 -00000 -11604 -0FFED -0D52A -0FB2B -0D19A -15E3A -1B6D8 -1864B -0C5FA -0E565 -1294E -0DA07 -0F300 -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -167A6 -1A9FA -1B56A -1EE34 -1F49D -1F91D -184E3 -1FFFF -1C9AA -1FFFF -00000 -00000 -00000 -10BDB -0F768 -0C600 -0E72D -0C843 -14A96 -19935 -17592 -0CC6F -0DBAE -11CA6 -0CD47 -0DC0B -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -14E92 -1B7A1 -1D7BA -1FFFF -1FFFF -1FFFF -15CEA -1BF42 -1B060 -1FFFF -00000 -00000 -00000 -0D9EC -0B9BE -09210 -0B14E -0D0A7 -103FB -14C01 -15153 -0EA60 -0C486 -0D2F6 -0A11C -0D4FD -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -15780 -1D3EE -1FCEC -1FFFF -1FFFF -1FFFF -18EF1 -1BE91 -1BFC6 -1FFFF -00000 -00000 -00000 -0E907 -0E7E1 -0ADD9 -0C9CF -10422 -149C1 -1AE4A -1AD54 -121E9 -0E2B9 -0DA2B -0D3FB -0FF1E -00000 -00000 -00000 -1D67C -1D517 -1AA63 -13062 -1914C -198C6 -1D409 -1E6D2 -1D74E -169FB -165BD -16920 -1E93C -00000 -00000 -00000 -0F4D1 -0FDDD -0C1DD -0E52F -111B4 -1475D -1CBFF -1CB0F -13635 -10C83 -11ED7 -0F525 -110E8 -00000 -00000 -00000 -1CB3F -1D43C -1A06A -14EB6 -1AC85 -19BC0 -1FFFF -1EB49 -1D6EB -17610 -15252 -1740C -1FAD3 -00000 -00000 -00000 -0E49F -107A9 -0DA0D -11CA9 -1434F -14FEB -1BADD -1B5F4 -144D5 -13D07 -1397D -0EEBF -0F79B -00000 -00000 -00000 -1A496 -19443 -19A8B -1754D -1DC2E -1E0E7 -1FFFF -1FFFF -1C662 -18387 -16533 -17B41 -1E120 -00000 -00000 -00000 -0D38F -0FBF4 -0DD22 -1286A -14766 -14F10 -1C2E4 -1B29D -14A1B -13548 -1332C -0E970 -0FAA4 -00000 -00000 -00000 -1B366 -179A9 -1A3D6 -14EC8 -1C272 -1E7E9 -1FFFF -1D56E -1B096 -191A3 -16BD2 -16998 -1D5DA -00000 -00000 -00000 -0F1BC -11697 -1087B -13C14 -14640 -16F08 -1DA15 -1C4B2 -16B90 -14E47 -148FB -11280 -10DD0 -00000 -00000 -00000 -1CFD1 -19BE1 -1BA11 -16047 -1D562 -1FFFF -1FFFF -1E516 -1A925 -192E7 -19B03 -17C6D -1D45A -00000 -00000 -00000 -124B3 -1330E -10EA8 -14ADE -14F3A -18681 -1FFFF -1EAA1 -19191 -163FE -15C72 -12BAC -13A40 -00000 -00000 -00000 -1A9EB -17085 -17C9A -1458C -1DFF7 -1FFFF -1FFFF -1E19B -1BCDB -18741 -156EA -14BAA -1B70B -00000 -00000 -00000 -13830 -1504E -124B6 -16938 -1641F -1A3B8 -1FFFF -1FFFF -1996E -17A9C -165D2 -1405E -14C37 -00000 -00000 -00000 -1DA12 -19CE6 -18162 -1338F -1C335 -1FFFF -1FFFF -1A448 -1900E -165BA -17DC0 -171E1 -1DE8F -00000 -00000 -00000 -167F1 -17B0B -13662 -16A10 -15378 -191F4 -1FFFF -1FFFF -18B01 -174F9 -16CB6 -18A98 -1827C -00000 -00000 -00000 -1C506 -1970D -16920 -11493 -18A26 -1E4E0 -1F8FF -192FF -15432 -1423B -17F88 -1671F -1D544 -00000 -00000 -00000 -15333 -15084 -125CA -14694 -11B23 -1405B -1ABEC -1C878 -14BCB -1585E -165F6 -168DE -15CE1 -00000 -00000 -00000 -19D2E -1A715 -161BE -14670 -19C05 -1EC21 -1FA2B -1DA5D -181C2 -149A9 -172C8 -158E2 -1BC81 -00000 -00000 -00000 -13D2E -13923 -113DC -13CF2 -12738 -127FB -1764F -1B1D4 -14A90 -13167 -13A76 -13C0E -13014 -00000 -00000 -00000 -1E951 -1D640 -17D96 -151F2 -1C020 -1FFFF -1EE94 -1FFFF -1DD87 -180EA -1B7EC -18C30 -1FFFF -00000 -00000 -00000 -15315 -139A7 -11E95 -13EBD -113D6 -15750 -1B8B8 -1CC59 -13BE7 -12D7D -13695 -16215 -15BC4 -00000 -00000 -00000 -1FFFF -1FFFF -1C353 -160BC -1DF22 -1FFFF -1FFFF -1FFFF -1F6B6 -16B63 -1DACF -1C37A -1FFFF -00000 -00000 -00000 -16008 -147FC -12C6C -14AC9 -12BD3 -165E7 -1CA88 -1E2BE -14ACC -13674 -13DBE -16BC9 -16AF7 -00000 -00000 -00000 -1FFFF -1FFFF -1F464 -1CC11 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -18786 -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -14A54 -114D8 -12537 -13D19 -12C4E -1722F -1AF2B -1DC76 -1380C -12B52 -133E9 -142B9 -17A1E -00000 -00000 -00000 -1FFFF -1FFFF -1C290 -1B4FB -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -19F38 -1C122 -1DDE7 -1FFFF -00000 -00000 -00000 -130F2 -10518 -1298A -14163 -15ED6 -1AF91 -1C84E -1FFFF -17A90 -1516E -127D4 -13EC3 -17118 -00000 -00000 -00000 -1E3CF -1FFFF -1E1EC -1D44B -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1B52B -1E6F6 -1E9E1 -1FFFF -00000 -00000 -00000 -13896 -0FA50 -12A20 -13E24 -15D2F -1A2E9 -1D87A -1FFFF -176E2 -1542C -15594 -1508A -18471 -00000 -00000 -00000 -1E1E0 -1EFF0 -1C56C -1DF19 -1FFFF -1FED2 -1FFFF -1FFFF -1FFFF -1BC06 -1BA6E -1CB99 -1FFFF -00000 -00000 -00000 -13041 -0DE8A -11F31 -13F38 -15D17 -19D5E -1C170 -1DA27 -1538D -14136 -15867 -1140C -14C79 -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -17E6E -0F996 -15669 -17A0C -19F65 -1BE6A -1D7BA -1EEBE -18EB8 -16D28 -16EB7 -1232A -15ECD -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1C1E2 -1259D -19C38 -1A24A -1C9B6 -1FFFF -1FFFF -1FFFF -1D004 -1B3D5 -19CF2 -1511A -184C8 -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1F68C -1FFFF -1FFFF -1FFFF -1FFFF -1D09D -1EE43 -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1802D -1C215 -18510 -1C350 -1FFFF -1FFFF -1FFFF -1DD5D -1A109 -1BC15 -1A4A8 -1D850 -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -17FA3 -1B0CC -182DF -1CD4F -1EFA2 -1FFFF -1FFFF -1FC86 -1A397 -1B8B2 -1C5A5 -1FD1F -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1C60E -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1B717 -1AA8A -17FCA -1B606 -1BD02 -1FFFF -1FFFF -1FFFF -19E39 -1A766 -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FFFF -1BAA1 -1FFFF -1FFFF -1FFFF -1FFFF -1FF41 -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1A26B -1A5D7 -175DD -175D4 -19812 -1FFFF -1EEBB -1B585 -18F2D -19923 -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -1FE6C -17B44 -1FFFF -1FFFF -1FFFF -1FFFF -1B6A8 -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1931D -1A4EA -16D1F -16F17 -18780 -1DAE1 -1C9B9 -1B906 -17A57 -16776 -1EF81 -1EC63 -00000 -00000 -00000 -1FFFF -1FFFF -1EF69 -17ABD -1FFFF -1FFFF -1FFFF -1FFFF -1E8FA -1FFFF -1FFFF -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1907D -1CB0C -1A33A -1999B -1CA5B -1FFFF -1F81E -1E1F2 -1AC1F -17D24 -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1F4DC -1AADB -154F2 -1FFFF -1FFFF -1FFFF -1FFFF -1CA97 -1F596 -1A811 -1FFFF -1FFFF -00000 -00000 -00000 -1CBF0 -176E8 -1AB1D -18F30 -18549 -1BB8B -1FE81 -1F99E -1BEFA -1839C -16965 -1FFFF -1FFFF -00000 -00000 -00000 -1FFFF -1FFFF -19C35 -18213 -1FFFF -1FFFF -1FFFF -1FFFF -1F2DE -1F149 -1BA9B -1FFFF -1FFFF -00000 -00000 -00000 -190BC -13200 -180AB -1606B -15B58 -1A39A -1BEF1 -1E3EA -184F8 -14058 -13DAF -1CB09 -1F68C -00000 -00000 -00000 -1E3BD -1C88A -16299 -16FF5 -1FFFF -1FFFF -1F32F -1FFFF -1DC19 -1E684 -18531 -1FB87 -1FFFF -00000 -00000 -00000 -132FF -0DA64 -13899 -13BD8 -14898 -185CA -17175 -1B021 -18D0B -1429E -0F2BB -161B2 -1916A -00000 -00000 -00000 -16FA7 -1A049 -16674 -160F5 -1DC7F -1FC50 -1FFFF -1FCD1 -1A86B -1BF0F -19D40 -1D25F -1FFFF -00000 -00000 -00000 -0F5B2 -0C1A4 -1284C -10FC5 -111AB -16860 -158CA -17685 -14892 -12018 -0DFC2 -1241D -14BDD -00000 -00000 -00000 -14B65 -129C6 -0F5E8 -1308C -15075 -16DEB -1C497 -1AB29 -13A31 -146B2 -15624 -168CC -1A649 -00000 -00000 -00000 -0D4E5 -08FB5 -102FF -0FBBE -10398 -163CE -1309E -134F4 -123BD -107B5 -0C663 -0D182 -101D0 -00000 -00000 -00000 -1FFFF -1FFFF -1317C -156B4 -1FFFF -1BE82 -1FFFF -1FFFF -13A52 -1456B -1E5F4 -1A96A -1FFFF -00000 -00000 -00000 -12786 -0A164 -11121 -102D5 -1220A -1422C -10CE0 -12B19 -1282E -0F684 -0CB79 -0C291 -0F8DC -00000 -00000 -00000 -1FFFF -1FFFF -13B9F -15C60 -1FFFF -1BE8E -1FFFF -1FFFF -13134 -142E3 -1F1AF -1C9FE -1FFFF -00000 -00000 -00000 -15D02 -0C132 -12EA3 -11667 -1412A -16A79 -13191 -13719 -14484 -1204E -0EB05 -0D6DD -10D5E -00000 -00000 -00000 -1FFFF -1F155 -130F2 -13DBE -1DCF4 -17E8F -1FFFF -1FFFF -0F8D0 -117D5 -1C8CC -1A064 -1FFFF -00000 -00000 -00000 -199CB -0F864 -13731 -0E6C4 -12D4A -14F6D -133B9 -134D6 -1320F -0FC72 -0F195 -104A0 -12D92 -00000 -00000 -00000 -1FFFF -1F611 -11C88 -14463 -1F623 -17E05 -1FFFF -1FFFF -1288E -13E15 -1A9DC -1BA9B -1FFFF -00000 -00000 -00000 -1D4AE -0F0DE -11EC2 -0D4D6 -12A1A -13CAA -11574 -131B2 -14A24 -0F7F8 -0EBF8 -1207E -150F0 -00000 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_thr.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_cfar_thr.npy deleted file mode 100644 index ce5ce596d1f676701ca1b285d22f9afaaf2f0579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 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 Aga7~l diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_detection_mag.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_detection_mag.hex deleted file mode 100644 index c05d118..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_detection_mag.hex +++ /dev/null @@ -1,2048 +0,0 @@ -0FFFE -07039 -047FB -03A7B -017B3 -0101B -00FA4 -00E74 -00B81 -00B73 -01157 -00E5F -00D7F -01AF9 -02EC4 -0CF76 -0FFFE -099B0 -01A44 -012E0 -000A1 -00237 -0000E -001C0 -001AA -0012C -0008C -00278 -00361 -007E7 -00BC2 -0B366 -0FFFF -0FFFF -04251 -0065B -033A3 -010BF -02244 -00976 -020D8 -0082A -02909 -01353 -03283 -01F51 -05CFE -0FFFF -0FFFF -0FFFF -00F2D -0169C -010DD -00E33 -00D88 -00FBC -00EA2 -00D15 -00C95 -00FBA -0108B -01B77 -02116 -0DA4F -0FFFF -0FFFF -04ADE -05349 -00BCC -00A39 -00CB2 -00B49 -005A7 -009B8 -019FC -016B7 -01142 -08060 -0A1F5 -0FFFF -0FFFF -0E47D -01E11 -0368F -01863 -01800 -0127F -0046E -00119 -0046C -010D7 -01919 -00AD7 -0743C -0D335 -0FFFF -0D165 -0BF27 -0600D -00560 -02FD0 -03725 -0139F -022F0 -03296 -026F7 -00E2B -033DA -03282 -009A1 -05B8D -07370 -0FF99 -0CEC5 -0608F -044F2 -03AF8 -034CE -01D93 -015E1 -0078C -01677 -02659 -03380 -03CC2 -05CBE -0456F -04D3B -0B42D -09771 -0080C -00535 -002A0 -000CF -00154 -0006F -00083 -001BF -00138 -00239 -0010A -0083F -02AAC -08434 -094F2 -08F9B -005D4 -00AFD -00210 -0014B -001AA -0008C -0011F -0016B -00264 -002A3 -0015A -004AD -01C16 -08822 -073D1 -03E6F -001C6 -00433 -000F9 -00159 -000F7 -00091 -00061 -000B5 -001BE -00111 -0008D -00599 -007BB -026BD -06BDF -03573 -001E2 -00166 -0016A -00066 -00094 -000B0 -0011F -0008D -00098 -000F6 -0005E -001AE -00308 -02CC0 -074B9 -038B8 -00A04 -001C4 -00177 -001CB -000C3 -000D2 -001C7 -00182 -00118 -0007E -00071 -001C5 -00453 -0372E -0812C -03957 -003FD -002B1 -000A7 -000A7 -0004A -000BC -00168 -000FF -00089 -00071 -0014B -002B3 -00784 -040E0 -03BC9 -01D71 -002A5 -003A2 -00467 -00505 -00618 -0061C -00585 -00527 -0054D -005B2 -004E5 -0030F -00022 -01912 -03F43 -02102 -007AD -0051B -00581 -00378 -0010B -004A6 -005D5 -0045E -00195 -002BB -00421 -006DE -00683 -018D8 -05849 -01DC1 -01735 -01949 -01D74 -01E84 -01751 -01D6D -01CE9 -020AF -01635 -01AEF -01EFE -01F00 -01D9D -0201D -07F66 -03FEF -00A3E -0033E -002D3 -0034B -003C8 -00251 -00510 -001D7 -00332 -003D6 -002E1 -00223 -00856 -03F59 -08224 -03A91 -0102B -00938 -00422 -00AB8 -013B8 -018C2 -0196E -0175D -01253 -00C8C -00C98 -00C90 -01736 -04DD8 -09803 -04EBF -0085E -0030E -0013E -0009A -000AC -001A1 -00249 -00179 -0018E -00108 -0017C -00338 -00996 -04343 -07C1C -04036 -007A5 -00443 -00502 -0046D -0045A -0042D -008A8 -00558 -00385 -004D7 -0047A -003EB -004BE -035A9 -07183 -03DCD -003BD -002E0 -002FC -0013E -0029A -0024C -00239 -001C1 -0017B -00300 -00300 -0011C -00642 -03330 -076F0 -03DBA -006B5 -00330 -00266 -00193 -00080 -001B7 -0010C -00060 -000E5 -000BA -0039A -004BF -00172 -0317D -075B1 -03804 -003BA -00345 -00150 -001BC -00279 -000DD -001FF -001F2 -00090 -0010D -000DC -0030E -00103 -031DF -0325C -01426 -0101E -00998 -006C4 -00547 -00400 -0059E -00776 -00544 -002AC -00334 -0092E -00CDD -00FBE -02578 -03E54 -01E03 -00179 -00195 -00115 -000E0 -0006F -000E4 -000CE -0000B -00069 -000CB -000E9 -00286 -002D9 -01F04 -02031 -00B4F -00635 -01479 -015C5 -00C66 -0073D -00207 -00397 -00399 -004E5 -009B7 -01555 -0155C -00579 -0148B -02A97 -0244F -01883 -009B1 -007E3 -00237 -0017E -0063B -0051F -00669 -002A9 -001CB -0095D -00855 -0105A -0087D -00FC2 -00317 -00A92 -00AA9 -00AEE -0067B -003A6 -01122 -0162A -012C5 -0096A -0061F -00886 -00B2B -00AD2 -004B4 -00792 -00AA8 -01909 -01233 -00784 -00356 -007F0 -00DD6 -002A4 -00954 -009C1 -005AD -0092E -00ECC -00F22 -00980 -00B25 -011AD -01624 -00A1B -0049A -008D2 -0081A -00255 -0038F -006AD -00438 -00279 -0041E -00956 -014B0 -00A47 -0256B -01089 -007E2 -004BE -00301 -00338 -003C6 -0023A -0015F -0015D -001CC -0029C -002C3 -00512 -00744 -016F0 -01F22 -0123F -009F1 -0084F -006E4 -00426 -001C2 -00171 -001D4 -000F3 -0021D -0059F -00752 -0060A -005C8 -01435 -0250D -0114F -001B1 -0006A -000F3 -000DE -000E4 -0005D -00119 -00129 -000D5 -00042 -00033 -000F6 -001A8 -01191 -02C83 -01498 -004E4 -002FF -00469 -00366 -00256 -00119 -000A3 -0011C -00282 -002DF -0030D -002A6 -00510 -0138D -028C8 -01365 -0070E -00489 -0090E -0076E -00926 -005D8 -00968 -0080F -009BE -005F9 -009E8 -009A2 -006EA -0115A -0224F -0083C -00F80 -0086A -00121 -00237 -0074F -0056B -00137 -0040C -00662 -0027A -002BB -006F7 -00B25 -0161B -01EEB -0019F -0093F -006DE -00547 -0034D -002C1 -00585 -00617 -00523 -0007D -004CA -00453 -007DB -00EA9 -016F5 -02E86 -01080 -00A5C -00411 -00BE6 -00AAC -00815 -001C1 -00274 -0022E -00810 -00C1F -00D2A -007BE -00E4F -01D7D -02EF1 -01785 -00C1C -00FE5 -00D89 -00E00 -00359 -00FBD -01437 -00B05 -004CE -00DE9 -01063 -006F2 -0041F -011E7 -0A4E4 -0464A -00314 -007CF -000A6 -00114 -000F7 -00182 -002C8 -001F6 -000DE -000CF -00158 -004D6 -00639 -05BF4 -0A617 -03E4D -00053 -006CB -00116 -000FC -0006C -00336 -00361 -0012F -000E3 -000C9 -001BE -002C2 -00904 -05CF0 -04D6E -002ED -0366D -02F62 -018C2 -00B20 -00E22 -00E2C -019FE -01119 -00D37 -00AFE -0190E -02D46 -039CA -03750 -08EBF -04C4A -00915 -0016E -00080 -000EA -0014B -00156 -00265 -00192 -00131 -000D0 -000FC -005FA -00817 -035BA -0316E -016C5 -0059A -009ED -0043B -002B7 -002F2 -001B9 -000B8 -001F7 -0024A -0035B -00511 -0032B -00F9A -01853 -0222A -00C35 -00A5E -00439 -00519 -00458 -00623 -0063A -00538 -00959 -007E6 -001E1 -00733 -00822 -00FFB -01E98 -00B68 -00664 -00FDF -00BDA -006EB -002DF -003C3 -001C6 -001DC -003B0 -007BB -00736 -004D3 -004CB -00C59 -00AE2 -01DC5 -012E5 -00466 -0019F -001CF -0032C -002D8 -002B3 -003A7 -00395 -00154 -0035B -002E9 -00108 -00256 -008F1 -016C7 -00A26 -002F6 -00437 -00193 -000B8 -001A0 -00150 -0017F -00052 -00048 -00157 -000EB -003DC -003EA -00BD8 -0135F -00835 -0020A -00274 -00231 -00148 -00355 -004AE -00445 -003F3 -001EC -00190 -0024F -002A0 -004E3 -006FE -0175A -00A83 -00C52 -00A07 -00574 -003CE -00112 -00345 -003DC -00449 -002B6 -002FB -00494 -00AC4 -0116A -009AB -0167B -00B6A -002BC -00653 -00729 -004C8 -003FA -00106 -00211 -003D0 -0018A -002AB -003D7 -005F8 -00A1A -00F1E -019D6 -00B93 -010CF -01187 -00AAF -00905 -00599 -002EE -00078 -0042B -004D7 -00AAB -00A93 -00ECD -01169 -0075C -0298A -013CC -00074 -00231 -000A7 -000A0 -00048 -0003E -0000E -0000C -000B0 -00157 -0015D -00280 -001C0 -0125C -01D6D -00E27 -00358 -0024A -00228 -0009C -00774 -009FE -00C7D -00C7D -008CA -0048C -0006C -0055C -0067A -00D20 -01477 -01312 -007C2 -004D3 -0055F -00518 -004EE -00843 -009ED -0075A -009B0 -005D7 -0033F -00240 -00678 -00A7D -02636 -011A1 -00B3C -006D8 -00495 -00601 -006D9 -0046F -002DA -00497 -0066A -007F8 -004CD -0020D -003B9 -01211 -008B4 -008C7 -00F7E -01228 -006C0 -00514 -00441 -00B7E -01238 -00DEB -007F6 -0070C -001D0 -01448 -014B9 -00424 -0071C -007A1 -013F3 -00BFD -00655 -001FD -003EC -0055A -00636 -00453 -001F9 -002E7 -0089D -00ED1 -011F6 -0039A -01593 -0101D -00C04 -004CD -00810 -0035D -003F8 -001C6 -002D5 -001DB -0041C -0053B -00612 -0045F -00D34 -013C6 -02C84 -01993 -00B85 -00423 -001A1 -0023A -001D6 -00135 -002D4 -000AD -00141 -00161 -0014D -004D0 -00A5E -010C3 -02196 -00CAA -0013D -0038B -00AC8 -00EBA -00D37 -0069C -00108 -005E2 -00B9B -00D23 -009BC -003C6 -003C3 -00B0C -00655 -003E5 -00972 -0060A -00475 -00954 -0048A -006BA -00C79 -008CF -003E0 -00A32 -007A5 -0008C -0064E -008DC -01B87 -00F4C -0028A -00112 -000F0 -0015A -00013 -00114 -00291 -00076 -00092 -00080 -00084 -0019C -002B3 -00AE2 -00983 -00ACC -00B15 -0068C -002FC -000B0 -001DB -005E1 -003D9 -002BE -00353 -00358 -0061C -009B2 -00AD7 -00393 -00A5D -0035F -00CC7 -007DB -00478 -001A7 -001E2 -0047C -0040F -004FD -001C5 -00183 -004FC -009B1 -00CCA -00824 -0159D -0065E -00946 -0088C -0072D -005EA -005C3 -004D0 -00273 -00424 -004BE -003D4 -00675 -00250 -003AF -00D68 -00D4D -00C60 -01026 -006CF -00110 -00400 -002A8 -00236 -004B9 -003DA -00296 -0054B -005AC -000EA -006B8 -002F6 -0120E -003E8 -00671 -007DF -004B2 -00166 -004E6 -0060F -0026E -00498 -00673 -002D1 -0035C -005D4 -004F2 -00B5B -00DB9 -002A9 -00AF0 -00A7F -0030B -00448 -0026F -004E9 -00463 -0048F -0009C -0034F -00345 -00578 -00805 -00D2B -01103 -0052C -0075F -001CA -00572 -0011A -00147 -0028C -00197 -0030E -001C9 -00074 -003C2 -000E4 -00951 -00FA4 -0105B -00AD2 -00358 -001E9 -000AB -000A1 -0015F -00270 -003A1 -002D6 -00294 -00385 -0025F -00295 -003D3 -006CC -01057 -0111D -00D61 -00ED9 -00586 -000B9 -00109 -00419 -00413 -00443 -0056B -00729 -0067E -0025D -00BCD -00CC1 -014C1 -00FB3 -0089F -00582 -00448 -00251 -001DA -0021C -001B3 -001C7 -00213 -002CA -00420 -005A7 -005D0 -0056C -01312 -00C00 -006A8 -00BE0 -003FF -00817 -007EC -00472 -00860 -00C12 -00714 -00164 -002B7 -009A1 -00D1C -0060A -0181A -00C65 -004B3 -00805 -000FE -004D2 -00542 -000CF -0031C -005C1 -001C9 -002E9 -00628 -0032A -003BA -013AB -02F00 -02DAD -016B4 -006C1 -00D45 -004E9 -0062E -00643 -00254 -0066F -00668 -00639 -00BD5 -00689 -01812 -0193D -04862 -025AD -0055B -001E6 -00068 -0005E -00033 -000A2 -00132 -000A3 -000BB -00096 -00082 -00096 -00411 -0205C -0340F -03080 -02ABC -0133B -00D72 -00599 -00C2C -007E7 -012EF -0067C -00A20 -00549 -00E2E -01297 -0263A -0286F -06281 -02E09 -0069F -0004E -00062 -0002F -000F8 -001FB -00365 -00255 -001E1 -00128 -000D6 -00113 -00580 -0305F -02470 -00AFE -0014C -006E9 -007EB -008CB -00587 -00299 -002A4 -00630 -00552 -00505 -00377 -0051F -0094B -0218D -037EC -01AAA -002EA -0016A -00034 -000AD -00089 -000F1 -0023C -00118 -0009E -00168 -0011C -003BB -003E1 -0186D -00E3A -005FE -00DBD -00C6D -006B1 -0010D -006E8 -00721 -003EC -0041C -00847 -006DB -0018D -00561 -00F00 -010CF -01A78 -011D4 -005AF -00152 -00240 -004E7 -0058C -0072C -005FC -006D6 -006FF -00638 -00320 -0022F -00818 -00380 -0181A -01025 -00D0A -000A0 -00389 -000E1 -00263 -00073 -00432 -00051 -003B4 -00190 -002E3 -0042D -00B39 -012EB -003A7 -00B4B -00C55 -0055E -0045A -00432 -00283 -003C4 -008F7 -00905 -00183 -006BA -00994 -00C98 -012EB -00F46 -00644 -008E4 -00144 -0076F -006A8 -0057D -005F8 -00423 -006CE -0048C -002CC -00247 -00042 -0072B -00C44 -005F7 -00A75 -003F1 -008EB -0082B -0039E -001DC -00224 -00329 -0052F -003FF -00167 -002A1 -005E4 -003A2 -007D6 -00E51 -00DF0 -0072C -002E0 -00341 -004DC -00455 -006D3 -00BBE -00A6E -0030C -00646 -00AB9 -00B66 -005A9 -004C3 -00488 -016AC -00A20 -002EA -0042E -0049A -004FB -0054F -0047D -004D2 -004A6 -005C2 -003FA -004AE -00567 -00623 -00815 -03FDE -01C68 -00497 -0029D -001F4 -00273 -00157 -001DB -00094 -0010A -000B9 -00155 -001FE -00209 -00677 -0224D -03F12 -02206 -00AF0 -0081F -00852 -00551 -004D7 -00643 -0068C -005F8 -006DE -008F1 -00808 -0058D -0056D -01ACB -02DBE -00715 -0201C -01783 -00C80 -00572 -005CF -00960 -00C22 -00A21 -0044E -00683 -00D36 -0153A -02185 -0178A -03118 -00E4A -00D4E -009DB -00615 -0043D -00271 -0034A -005BE -0068E -0048C -004ED -006E3 -00E1D -01A4D -02FAE -026A1 -00ADD -024DF -016C7 -0061F -0078D -00AEB -0077D -001E9 -00787 -00E6B -00B4B -0053D -00BBB -01FBD -02F15 -04373 -02000 -005D4 -001BC -00191 -002B4 -0025A -00139 -0024D -0030E -001DA -00212 -00183 -002CE -00356 -01F35 -020EA -013EF -01088 -00CDC -00BFF -0065F -0071D -007B4 -00818 -003F5 -00540 -002CC -00BE1 -00D91 -01631 -0236A -00903 -00592 -01272 -00E9F -00A46 -00439 -002BC -003D1 -00777 -009DA -00514 -00453 -00482 -01B5F -02006 -00A31 -056C4 -023EB -0008A -00092 -00165 -00098 -00095 -00151 -001DC -000C5 -0006C -00066 -000FD -00062 -006AD -02C91 -05151 -02701 -007BA -0040A -000D6 -00080 -000A2 -00138 -002A5 -0015F -00088 -001FC -001F6 -000EC -00540 -0264E -037CF -01BE6 -002D6 -00538 -0030F -00373 -002A0 -001D1 -0030B -005A4 -00516 -0037C -00267 -00081 -00314 -01C63 -03446 -01F62 -00242 -00254 -003AE -00445 -0028F -00197 -00146 -0025E -002A6 -00378 -0047E -005DB -0049B -01C5D -03CDA -02B79 -01FB2 -00F86 -00621 -00657 -0067A -00A74 -005F8 -0096F -00CEA -00E68 -00B05 -01127 -01E72 -01114 -03213 -0252C -00F96 -00B2C -009F7 -00D73 -009B4 -01134 -00F75 -00C98 -00D6E -012E8 -00BAB -01245 -00F64 -016E2 -009ED -00673 -00F8E -0050D -00A18 -009ED -0067E -00BC7 -010E7 -00A9D -003BA -00575 -00A06 -00CF9 -01354 -00C85 -02193 -013AA -00665 -008B6 -00C1A -00B44 -007F7 -00730 -006A3 -00686 -0072B -0073E -00788 -00C34 -00D53 -004B0 -01244 -00925 -003BA -00A86 -00A75 -00F07 -00BB0 -00245 -0099A -009B3 -00E4E -00550 -00C61 -0185B -01830 -010A9 -02924 -01724 -00BF5 -0044C -007D7 -00A6E -00928 -00B72 -004C6 -00A0A -00865 -00998 -0082D -0057A -012D8 -01E34 -018A0 -00579 -00C86 -00672 -00103 -00311 -00513 -000DA -004D8 -005B1 -0012A -006BE -004CB -002A1 -015B1 -01D92 -00934 -00AA5 -010A6 -00CD3 -0041D -001A6 -00715 -00B7E -00A88 -00D79 -0102C -007D1 -0029B -01280 -016A5 -00B90 -060D5 -01F63 -01196 -00DFB -00ED9 -0111F -011F7 -01147 -0109B -00FBB -00EA6 -00F2D -00FF7 -00DE7 -00AF9 -028D7 -0627C -0290E -0092B -0032E -001CA -001DE -0023B -001EF -00172 -0014A -00267 -0005A -002CE -002C8 -0056D -02FAF -0B088 -03ED3 -01415 -00C5C -00271 -0019F -00165 -001A2 -00432 -0026D -00077 -0011C -001C7 -00665 -009D9 -0570C -09D6E -043A6 -00F7B -00A05 -00151 -001E0 -0020D -0028B -0031E -00282 -0024B -001D3 -00157 -0011C -009E9 -04AF1 -0A23F -069DE -0C380 -07840 -0216B -00590 -02963 -0244D -03250 -02248 -0068E -00E2E -03FAF -05520 -08F81 -0CA2D -0D189 -08378 -02B58 -01E03 -007F6 -006BF -00A8D -0038E -0030D -0008E -004E8 -00935 -004A2 -00AB5 -01B75 -0C68C -0C005 -09C7F -011FB -00E1C -00694 -0056B -0046F -004FD -0096D -00697 -00315 -00764 -0069A -006F9 -01AB7 -0847F -0AE22 -0B486 -02666 -012EF -00E63 -008B8 -008F7 -00E34 -00D20 -00B0E -00958 -00C19 -00E83 -0174A -0208D -08A25 -09D72 -05144 -00928 -0024C -00111 -00188 -00046 -000EB -0018C -00154 -001F8 -001A2 -001D5 -002A8 -00C7A -041D1 -06557 -01B37 -02DA4 -02297 -00FBD -00717 -007C5 -00C17 -01139 -00F5D -007F0 -0088F -015AF -01B0D -03C5D -067DB -04CB5 -02506 -01739 -00BFE -0055D -00D61 -00B5C -00AE1 -00183 -00B38 -00CD1 -00A94 -001EB -01711 -02696 -02FF3 -0485F -0094B -01DB0 -00984 -0038F -005D3 -00A31 -00408 -00165 -0053B -00A2C -002F2 -00941 -01269 -027AD -0437E -03B2B -0171C -00DAA -01776 -01B91 -007BB -01226 -01626 -01155 -00CA8 -00D4C -010D8 -00681 -018DB -029EC -0304C -06391 -0343B -006C5 -0025A -002AA -00229 -000C6 -0004A -001E3 -0026B -002DD -002CA -0023A -0039F -0042C -037C6 -0222D -03A4A -03664 -016E7 -0092F -0033D -00A52 -011BB -00EFF -00BF2 -00264 -010CD -01A33 -025D9 -01BEE -01CA9 -072C5 -0502C -00B86 -005C3 -007DC -00479 -00455 -00760 -006ED -00146 -005E2 -007E5 -002D6 -0042D -00A71 -03262 -0BF32 -05A5F -00517 -003F4 -0007E -00011 -0006B -000CB -0009E -0004D -00083 -00130 -000C2 -0064B -00DC5 -05469 -0AC70 -053A2 -0057A -002D5 -0019B -00157 -0015C -000AE -000DA -001AE -00170 -00125 -0009B -000F5 -0071A -04D90 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_detections.txt b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_detections.txt deleted file mode 100644 index 8099d9e..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_detections.txt +++ /dev/null @@ -1,211 +0,0 @@ -# AERIS-10 Full-Chain Golden Reference Detections -# Threshold: 10000 -# Format: range_bin doppler_bin magnitude -0 0 65534 -0 1 28729 -0 2 18427 -0 3 14971 -0 14 11972 -0 15 53110 -0 16 65534 -0 17 39344 -0 31 45926 -1 0 65535 -1 1 65535 -1 2 16977 -1 4 13219 -1 10 10505 -1 12 12931 -1 14 23806 -1 15 65535 -1 16 65535 -1 17 65535 -1 31 55887 -2 0 65535 -2 1 65535 -2 2 19166 -2 3 21321 -2 13 32864 -2 14 41461 -2 15 65535 -2 16 65535 -2 17 58493 -2 19 13967 -2 29 29756 -2 30 54069 -2 31 65535 -3 0 53605 -3 1 48935 -3 2 24589 -3 4 12240 -3 5 14117 -3 8 12950 -3 11 13274 -3 12 12930 -3 14 23437 -3 15 29552 -3 16 65433 -3 17 52933 -3 18 24719 -3 19 17650 -3 20 15096 -3 21 13518 -3 27 13184 -3 28 15554 -3 29 23742 -3 30 17775 -3 31 19771 -4 0 46125 -4 1 38769 -4 14 10924 -4 15 33844 -4 16 38130 -4 17 36763 -4 31 34850 -5 0 29649 -5 1 15983 -5 16 27615 -5 17 13683 -5 31 11456 -6 0 29881 -6 1 14520 -6 15 14126 -6 16 33068 -6 17 14679 -6 31 16608 -7 0 15305 -7 16 16195 -8 0 22601 -8 16 32614 -8 17 16367 -8 31 16217 -9 0 33316 -9 1 14993 -9 15 19928 -9 16 38915 -9 17 20159 -9 31 17219 -10 0 31772 -10 1 16438 -10 15 13737 -10 16 29059 -10 17 15821 -10 31 13104 -11 0 30448 -11 1 15802 -11 15 12669 -11 16 30129 -11 17 14340 -11 31 12767 -12 0 12892 -12 16 15956 -13 16 10903 -17 0 11395 -17 16 10440 -19 0 11910 -19 16 12017 -20 0 42212 -20 1 17994 -20 15 23540 -20 16 42519 -20 17 15949 -20 31 23792 -21 0 19822 -21 2 13933 -21 3 12130 -21 13 11590 -21 14 14794 -21 15 14160 -21 16 36543 -21 17 19530 -21 31 13754 -22 0 12654 -26 16 10634 -30 0 11396 -38 0 12032 -38 1 11693 -38 16 18530 -39 0 13327 -39 1 12416 -39 2 10940 -39 15 10351 -39 16 25217 -39 17 11785 -39 31 12383 -40 16 14316 -45 0 16350 -45 16 16146 -46 0 11710 -46 16 12568 -46 31 12206 -47 15 12053 -47 16 17267 -49 0 22212 -49 15 11409 -49 16 20817 -50 0 14287 -50 16 13382 -51 0 15578 -51 1 11129 -51 16 12819 -53 16 10532 -55 0 24789 -55 15 10455 -55 16 25212 -55 17 10510 -55 31 12207 -56 0 45192 -56 1 16083 -56 15 22284 -56 16 40302 -56 17 17318 -56 31 19185 -57 0 41535 -57 1 27102 -57 2 50048 -57 3 30784 -57 6 10595 -57 8 12880 -57 12 16303 -57 13 21792 -57 14 36737 -57 15 51757 -57 16 53641 -57 17 33656 -57 18 11096 -57 31 50828 -58 0 49157 -58 1 40063 -58 15 33919 -58 16 44578 -58 17 46214 -58 31 35365 -59 0 40306 -59 1 20804 -59 15 16849 -59 16 25943 -59 18 11684 -59 30 15453 -59 31 26587 -60 0 19637 -60 15 12275 -60 16 18527 -60 30 10157 -60 31 17278 -61 0 15147 -61 14 10732 -61 15 12364 -61 16 25489 -61 17 13371 -61 31 14278 -62 1 14922 -62 2 13924 -62 16 29381 -62 17 20524 -62 31 12898 -63 0 48946 -63 1 23135 -63 15 21609 -63 16 44144 -63 17 21410 -63 31 19856 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_doppler_i.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_doppler_i.npy deleted file mode 100644 index b764bdcdd20a73ccc68a82b932fe9092404ada6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 zcmbW;Y5dM*x&ZK}Qb|#kh{zrlDqD&qvP@Y@3EBGFD%pwDNRk$kDa~n-N@HzIM9N4- zqOygo*^(u)G$ule=XB=&UN26c^XhnWyY6dW?(1HD&wpI=R?Tj0ds=2t=HUumyA9~l zzruB;D%82JR)tEXDs=DDe_;Qd-ktjN@7nEu<{Rbo9MJ9e`2qLl^zHULT(M^LN~Nk* zy{uBHp{4$x|MFyqW&ZQ;v(?%E{5w@3!58jN@SyV({M4}oA2}_-t#YOD=aXr^)j0_+ zc09pdPEYWB^t(@_`O)Rm{G6u}9Qqr-o#3%&Cj1@0Cb)Y7GfR;lHNHu19`NhN-;BGB z4;e2yI|-V>&dj3;5o6e~DQ}`X$^HR{6W!-OrSXb93Ez@kxqe9V6>_JEg~iiYTO3Y) zo$&3`kUghT!iT;;>c0nH9&ybpZgn{Rthn58UXt?wy{$RkP@XpZoD_a_R-)U-?&sOj z;;#SOjye3_dU?Ws!=CfbNN|}`NkD({SI9$a_%G1+r0-wse}mpU+tYvk=y$*q)!&$+ zNnbVjTF9?|@MnoQbS1ZgdK`ZwP4wbN3HVi)BzZ+%{onduQFm|jNceH@C;U`=jq$D7 zm?n;0AP)J{xO-=szx?6^|6Lr;{VvVdE|%t-vAe@3Y5u0G(|q{7`@sZXx-8*8s+Qm- z>h3P`{!4v*DIP_wmp9d6p>q@8B?Z%X@$w|^;H3%fY8@P@oZ!mU(^zs{qHC0fY-N5_ zmtSR;c`1=+xSK(isg3U<_&(~SCwLS)tIAIe`TBREMDUWjxE+eGR%+2&=&s_SV zt_Gs(XTF1xy6iCU}{`W26KmSS^*WkYeKI9KKuT5v30rx={^U5?^6#iE0GD~oG^>TrA z-G$yAs9W?0z^lmH z!>(TXS9mnsw##k4ve@O(BzE5Kw`*R6)uE*bxo=@;U!0x^J z@dOL-U3~w5pBZr!=UnLssuJ#Sy_F)a~xD4zsvMz@-sU!Xs1ezEZ)dQQmK4sk7kuQ0yJ=mx2qvBqM~ zK@;9h`kyY9^nZ%J4n24Bql>W+`9Hyb1-=HprSVzgb>uY^r|tOuQZY@exGjxS)Zc0L z>3h(xAb%bBGjex=i-W6!=NhjxPQ!n?dOB|YK6%eHOB0(l=+nim1G&A?pAL@w?{#op z{^bRiL9ZM$v%p))t%z?ET{JsY-F;0>H$LRaexJNxd zZXNVAR^O5gDQ)A-(HPs|+iiTy*o)oTMP{M-=gd1cWWEHqfw%0kmBpzFd{h1DJ?E)A z*tt)h*6UZR1@bL*`zg7b$h!%=T3n(o&u7q^`b16V#`)rOLSN18z_jvEGOV>e+lU>r z*fo>B0_@)b9%XDr?ly26bvH^rJDEQ$&t2HNOTD*8|G4?Q=p{EGg!nLjuFD-ljr=ZEECsyw|C{Oo^|+}q5bW{mxJ zD|=?r_h)>KWBs7dtIj`l4%jFT9oZlEi`(dXo!nYr+ioWIp{UC{(M2DK@p^oH;fL|} zJ`L^(^*dOcBcAKnb2Gll#=FUT8r&Wn_4qNrJCj$5oa@CUpSb^xqhp*acHncp%#6a{ zNBpX*?~d}+jvqtR%Q5r~*tH4Ylk{H2&WGr~n!dP4opdhvT77;;PEmR5O>eBrh=+ET zjs5>?{#Ibm8Tcx)zbL(N-)DaIR`w3V_Yk_*z}?sp??a`*w-_B~vfaq3XuTe!e+T~_ zRCgsQ{*|A*;hTw9WBt3cdcBvN{pdsQR{Gx*w`S`3T=(=1?C))U3A)d>q=ej6BniAv zdYoot&oP&`(_Y*^lBKs@8{z@wmJ#LLck>IsOhX z#=460P^^zX(I5Cx=wBAkzmnhWQ-t0hSAgf3Zb5&XS7LpaA#XN+;~s4r$_#=32RZf7 zZ8W~Zj*navb8St8)xs}&7vxJ51DzAf%Kr=S`Rr4#*igQLKZBko>Zsik{nr3Svb;(arD%gO1_?-#*O zv1^w2MV)?2PTbS;>+^dR%rW%0qni&dDnB*#hl21Qu_Ml7N7zwTUG256PGwgu;{klz z#nrVrbKLv#S?Z;M_&rDNL*Sd}$DSELUYuj*{Q>_R{2*~zOHOTc8wq+U3}N>^dIzw3 z4ZfAec;}get^m4K@b&16xIAEf54}&|yIP&?~fG;;=a>H9@n9}Oa1)@j&s#1@;+eiX7cV}XDM*J_x;AtkFB>$ z;irm2te5KK#(BLDKclaY!&Tdi^%tf_KN}RIm^KRw| zcMH)M?^JRB7|Q=U<>wLSCfjXhExrxtN{dG|^FM@N>_5fdz5J{Qz6#wx$+_0}I(wVR z&ouS2l)R4cxA1SAye!AR-FyzXH@)k{CHmMQ@Y(Qr*%j{{@m{b=ejn!FZ@ZG<<>I)9 zJ@xQUp*QYzo7la`eDvet;8>qugCnlf$XiPPNcze-A5G%-7yO7mKA4?v=tI@y@fP$C z(X$=h9(3){-H+~4`r|%5g8nnb>lFWtb;gVyT< z{90(-N?&vP&tCN$@75jBMV}pop8D(xaJ>J#1fFa3%#+;--b7v}0@l$tQeAFTzh(LV zCb~P!KTb|f`ES6#cn@w1e-HjRht0r$)cB}+9uHn4ext)*>!S?2^3l_S-W%!JhyDxj zc=!_ZH#Hs=|E==13moUL0|K=Kez-iwd15EIYsrgyYY+DKVMnaHL+DqbFHc|OX(D^; z($_>D#^^hGcksFOiALhRH16Z*MjGEB_ey#nBX5uS^5&beZ!o_6{EqK+1Moe8ZV|rq z{9eW13G7+{ALotx@NY2|F~&NNbLcSh53=JFeIFR(owI|u$2zD_Z$0a-D12A;wNR(q z$iLng`M8z*_VOCH_ z*9si(Rn5hx1v{@nH=f++$N9*g!>>!wM_yWp&whL#)6+H2kIDC9f%dFXrbt31D| z(o=<93;7ZE%O2vpSG^oy?=kdS+1H+&p4MGK2ZXZT1LC_;)GP9=pW$SDw#`zPjd$XP z{2Rjm`@v(t-N9`LJaS>0*ibl)g?A*vU%`KNj#%Vga<{nL$dB3LQw&|a@2$0;9TlH* z(buuhY;&P$j=x#ur2kFt0FTMfdUnUXI_^PB%{SpsTX59d+vd5KsRX~!e8}&(HzB@P z=lRs_T6AUDANQZf;3x9u8*v9oE;}uQOiy}7qJQ2P_lgVAud+_&GcfL@?FjlP)*E~g zbrrv(8O)CQ@)hUtSP$L#(TASp_WSzsUPJ%sFAn?UGwQ3WxGtx+IymkD@s4x}JvXs; z4gXKDdk_Er#ol+|qi&a>i+9Bh;5*qf7hgML$cx``8@lbLeRZj{PYYzkg&`T>)+DKDdP3q2j4cWwYWjiyv{Hi}USh^K<2U zG5TKoi9C)HuYv^{H|q|IPXLs-yI%d_eA}zm2<}2ACliMluiO0&^P@^nm=7V zY^QIYK2zL$?B7-CJ+7W+IyYy;Bl>;x|F~D|6W?EK)W0}qyi8s{c3&%RU$7(AJ#(_t z;dih+t^o^M?>B)^>XwqJe4dqqKY zFjT#az&Dcr@pl4`@}mrS=ZV9w^u>1`<(B;(KKASQ-d2f!UB#~!c^}H#r_Ndb*1vi= ze@)+?40sAX_p@=YkA18r{FBDp*{!THtHIpNyo_#^`Of0A$GWRtJ`oi4p#7^jFXUg` zJL7%oS@JgUZ#%kX5&c(!>(Kv#e11pY3Ho-T8%f^P@GH^B?+6=#V}FZxse9D* z(F#dW$K6TLSp8~%bsX1UxB0 zL#&gz@B_#hBwuB~SLkQ4KBFJTJ@P@t@C&7x7X``dDwl1IK}VX;{Eq1|Kj)0 z6VNZGKR0{gJ5zu3xy83Ty7-RU48DZE@V)iem7MG3{T=nNKp)MDNBlk^*3m-q{ppMS zbv!#etH-!^$M3P~!#^WVozN|o=Z5-4yvtTbp9|f?=jE`F%g~aO~e*VVK0qmFwzX<&yaf|Oj#jT4tA2qhWzOD}9_X+WRIew3~ zkKFJx_Sw1gMn8(*<-8{z?-(CZPt(P%zxg;XEYmP2lJ|i)ZFEnbFYobtji>M*K_BlA zMbvjY^f%Jmi2c3gA?mQCd{swRvuYx2?w}Xz{wRA6TX$RC)7pcd)hCMKi@&>xdu2=b znl_R~;{G#xYv}_unk4-fS^r1n+0SA!XYo7UvEuzRepk?1esdWgHO9N?AaRJ_FO-vy zN$Zl}T|QW^xBt~tf5p))5U2P%kQwZ`))>EoI1Q}Kv)|Kur}_Kk;WhR9+_HrD;qF9u z+;^xF;#){Q^Wu;1SMkmtb=`@ccJ_t1r@RHeO*}@EbA>+h?UFRHXj>YG*GPh@jZJVj zjjE`)#Cd0#K6;CXsJu3W8v7F88td?+Jif!Pc9$jjvnMCIVJ#Cp`0WIbux{fVl~=tD zO6crRe#GynR`Ty+aovcnoOtBdhi)>zNZtLY-;S|B&a9Uha<55*Uk07{{~-S_k`wE= z4L!fmQxS|Tn}aWY57*sa{WN;42m+ z{H~J8(6Zt_8~q!`P2#zR9evsHE&Io?XES^1g5QQOWd1XGnsiap*ZQ-h{~-Hkc+hR6 z4sT^o8SAMrx_so`kl3?vzPW$(gI4yk&i_pr;Kx<9#c>*G^YI;itBgna3XOBij;O zUtCTZE$eLb&ywO;%(~jgo)zxrxxB~zj6cqmasG>Y|0Z==N1mVM#|&|=DK7Cl)%F%n zCHsCI@%UwGGW=xC8AOd_tWy(pP_h*wZyJY^Q&*{$QKP l3Pa{A`r`McabJ#iwQuAret+{a`WEa__Sr-9SNS{<{5PKd`3C?1 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_doppler_q.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_doppler_q.npy deleted file mode 100644 index cc85518fb279eb946d366e55363d27a0027e4d19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 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 diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_q.npy b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/fullchain_mti_q.npy deleted file mode 100644 index 146a6ec4dd6287a92b256858d2f5880938a37f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16512 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

;Fdjt>!OfeVwj;iDO---)0`!SN(FI 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 z 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 l5e-ZS5X|6=|9Nbo&+meZU6 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≥sJG~r~Tv{@?!e$ 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 E4{UU@X8-^I diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_chirp0_i.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_chirp0_i.hex deleted file mode 100644 index 78aa9b0..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_chirp0_i.hex +++ /dev/null @@ -1,1024 +0,0 @@ -EC94 -F5B1 -026F -FB11 -F070 -0A4B -F787 -0DDC -0268 -0027 -01C3 -1884 -F4A5 -E2B2 -057F -F2C5 -FC8E -F929 -FAB8 -ED5D -F46B -FE0F -F95B -FF11 -06F8 -DC15 -E0DE -D1DE -B46F -4388 -F568 -0364 -EDD1 -D699 -078F -EB8E -12FB -01F5 -0B00 -FFE4 -EA6A -E506 -04F9 -EA7F -3AB8 -DCE1 -E29C -1B49 -01BC -13F0 -048D -140C -0668 -1A7A -E38F -F9D8 -EC8D -FDE5 -EA8F -FBEC -01FF -F691 -FA0C -F1D7 -048A -03E3 -F599 -FB85 -F314 -FB3F -049F -FD0A -F2F5 -F626 -0356 -F9DA -099F -0009 -FDF3 -0027 -FC51 -FCA6 -02BB -02C9 -FABE -0528 -F867 -0273 -FFAF -FFB1 -F8DF -01C5 -FD46 -FF17 -0303 -F9AC -0184 -0008 -FA5E -03EA -FDAB -00CA -0405 -FDAE -FFE0 -FCD6 -FE47 -0368 -FBFB -FCE5 -FE86 -00CF -001B -FE05 -02A3 -FF1F -0095 -FC1A -00D2 -FABB -FED6 -0175 -FC8B -0300 -049A -01D4 -02A6 -0339 -FFFA -FBF7 -FF6A -FE17 -FD20 -FF09 -0156 -FEF1 -FEB3 -F61F -FA26 -07A5 -FFDE -FB3A -FAD7 -FD8C -0363 -05AA -02B4 -0117 -F783 -FC27 -0934 -FDB9 -0002 -00D8 -F819 -FCE6 -0415 -0451 -F11F -0539 -0462 -052C -0183 -0006 -07B9 -F9B6 -09B0 -0260 -FBAA -FB0D -0013 -0379 -021B -F4EB -011F -FFD4 -0487 -02FB -00E5 -054B -FE5E -03C4 -000B -FEA3 -0A78 -FE6D -00AD -00F2 -FA3B -FF51 -FEB4 -021A -065F -013A -02F6 -0079 -020D -0012 -FE6C -013D -00E6 -003C -02B2 -017B -FF02 -FF37 -FE6C -01D3 -FD71 -0270 -FFC9 -FE66 -00AF -02DD -004D -0274 -02B7 -FE87 -01B9 -FFD5 -037D -FFB8 -FFC2 -0198 -014C -0235 -00A1 -0272 -FF06 -026D -FFEB -FC3E -FEFE -0174 -0144 -001E -FFE9 -0190 -009D -0156 -0126 -012E -0150 -FF66 -017C -FE8D -0098 -FDC7 -010E -00F9 -FE3A -FD90 -0117 -FE5F -FED0 -FF08 -FFA7 -FFAA -FFA0 -0025 -007C -015B -FDF5 -01CB -FE03 -00E7 -02B8 -FE47 -FF03 -018F -FFEA -00E9 -01AA -FE98 -00CD -01F5 -000B -FF8B -FFA8 -01AB -0494 -01E4 -00BF -FFB6 -0302 -FDE5 -FF9A -FE77 -002B -FF1B -0019 -0157 -FE78 -023E -0288 -001E -0144 -02DE -FEF4 -0309 -00A0 -FF26 -FD13 -FFE9 -010E -033F -FE70 -0504 -0134 -01D7 -0329 -00EE -023F -007D -00D1 -FFCA -FFB7 -FB76 -009C -FDCA -0323 -02E4 -01B2 -0110 -0754 -F393 -FF54 -F3EE -F8D3 -0539 -F45E -FCA1 -0093 -0FE8 -0210 -FDD4 -FDB9 -FDAE -01F9 -0000 -F907 -0428 -0109 -0892 -FF84 -FA0B -F900 -FD56 -FB07 -F464 -01F5 -000E -008D -FF45 -022A -FECE -FE8D -FC58 -FF4A -019C -00F5 -02DA -FFEE -0008 -FC55 -01E6 -FE58 -FF25 -01BD -0098 -FFD5 -FFBB -0090 -02C2 -FE16 -FF1A -012A -0068 -FE25 -00FE -FF12 -0080 -FFEC -FF17 -FF54 -FF05 -015D -00C8 -009F -FF3D -011A -017F -FFF2 -0106 -0099 -00D5 -FED1 -00AC -001A -FFA0 -0157 -FFF2 -FF8E -0071 -0058 -0070 -0062 -FE44 -00B3 -0271 -FFDB -FF36 -0000 -0027 -00F1 -0002 -0011 -FF4A -0178 -FED0 -00C6 -035E -FF19 -02FA -0291 -002E -0362 -00FE -015C -FD43 -0159 -0043 -002C -0056 -0056 -FEB2 -0046 -033F -FE4A -FD55 -FF49 -FF50 -0166 -015B -FFEF -0044 -FE05 -FF91 -FEBC -FE91 -00F7 -FE60 -FF2B -FFE7 -FD4C -007B -024A -FE9A -FF9B -034C -FE40 -FE20 -028A -00DB -FF40 -FEFA -003E -009C -007E -FDC2 -0235 -FF97 -0097 -FE80 -FFDF -FE08 -00D0 -FED7 -FEB4 -0124 -FFC3 -FDBF -024F -018E -0068 -FD38 -01B0 -00A5 -FF6D -FE49 -FEDD -FE98 -FF60 -FBD9 -005E -FE57 -00D2 -FFC0 -009E -01F2 -FF9A -00BA -FFED -008C -003B -FE09 -FE82 -0106 -FF89 -FF91 -FF1C -FEDE -FE02 -0173 -0047 -FEB3 -FF56 -0081 -00A9 -008E -0172 -00E9 -0015 -0090 -FFA9 -FF7E -0003 -FFCD -0006 -016B -FD9E -FF53 -FFA9 -FFDB -FDA7 -FF33 -FEE0 -FFCB -0054 -0164 -00A5 -0024 -FECE -007C -FE2B -00A7 -000D -FEB4 -00B1 -FEED -FF4C -0034 -FFD6 -FE96 -00BB -007F -FFEC -00A1 -FF56 -0089 -FE5C -FFE0 -FE8B -FFBC -FF9A -007C -0003 -FF66 -0019 -01BF -0003 -000E -FFAB -0083 -FF88 -FFE1 -FE8A -00C5 -FE91 -01AD -FF18 -00E3 -0061 -FED0 -FF75 -FF68 -FFEC -FF90 -00D5 -004B -01F9 -0071 -FDDD -FF0C -FF11 -011F -0222 -005A -01AB -00AF -0143 -FE7F -FF11 -000F -FE8A -FDB7 -FFEB -006E -01C4 -FE24 -FEE0 -0212 -018B -FF66 -FBB7 -0070 -0036 -03C4 -FE97 -FDE8 -013F -FD91 -004C -02C3 -FCDB -FD27 -04D3 -010D -0281 -FFD4 -FD94 -FE75 -0238 -01A5 -FF51 -03B4 -0268 -052C -FE02 -FEE7 -0258 -FE49 -00A8 -FCEB -FE32 -0319 -028A -0279 -FE87 -FF99 -FD94 -FF6D -018C -FCBE -0069 -FEF4 -01A5 -FF58 -010E -02AF -FD2F -01E9 -0054 -FE03 -FECA -FEB6 -FE31 -FE6A -FED5 -004B -0283 -FFF5 -FF14 -022C -0051 -FF6C -011D -FC8E -013E -009A -0008 -0071 -0027 -FE95 -FFC7 -0077 -0005 -FEC2 -FFE9 -0133 -00A1 -00F7 -010E -001C -00AD -000D -FFCA -004D -FED7 -FF10 -FFB7 -0157 -FF72 -0244 -FE79 -FF42 -FF06 -FFD1 -FF7F -FF8A -021A -FF69 -FF54 -0020 -002A -FE47 -FF58 -010D -FF36 -FD91 -FF85 -FEF6 -0021 -FE20 -FF45 -0097 -FFDF -00C8 -02AB -0109 -FC97 -FFBB -015B -FA4C -FC44 -FF22 -FE74 -00AB -FA61 -0398 -FFE8 -0273 -016B -FE98 -0184 -0136 -046C -0250 -008D -FE78 -0409 -FC94 -FC6E -0320 -01FC -0306 -006C -00A9 -FEE4 -014B -0264 -FF8B -016C -014E -FEDB -0551 -03EC -FF80 -FEB3 -FC92 -052A -FC53 -00FE -0011 -025B -026F -FFF3 -008D -014C -FFFD -011F -FF15 -0258 -01C9 -FCE2 -0338 -014D -FE3B -05AD -FFA3 -03AE -FF65 -0078 -FE54 -03C3 -0608 -FAFA -FD13 -0128 -04F5 -0155 -FD11 -0133 -0143 -FEC8 -FF28 -FF68 -010E -FEF4 -0332 -01C8 -FEAD -FEBC -0208 -00AB -FD1D -0702 -02B9 -FDB0 -0090 -FDF6 -0067 -02B9 -01E8 -0057 -0003 -FEB9 -FE8C -FC7B -FC12 -05A8 -012E -FDA9 -FEA0 -FDEC -FED6 -0188 -FF33 -0030 -FFD0 -FF83 -FFC5 -01D8 -0251 -FFB9 -02AC -005C -FE9C -FF11 -0034 -FF6B -FE20 -FD7D -023A -FEF5 -0070 -FF4A -FFFD -00F0 -0372 -FFD5 -FFF2 -0265 -0218 -019B -011B -0164 -0242 -FDD5 -02A8 -025A -FCEE -00AD -00C8 -0048 -FEB4 -FE1D -0180 -FD16 -040D -01D5 -044C -FF19 -02FD -FDD2 -0768 -FCD0 -0466 -003C -FEE6 -014B -FBFE -FDEC -FA64 -FA34 -0955 -0352 -0113 -01C9 -FA8A -03CF -04C9 -00CE -0BDB -FA74 -095E -FE61 -FE39 -FDF5 -F6F0 -F9AA -F64C -01A9 -0858 -06F0 -0639 -07D2 -FC50 -0B76 -F6C4 -FC05 -F2F9 -0F7F -FD92 -E366 -FA09 -FDA5 -0324 -F4BD -FB62 -01E4 -019A -1560 -FD56 -F22D -04A8 -0D05 -1FA8 -0574 -0020 -F75A -E723 -EC6B -0407 -FD0C -FF5C -FD04 -FB38 -0192 -FF45 -F7CA -FA2F -FC39 -F40A -FAE2 -0803 -FD5B -F8A0 -0055 -FF11 -FB24 -010F -015D -F79E -0411 -F755 -F9B2 -013F -02BC -F75E -FAE1 -008E -0426 -F8BC -01B4 -0499 -018A -FACC -FE88 -F9C6 -0462 -FD9E -FE37 -FF41 -FF8F -00B8 -FE59 -FE44 -034C -FCB1 -FEAE -FF92 -FD4D -04A5 -FE1B -FF54 -FC9A -FF98 -FC1A -FC7D -04C9 -FF11 -03DF -019E -FF46 -FE7B -0324 -F613 -0462 -FF4A -032A -FF16 -FF36 -00C0 -FE2B -FEFA -FB8F -F343 -0BC4 -01EC -FDAD -0033 -0DE8 -036E diff --git a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_chirp0_q.hex b/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_chirp0_q.hex deleted file mode 100644 index 5cb0947..0000000 --- a/9_Firmware/9_2_FPGA/tb/cosim/real_data/hex/range_fft_chirp0_q.hex +++ /dev/null @@ -1,1024 +0,0 @@ -EF32 -FFA2 -0565 -F717 -07B8 -FE88 -0EB3 -00A2 -06C1 -0153 -046E -0D7D -EF1E -038D -17F3 -0344 -FA2F -0614 -FE78 -0CC2 -0C5A -0AAB -FDAF -0E73 -FD5E -120B -F941 -4BA3 -2721 -E727 -D694 -B58A -059E -0155 -0BDD -D483 -F389 -FF35 -E946 -1002 -05B9 -E202 -169E -1191 -D245 -1FB2 -FA40 -F3B4 -09EB -F8C8 -20A4 -FDEA -F881 -F96D -0917 -07D9 -0B3A -01EC -1438 -010E -0F1A -027D -056B -114D -DE37 -0041 -FBDE -0221 -01A5 -F79C -FC89 -014F -F607 -F52D -F916 -02E3 -FB55 -0C4A -FA09 -01CD -FE3C -0517 -F5C5 -FC8A -F8D8 -FA26 -0069 -F7FA -048F -0214 -01F9 -F99D -FEE6 -0317 -03B0 -FBB2 -FC21 -014D -F72B -0040 -FEAF -FD0F -FAF3 -01EE -0003 -0128 -FE2B -01B1 -FBDD -FBE6 -FD93 -FC77 -FEFB -FD88 -FB3F -FECE -FBC2 -0032 -FBA7 -0001 -FF96 -0143 -0088 -FF0D -FE00 -FD77 -FFC7 -FE37 -FB37 -FDC3 -FDE0 -FC91 -FF59 -04EC -0074 -FFAC -0110 -FE74 -FCFC -F922 -03BD -0A9B -04D9 -042F -07D3 -FCFA -FF85 -FC7B -0078 -0E6C -FCDC -F63D -0476 -F8DC -FBD7 -041E -01F2 -F827 -FFB8 -0563 -FAA7 -0457 -FDC4 -07E6 -01E3 -015E -04F8 -051F -FC84 -FDD0 -023A -0187 -FCCE -FB2B -0584 -059F -04A0 -F993 -06DA -FB95 -0041 -FABA -FFF1 -0394 -035F -00DC -FC70 -FE87 -FD42 -FFB4 -0129 -03C1 -FE8D -FE71 -FFE4 -030E -013C -FAE9 -0347 -FF54 -0436 -FDAF -00C5 -FE54 -FF1D -FFB6 -FE43 -0104 -006B -0051 -FFC8 -0070 -FEB3 -FE8C -00F3 -0249 -03C5 -0139 -0128 -FE5A -FD65 -FC1E -01D4 -FD9A -FFF1 -0136 -FD72 -FE41 -FD86 -FEE0 -FEA9 -0086 -FF97 -FE68 -030C -00FF -02FA -015A -0038 -FF63 -0035 -FFEA -FF1E -FEF4 -00FB -0026 -FEA1 -00AA -0023 -FF1E -00E7 -016E -FBFD -FF7B -00EA -0174 -0026 -0366 -0161 -008D -FFA1 -0006 -0244 -FF65 -FF9B -025A -FE51 -FDFD -0080 -010F -0254 -FF1F -000E -0100 -FFE7 -FFC8 -005E -0080 -FDC9 -FF62 -00B3 -FFB1 -FF3C -FE9E -01C7 -FEB5 -003F -0280 -FDF7 -0069 -006A -031E -0072 -00CB -FF0A -FE04 -FFA4 -FF10 -001B -FF8C -FDE9 -004D -01F2 -FFFF -00F6 -0044 -FD9F -01D3 -02BC -FD16 -013C -02AC -047F -FFA9 -FEA5 -FFF5 -03D5 -FE6C -FF73 -03D9 -FE0C -FFD9 -032B -FFB0 -0513 -05CD -0084 -058E -FA78 -03C9 -FE47 -FCEC -F33F -FA74 -0710 -0266 -FAA5 -038A -0340 -059B -FE8B -FDC9 -FEED -FA1A -064D -F7A6 -FD46 -FD35 -0390 -FBF6 -FFE1 -FF4B -02C4 -0173 -FD3C -FDDB -FD5C -FE32 -FB8A -FDE5 -FCDB -FF8F -FD61 -FE3D -FCD5 -FEC0 -001A -FDE8 -004D -00A0 -0105 -00F4 -FE09 -00DF -FF9F -FF3C -FE7A -FED4 -FF1A -005D -FF4F -FDBB -0230 -FE9B -005E -FF09 -FF1E -012A -FFE2 -0039 -FE1B -FF75 -FEEE -FF9A -FF0F -001E -0051 -FEF3 -003C -0075 -FF6A -0072 -FD95 -002C -FEAF -01FC -0002 -0060 -FCC2 -00CA -0036 -FF55 -FEEC -FEA7 -FEC9 -FE17 -0002 -0084 -FF34 -FF6E -00B0 -0099 -00F6 -00E3 -00FC -0110 -FFA1 -FE0F -FF99 -FE98 -FFCF -01F2 -0138 -0211 -02D4 -0171 -0061 -FFF4 -FF87 -FFA9 -FFF3 -02CF -FEA0 -02BC -02B5 -FF59 -0038 -FEA3 -019C -FCB3 -FD86 -0064 -0109 -FF6D -FF4D -00D3 -FC8D -034E -FEC6 -00AB -FF35 -FFE0 -FF73 -012A -0150 -FEBE -FF53 -FD4A -0221 -0012 -000D -01AA -00C9 -FF33 -02AF -00F3 -FF33 -FFD7 -01B3 -00E0 -0063 -017E -020C -FFD2 -023C -FCF7 -007E -FFB1 -FFC5 -0035 -FFD0 -FDE5 -01BE -FF85 -FF64 -001E -FFD1 -FF19 -FF2F -00EB -0007 -FE5A -021D -FF82 -FED1 -FFB8 -001D -00B9 -FF0B -FFD9 -0147 -FF94 -FF00 -00EC -FFC1 -005F -00E2 -0032 -FE39 -FF2E -FF75 -FECD -017C -0015 -008A -FD81 -FEA7 -008E -FFCB -0184 -FED6 -00FA -FF78 -004B -00BB -FECB -FF6A -009B -FFBF -FECD -0131 -0007 -FFB8 -FEE0 -003C -FE01 -FF6B -0039 -FF77 -FF37 -0050 -FF62 -00E9 -FFAA -FFD2 -009F -002D -FFD8 -0074 -FEF2 -FFFF -FFBA -FFBC -FEFA -0129 -FFC5 -0015 -0013 -FF5E -FEC0 -FF56 -FEAA -FF04 -FFB3 -009F -0099 -FDCF -FEE3 -0224 -FF5D -FF31 -FF72 -0163 -0017 -FED3 -00AB -FFB6 -FF15 -FED5 -FF22 -FD41 -FF93 -009A -FF77 -FF3D -FF26 -0136 -0114 -009D -01CE -FF49 -FFC8 -0117 -01A5 -FF46 -003B -FE18 -0146 -FCF9 -039F -FE87 -00A6 -FE1F -01D7 -FAF5 -FF16 -FDF5 -01D4 -032F -0115 -016D -04FA -0061 -0271 -01F1 -F914 -FFED -FC74 -FF5A -FFFA -02C9 -FF19 -FEA8 -049F -FEA6 -FBE1 -0010 -0749 -00BF -FE4D -0277 -FE27 -0478 -0173 -FFB3 -003C -00D8 -FFE0 -01B0 -0220 -01B6 -00A8 -034D -FF8D -FDED -0429 -0041 -00AC -FE77 -0039 -01D6 -0020 -FD1C -0051 -FFE2 -016E -006B -002E -FF8A -0145 -FF76 -0161 -FE61 -FD49 -008C -FF22 -00AB -FFDC -00EA -0155 -021C -002C -0050 -FEB5 -FFEA -FF0B -00E8 -004B -0062 -FF07 -004A -FFF9 -0091 -0030 -0053 -FFFC -FEB9 -0032 -FFAA -011F -FEB4 -FFFE -000B -FFC7 -FF5D -0063 -0188 -FF02 -01A0 -FDDB -0177 -FF78 -FF3A -0079 -00D1 -FFA6 -0095 -009C -023B -FF90 -02CF -01FB -0052 -0110 -012B -FE64 -FED7 -023D -01BD -0081 -007C -FF94 -FBB3 -00D8 -FB4E -FB8C -0301 -06A2 -00A4 -03A1 -00FA -FB7A -002F -0122 -FAF3 -0052 -0456 -FD93 -0458 -FD82 -0158 -FF87 -FDDB -FBE8 -F8DC -FC66 -FD91 -044A -01EB -FE40 -FF57 -02A8 -019F -039E -FDFB -FF37 -0496 -FDF2 -02E8 -008C -01C9 -FE69 -FFCD -00B0 -FDE0 -FB17 -FF5B -FF5A -FED5 -04E5 -FF74 -0233 -FFD6 -018B -0274 -FF50 -FC7F -FF54 -FE98 -0092 -FCFD -FB7C -FED1 -0261 -00D4 -FAB2 -FEF3 -0259 -0415 -0172 -0393 -FFD5 -FF6E -F95E -00E6 -FDF1 -0070 -FF40 -F9DA -FF6C -FF45 -0068 -00E9 -FFD1 -FD0E -04C3 -0114 -F7D2 -FE4D -014D -FF26 -0070 -FBBC -FE54 -FC21 -FD83 -0145 -00D7 -FBC5 -FEBC -02AF -FFF1 -017A -FFAF -FF0B -00FE -FFCB -FFA5 -031C -0174 -01EE -003F -00E9 -FD50 -000B -FF80 -FE3E -0042 -FE49 -FF20 -FDEA -0251 -00D3 -0181 -006D -006E -0237 -FE76 -0196 -03E1 -FF34 -FEA8 -FC67 -FEC1 -0246 -FF65 -FF52 -002B -FE4A -FEB4 -0022 -024B -0165 -FEDD -FE59 -FE61 -FE79 -022C -FFBA -FF5C -FF8B -0068 -FF33 -FE32 -FC13 -0339 -065D -01BE -03C8 -FE5E -047C -FA95 -FAB1 -FFF5 -FEB6 -0031 -0264 -0355 -011A -FBE6 -FEB2 -011F -0541 -FD4B -F8CE -091E -FEA7 -FBD4 -F3B9 -00D5 -FD5A -0497 -FD6E -0F78 -FE2B -0010 -EC8B -0598 -0116 -0326 -0542 -FACC -1068 -E167 -F414 -0CE9 -06D9 -EF19 -090A -FE08 -F3C4 -0A5A -F82A -F25D -0E10 -13B9 -025C -FBEC -E015 -FEB9 -1CF3 -06DA -FC01 -FB04 -0022 -FC6D -FD3C -07C5 -03A1 -020A -FEC1 -00C3 -03CD -05F3 -10AE -0102 -FD5D -01CD -FE08 -FFAD -FA6E -0085 -FC76 -04E0 -007F -020F -0811 -00F1 -FF9B -FF3A -0040 -FCE7 -FFC5 -014E -0257 -FE0A -FC4A -01E6 -0337 -0362 -0005 -0152 -FDE9 -FAD0 -0441 -FD43 -0031 -057F -020D -F4DB -02FB -0136 -02BF -FC06 -FEB6 -0138 -02D0 -055B -FD5E -048B -01A1 -0259 -FC3A -FBED -0800 -01C3 -FF34 -FE74 -FEAB -00C1 -02F3 -025B -FFD5 -0112 -0A7B -FDF8 -FFD5 -FD86 -0779 -FB53 -FF9D -FE65 -08BD -003E diff --git a/9_Firmware/9_2_FPGA/tb/tb_doppler_realdata.v b/9_Firmware/9_2_FPGA/tb/tb_doppler_realdata.v index 09fe864..8e817d0 100644 --- a/9_Firmware/9_2_FPGA/tb/tb_doppler_realdata.v +++ b/9_Firmware/9_2_FPGA/tb/tb_doppler_realdata.v @@ -3,16 +3,23 @@ /** * tb_doppler_realdata.v * - * Co-simulation testbench: feeds real ADI CN0566 radar data (post-range-FFT) - * through the Doppler processor RTL and compares output bit-for-bit against - * the Python golden reference (golden_reference.py). + * Co-simulation testbench: feeds synthetic post-range-FFT data (48 chirps x + * 64 range bins) into the Doppler processor RTL and compares output + * bit-for-bit against the Python golden reference produced by + * tb/cosim/real_data/gen_realdata_hex.py. + * + * Stimulus + golden are regenerated from `radar_scene.py` + `fpga_model.py` + * at production dimensions (3 sub-frames, 48-chirp frame, 48-bin Doppler, + * 512 post-decim range bins to match RP_NUM_RANGE_BINS = RP_FFT_SIZE/RP_DECIMATION_FACTOR + * = 2048/4 in radar_params.vh). The legacy ADI CN0566 .npy capture flow has + * been retired — see the generator script header for scene parameters. * * Stimulus: cosim/real_data/hex/doppler_input_realdata.hex - * (2048 x 32-bit packed {Q[31:16], I[15:0]}, chirp-major order) + * (24576 x 32-bit packed {Q[31:16], I[15:0]}, chirp-major order) * Expected: cosim/real_data/hex/doppler_ref_i.hex, doppler_ref_q.hex - * (2048 x 16-bit signed, range-major order: rbin0 x 32 doppler, ...) + * (24576 x 16-bit signed, range-major: rbin0 x 48 doppler, ...) * - * Pass criteria: ALL 2048 output bins match golden reference exactly. + * Pass criteria: ALL 24576 output bins match golden reference exactly. * * Compile: * iverilog -Wall -DSIMULATION -g2012 \ @@ -31,12 +38,12 @@ module tb_doppler_realdata; // PARAMETERS // ============================================================================ localparam CLK_PERIOD = 10.0; // 100 MHz -localparam DOPPLER_FFT = 32; // Total packed Doppler bins (2 sub-frames x 16-pt FFT) -localparam RANGE_BINS = 64; -localparam CHIRPS = 32; -localparam TOTAL_INPUTS = CHIRPS * RANGE_BINS; // 2048 -localparam TOTAL_OUTPUTS = RANGE_BINS * DOPPLER_FFT; // 2048 -localparam MAX_CYCLES = 500_000; // Timeout: 5 ms at 100 MHz +localparam DOPPLER_FFT = 48; // Total packed Doppler bins (3 sub-frames x 16-pt FFT) +localparam RANGE_BINS = 512; // RP_NUM_RANGE_BINS (post-decim, RP_FFT_SIZE / RP_DECIMATION_FACTOR) +localparam CHIRPS = 48; +localparam TOTAL_INPUTS = CHIRPS * RANGE_BINS; // 24576 +localparam TOTAL_OUTPUTS = RANGE_BINS * DOPPLER_FFT; // 24576 +localparam MAX_CYCLES = 5_000_000; // Timeout: 50 ms at 100 MHz // Error tolerance: 0 means exact match required. localparam integer MAX_ERROR = 0; @@ -65,18 +72,14 @@ wire frame_complete; wire [3:0] dut_status; // ============================================================================ -// DUT INSTANTIATION — override CHIRPS_PER_FRAME=32 (NUM_SUBFRAMES=2). This -// TB is a strict bit-exact regression against pre-recorded ADI CN0566 Phaser -// data (32 chirps x 64 range bins) generated by golden_reference.py against -// the legacy 2-subframe architecture; production 3-subframe (48-chirp) -// coverage now lives in tb_doppler_cosim.v with synthetic stimulus. -// Regenerating realdata for 48 chirps would need new ADI captures plus a -// 3-subframe rewrite of golden_reference.py — tracked as a PR-I follow-up. +// DUT INSTANTIATION — production dimensions (NUM_SUBFRAMES=3, 48-chirp frame, +// 64 post-decim range bins). Stimulus and golden are regenerated synthetically +// by tb/cosim/real_data/gen_realdata_hex.py from radar_scene + fpga_model. // ============================================================================ doppler_processor_optimized #( - .CHIRPS_PER_FRAME(32), + .CHIRPS_PER_FRAME(48), .CHIRPS_PER_SUBFRAME(16), - .RANGE_BINS(64) + .RANGE_BINS(512) ) dut ( .clk(clk), .reset_n(reset_n), @@ -172,15 +175,17 @@ initial begin $display("============================================================"); $display(" Doppler Processor Real-Data Co-Simulation"); - $display(" ADI CN0566 Phaser 10.525 GHz X-band FMCW"); - $display(" Input: 32 chirps x 64 range bins (post-range-FFT)"); - $display(" Expected: 64 range bins x 32 Doppler bins"); + $display(" Synthetic scene -> doppler_processor (3-subframe, 48-bin)"); + $display(" Input: %0d chirps x %0d range bins = %0d samples", + CHIRPS, RANGE_BINS, TOTAL_INPUTS); + $display(" Expected: %0d range bins x %0d Doppler bins = %0d outputs", + RANGE_BINS, DOPPLER_FFT, TOTAL_OUTPUTS); $display("============================================================"); // ---- Debug: check hex file loaded ---- - $display(" input_mem[0] = %08h", input_mem[0]); - $display(" input_mem[1] = %08h", input_mem[1]); - $display(" input_mem[2047] = %08h", input_mem[2047]); + $display(" input_mem[0] = %08h", input_mem[0]); + $display(" input_mem[1] = %08h", input_mem[1]); + $display(" input_mem[%0d] = %08h", TOTAL_INPUTS - 1, input_mem[TOTAL_INPUTS - 1]); $display(" ref_i[0] = %04h, ref_q[0] = %04h", ref_i[0], ref_q[0]); // ---- Check 1: DUT starts in IDLE ---- @@ -240,7 +245,7 @@ initial begin // ---- Check 3: Correct output count ---- check(out_count == TOTAL_OUTPUTS, - "Output sample count == 2048"); + "Output sample count == 24576"); // ---- Check 4: Did not timeout ---- check(cycle_count < MAX_CYCLES, @@ -258,9 +263,9 @@ initial begin end if (out_count == TOTAL_OUTPUTS) begin check(cap_rbin[TOTAL_OUTPUTS-1] == RANGE_BINS - 1, - "Last output: range_bin=63"); + "Last output: range_bin=511"); check(cap_dbin[TOTAL_OUTPUTS-1] == DOPPLER_FFT - 1, - "Last output: doppler_bin=31"); + "Last output: doppler_bin=47"); end // ================================================================== diff --git a/9_Firmware/9_2_FPGA/tb/tb_fullchain_realdata.v b/9_Firmware/9_2_FPGA/tb/tb_fullchain_realdata.v index 270f859..f57c6c7 100644 --- a/9_Firmware/9_2_FPGA/tb/tb_fullchain_realdata.v +++ b/9_Firmware/9_2_FPGA/tb/tb_fullchain_realdata.v @@ -3,25 +3,29 @@ /** * tb_fullchain_realdata.v * - * Full-chain co-simulation testbench: feeds real ADI CN0566 radar data - * (post-range-FFT, 32 chirps x 1024 bins) through: + * Full-chain co-simulation testbench: feeds synthetic post-range-FFT data + * (48 chirps x 2048 bins) through: * - * range_bin_decimator (peak detection, 1024→64) - * → doppler_processor_optimized (Hamming + dual 16-pt FFT) + * range_bin_decimator (peak detection, 2048→512, DECIM=4) + * → doppler_processor_optimized (Hamming + 3 x 16-pt FFT, 48-bin Doppler) * - * and compares the Doppler output bit-for-bit against the Python golden - * reference that models the same chain (golden_reference.py). + * Dimensions match production radar_params.vh: RP_FFT_SIZE=2048, + * RP_DECIMATION_FACTOR=4, RP_NUM_RANGE_BINS=512, RP_NUM_DOPPLER_BINS=48. + * + * The Python golden (tb/cosim/real_data/gen_realdata_hex.py) applies the + * same decimator + Doppler chain bit-exactly via fpga_model.py. The legacy + * ADI CN0566 .npy capture flow has been retired. * * Stimulus: * tb/cosim/real_data/hex/fullchain_range_input.hex - * 32768 x 32-bit packed {Q[31:16], I[15:0]} — 32 chirps x 1024 bins + * 98304 x 32-bit packed {Q[31:16], I[15:0]} — 48 chirps x 2048 bins * * Expected: * tb/cosim/real_data/hex/fullchain_doppler_ref_i.hex * tb/cosim/real_data/hex/fullchain_doppler_ref_q.hex - * 2048 x 16-bit signed — 64 range bins x 32 Doppler bins + * 24576 x 16-bit signed — 512 range bins x 48 Doppler bins * - * Pass criteria: ALL 2048 Doppler output bins match exactly. + * Pass criteria: ALL 24576 Doppler output bins match exactly. * * Compile: * iverilog -Wall -DSIMULATION -g2012 \ @@ -41,19 +45,19 @@ module tb_fullchain_realdata; // PARAMETERS // ============================================================================ localparam CLK_PERIOD = 10.0; // 100 MHz -localparam DOPPLER_FFT = 32; -localparam RANGE_BINS = 64; -localparam CHIRPS = 32; -localparam INPUT_BINS = 1024; -localparam DECIM_FACTOR = 16; +localparam DOPPLER_FFT = 48; // 3 sub-frames x 16-pt FFT +localparam RANGE_BINS = 512; // RP_NUM_RANGE_BINS (post-decim) +localparam CHIRPS = 48; +localparam INPUT_BINS = 2048; // RP_FFT_SIZE +localparam DECIM_FACTOR = 4; // RP_DECIMATION_FACTOR (2048->512) -localparam TOTAL_INPUT_SAMPLES = CHIRPS * INPUT_BINS; // 32768 -localparam TOTAL_OUTPUT_SAMPLES = RANGE_BINS * DOPPLER_FFT; // 2048 -localparam SAMPLES_PER_CHIRP = INPUT_BINS; // 1024 -localparam DECIM_PER_CHIRP = RANGE_BINS; // 64 +localparam TOTAL_INPUT_SAMPLES = CHIRPS * INPUT_BINS; // 98304 +localparam TOTAL_OUTPUT_SAMPLES = RANGE_BINS * DOPPLER_FFT; // 24576 +localparam SAMPLES_PER_CHIRP = INPUT_BINS; // 2048 +localparam DECIM_PER_CHIRP = RANGE_BINS; // 512 // Generous timeout: decimator + Doppler processing + margin -localparam MAX_CYCLES = 2_000_000; +localparam MAX_CYCLES = 8_000_000; // Error tolerance: 0 = exact match required localparam integer MAX_ERROR = 0; @@ -77,7 +81,7 @@ reg decim_valid_in; wire signed [15:0] decim_i_out; wire signed [15:0] decim_q_out; wire decim_valid_out; -wire [5:0] decim_bin_index; +wire [`RP_RANGE_BIN_WIDTH_MAX-1:0] decim_bin_index; // ============================================================================ // DOPPLER SIGNALS @@ -117,7 +121,7 @@ range_bin_decimator #( .range_valid_out(decim_valid_out), .range_bin_index(decim_bin_index), .decimation_mode(2'b01), // Peak detection mode - .start_bin(10'd0), + .start_bin(11'd0), .watchdog_timeout() ); @@ -125,12 +129,12 @@ range_bin_decimator #( // DUT INSTANTIATION: Doppler Processor // ============================================================================ doppler_processor_optimized #( - // Override CHIRPS_PER_FRAME / RANGE_BINS to keep this TB compatible with - // the legacy 2-subframe golden vectors (chirp-v2 production uses 48 - // chirps × 512 ranges; this co-sim runs 32 × 64). - .CHIRPS_PER_FRAME(32), + // Production 3-subframe / 48-chirp frame. RANGE_BINS=512 matches the + // 2048->512 range_bin_decimator output (RP_DECIMATION_FACTOR=4). + // Stimulus and golden are regenerated by gen_realdata_hex.py. + .CHIRPS_PER_FRAME(48), .CHIRPS_PER_SUBFRAME(16), - .RANGE_BINS(64) + .RANGE_BINS(512) ) doppler_proc ( .clk(clk), .reset_n(reset_n), @@ -252,8 +256,8 @@ initial begin $display("============================================================"); $display(" Full-Chain Real-Data Co-Simulation"); $display(" range_bin_decimator (peak, 1024->64)"); - $display(" -> doppler_processor_optimized (Hamming + dual 16-pt FFT)"); - $display(" ADI CN0566 Phaser 10.525 GHz X-band FMCW"); + $display(" -> doppler_processor_optimized (Hamming + 3 x 16-pt FFT)"); + $display(" Synthetic scene at production 3-subframe / 48-chirp dimensions"); $display(" Input: %0d chirps x %0d range FFT bins = %0d samples", CHIRPS, INPUT_BINS, TOTAL_INPUT_SAMPLES); $display(" Expected: %0d range bins x %0d Doppler bins = %0d outputs", @@ -261,9 +265,10 @@ initial begin $display("============================================================"); // ---- Debug: check hex files loaded ---- - $display(" input_mem[0] = %08h", input_mem[0]); - $display(" input_mem[1023] = %08h", input_mem[1023]); - $display(" input_mem[32767] = %08h", input_mem[32767]); + $display(" input_mem[0] = %08h", input_mem[0]); + $display(" input_mem[1023] = %08h", input_mem[1023]); + $display(" input_mem[%0d] = %08h", TOTAL_INPUT_SAMPLES - 1, + input_mem[TOTAL_INPUT_SAMPLES - 1]); $display(" ref_i[0] = %04h, ref_q[0] = %04h", ref_i[0], ref_q[0]); // ---- Check 1: Both DUTs start in IDLE ---- @@ -324,7 +329,7 @@ initial begin // ---- Check 3: Decimator produced correct number of outputs ---- check(decim_out_count == CHIRPS * RANGE_BINS, - "Decimator output count == 2048"); + "Decimator output count == 24576"); // ---- Wait for Doppler processing to complete ---- $display("\n--- Waiting for Doppler to process and emit %0d outputs ---", @@ -349,7 +354,7 @@ initial begin // ---- Check 4: Correct Doppler output count ---- check(out_count == TOTAL_OUTPUT_SAMPLES, - "Doppler output count == 2048"); + "Doppler output count == 24576"); // ---- Check 5: Did not timeout ---- check(cycle_count < MAX_CYCLES, @@ -367,9 +372,9 @@ initial begin end if (out_count == TOTAL_OUTPUT_SAMPLES) begin check(cap_rbin[TOTAL_OUTPUT_SAMPLES-1] == RANGE_BINS - 1, - "Last output: range_bin=63"); + "Last output: range_bin=511"); check(cap_dbin[TOTAL_OUTPUT_SAMPLES-1] == DOPPLER_FFT - 1, - "Last output: doppler_bin=31"); + "Last output: doppler_bin=47"); end // ==================================================================