imap-processing 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. imap_processing/__init__.py +34 -0
  2. imap_processing/_version.py +3 -0
  3. imap_processing/ccsds/__init__.py +0 -0
  4. imap_processing/ccsds/ccsds_data.py +55 -0
  5. imap_processing/ccsds/excel_to_xtce.py +477 -0
  6. imap_processing/cdf/__init__.py +0 -0
  7. imap_processing/cdf/cdf_attribute_manager.py +322 -0
  8. imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +212 -0
  9. imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +1358 -0
  10. imap_processing/cdf/config/imap_codice_l1b_variable_attrs.yaml +391 -0
  11. imap_processing/cdf/config/imap_constant_attrs.yaml +33 -0
  12. imap_processing/cdf/config/imap_default_global_cdf_attrs.yaml +17 -0
  13. imap_processing/cdf/config/imap_glows_global_cdf_attrs.yaml +41 -0
  14. imap_processing/cdf/config/imap_glows_l1a_variable_attrs.yaml +499 -0
  15. imap_processing/cdf/config/imap_glows_l1b_variable_attrs.yaml +334 -0
  16. imap_processing/cdf/config/imap_hi_global_cdf_attrs.yaml +51 -0
  17. imap_processing/cdf/config/imap_hi_variable_attrs.yaml +435 -0
  18. imap_processing/cdf/config/imap_hit_global_cdf_attrs.yaml +27 -0
  19. imap_processing/cdf/config/imap_hit_l1a_variable_attrs.yaml +493 -0
  20. imap_processing/cdf/config/imap_hit_l1b_variable_attrs.yaml +564 -0
  21. imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml +24 -0
  22. imap_processing/cdf/config/imap_idex_l1a_variable_attrs.yaml +426 -0
  23. imap_processing/cdf/config/imap_lo_global_cdf_attrs.yaml +90 -0
  24. imap_processing/cdf/config/imap_lo_l1a_variable_attrs.yaml +487 -0
  25. imap_processing/cdf/config/imap_lo_l1b_variable_attrs.yaml +121 -0
  26. imap_processing/cdf/config/imap_lo_l1c_variable_attrs.yaml +179 -0
  27. imap_processing/cdf/config/imap_mag_global_cdf_attrs.yaml +97 -0
  28. imap_processing/cdf/config/imap_mag_l1_variable_attrs.yaml +201 -0
  29. imap_processing/cdf/config/imap_swapi_global_cdf_attrs.yaml +33 -0
  30. imap_processing/cdf/config/imap_swapi_variable_attrs.yaml +137 -0
  31. imap_processing/cdf/config/imap_swe_global_cdf_attrs.yaml +24 -0
  32. imap_processing/cdf/config/imap_swe_l1a_variable_attrs.yaml +234 -0
  33. imap_processing/cdf/config/imap_swe_l1b_variable_attrs.yaml +273 -0
  34. imap_processing/cdf/config/imap_ultra_global_cdf_attrs.yaml +100 -0
  35. imap_processing/cdf/config/imap_ultra_l1a_variable_attrs.yaml +52 -0
  36. imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +297 -0
  37. imap_processing/cdf/config/imap_ultra_l1c_variable_attrs.yaml +121 -0
  38. imap_processing/cdf/config/shared/default_global_cdf_attrs_schema.yaml +246 -0
  39. imap_processing/cdf/config/shared/default_variable_cdf_attrs_schema.yaml +466 -0
  40. imap_processing/cdf/imap_cdf_manager.py +64 -0
  41. imap_processing/cdf/utils.py +147 -0
  42. imap_processing/cli.py +863 -0
  43. imap_processing/codice/__init__.py +1 -0
  44. imap_processing/codice/codice_l0.py +54 -0
  45. imap_processing/codice/codice_l1a.py +558 -0
  46. imap_processing/codice/codice_l1b.py +194 -0
  47. imap_processing/codice/constants.py +986 -0
  48. imap_processing/codice/data/esa_sweep_values.csv +257 -0
  49. imap_processing/codice/data/lo_stepping_values.csv +129 -0
  50. imap_processing/codice/decompress.py +142 -0
  51. imap_processing/codice/packet_definitions/P_COD_NHK.xml +618 -0
  52. imap_processing/codice/packet_definitions/codice_packet_definition.xml +5073 -0
  53. imap_processing/codice/utils.py +95 -0
  54. imap_processing/decom.py +40 -0
  55. imap_processing/glows/__init__.py +1 -0
  56. imap_processing/glows/ancillary/l1b_conversion_table_v001.json +42 -0
  57. imap_processing/glows/l0/__init__.py +0 -0
  58. imap_processing/glows/l0/decom_glows.py +91 -0
  59. imap_processing/glows/l0/glows_l0_data.py +194 -0
  60. imap_processing/glows/l1a/glows_l1a.py +424 -0
  61. imap_processing/glows/l1a/glows_l1a_data.py +555 -0
  62. imap_processing/glows/l1b/glows_l1b.py +270 -0
  63. imap_processing/glows/l1b/glows_l1b_data.py +583 -0
  64. imap_processing/glows/packet_definitions/GLX_COMBINED.xml +254 -0
  65. imap_processing/glows/packet_definitions/P_GLX_TMSCDE.xml +97 -0
  66. imap_processing/glows/packet_definitions/P_GLX_TMSCHIST.xml +215 -0
  67. imap_processing/glows/utils/__init__.py +0 -0
  68. imap_processing/glows/utils/constants.py +105 -0
  69. imap_processing/hi/__init__.py +1 -0
  70. imap_processing/hi/l0/__init__.py +0 -0
  71. imap_processing/hi/l0/decom_hi.py +24 -0
  72. imap_processing/hi/l1a/__init__.py +0 -0
  73. imap_processing/hi/l1a/hi_l1a.py +73 -0
  74. imap_processing/hi/l1a/histogram.py +142 -0
  75. imap_processing/hi/l1a/housekeeping.py +27 -0
  76. imap_processing/hi/l1a/science_direct_event.py +341 -0
  77. imap_processing/hi/l1b/__init__.py +0 -0
  78. imap_processing/hi/l1b/hi_eng_unit_convert_table.csv +154 -0
  79. imap_processing/hi/l1b/hi_l1b.py +127 -0
  80. imap_processing/hi/l1c/__init__.py +0 -0
  81. imap_processing/hi/l1c/hi_l1c.py +228 -0
  82. imap_processing/hi/packet_definitions/__init__.py +0 -0
  83. imap_processing/hi/packet_definitions/hi_packet_definition.xml +482 -0
  84. imap_processing/hi/utils.py +27 -0
  85. imap_processing/hit/__init__.py +1 -0
  86. imap_processing/hit/l0/__init__.py +0 -0
  87. imap_processing/hit/l0/data_classes/housekeeping.py +240 -0
  88. imap_processing/hit/l0/data_classes/science_packet.py +259 -0
  89. imap_processing/hit/l0/decom_hit.py +467 -0
  90. imap_processing/hit/l0/utils/hit_base.py +57 -0
  91. imap_processing/hit/l1a/__init__.py +0 -0
  92. imap_processing/hit/l1a/hit_l1a.py +254 -0
  93. imap_processing/hit/l1b/hit_l1b.py +179 -0
  94. imap_processing/hit/packet_definitions/hit_packet_definitions.xml +1276 -0
  95. imap_processing/ialirt/__init__.py +0 -0
  96. imap_processing/ialirt/l0/__init__.py +0 -0
  97. imap_processing/ialirt/l0/process_hit.py +220 -0
  98. imap_processing/ialirt/packet_definitions/__init__.py +0 -0
  99. imap_processing/ialirt/packet_definitions/ialirt.xml +778 -0
  100. imap_processing/ialirt/packet_definitions/ialirt_hit.xml +186 -0
  101. imap_processing/idex/__init__.py +2 -0
  102. imap_processing/idex/idex_constants.py +27 -0
  103. imap_processing/idex/idex_l0.py +31 -0
  104. imap_processing/idex/idex_l1a.py +631 -0
  105. imap_processing/idex/packet_definitions/idex_packet_definition.xml +3162 -0
  106. imap_processing/lo/__init__.py +1 -0
  107. imap_processing/lo/l0/__init__.py +0 -0
  108. imap_processing/lo/l0/data_classes/science_direct_events.py +215 -0
  109. imap_processing/lo/l0/data_classes/star_sensor.py +98 -0
  110. imap_processing/lo/l0/decompression_tables/12_to_16_bit.csv +4097 -0
  111. imap_processing/lo/l0/decompression_tables/8_to_12_bit.csv +257 -0
  112. imap_processing/lo/l0/decompression_tables/8_to_16_bit.csv +257 -0
  113. imap_processing/lo/l0/decompression_tables/decompression_tables.py +75 -0
  114. imap_processing/lo/l0/lo_apid.py +15 -0
  115. imap_processing/lo/l0/lo_science.py +150 -0
  116. imap_processing/lo/l0/utils/binary_string.py +59 -0
  117. imap_processing/lo/l0/utils/bit_decompression.py +62 -0
  118. imap_processing/lo/l0/utils/lo_base.py +57 -0
  119. imap_processing/lo/l1a/__init__.py +0 -0
  120. imap_processing/lo/l1a/lo_l1a.py +157 -0
  121. imap_processing/lo/l1b/lo_l1b.py +160 -0
  122. imap_processing/lo/l1c/lo_l1c.py +180 -0
  123. imap_processing/lo/packet_definitions/lo_xtce.xml +3541 -0
  124. imap_processing/mag/__init__.py +2 -0
  125. imap_processing/mag/constants.py +108 -0
  126. imap_processing/mag/l0/decom_mag.py +170 -0
  127. imap_processing/mag/l0/mag_l0_data.py +118 -0
  128. imap_processing/mag/l1a/mag_l1a.py +317 -0
  129. imap_processing/mag/l1a/mag_l1a_data.py +1007 -0
  130. imap_processing/mag/l1b/__init__.py +0 -0
  131. imap_processing/mag/l1b/imap_calibration_mag_20240229_v01.cdf +0 -0
  132. imap_processing/mag/l1b/mag_l1b.py +125 -0
  133. imap_processing/mag/l1c/mag_l1c.py +57 -0
  134. imap_processing/mag/packet_definitions/MAG_SCI_COMBINED.xml +235 -0
  135. imap_processing/quality_flags.py +91 -0
  136. imap_processing/spice/__init__.py +1 -0
  137. imap_processing/spice/geometry.py +322 -0
  138. imap_processing/spice/kernels.py +459 -0
  139. imap_processing/spice/time.py +72 -0
  140. imap_processing/swapi/__init__.py +1 -0
  141. imap_processing/swapi/l1/__init__.py +0 -0
  142. imap_processing/swapi/l1/swapi_l1.py +685 -0
  143. imap_processing/swapi/l2/__init__.py +0 -0
  144. imap_processing/swapi/l2/swapi_l2.py +107 -0
  145. imap_processing/swapi/packet_definitions/__init__.py +0 -0
  146. imap_processing/swapi/packet_definitions/swapi_packet_definition.xml +708 -0
  147. imap_processing/swapi/swapi_utils.py +25 -0
  148. imap_processing/swe/__init__.py +1 -0
  149. imap_processing/swe/l1a/__init__.py +0 -0
  150. imap_processing/swe/l1a/swe_l1a.py +48 -0
  151. imap_processing/swe/l1a/swe_science.py +223 -0
  152. imap_processing/swe/l1b/engineering_unit_convert_table.csv +65 -0
  153. imap_processing/swe/l1b/swe_esa_lookup_table.csv +1441 -0
  154. imap_processing/swe/l1b/swe_l1b.py +49 -0
  155. imap_processing/swe/l1b/swe_l1b_science.py +557 -0
  156. imap_processing/swe/packet_definitions/__init__.py +0 -0
  157. imap_processing/swe/packet_definitions/swe_packet_definition.xml +303 -0
  158. imap_processing/swe/utils/__init__.py +0 -0
  159. imap_processing/swe/utils/swe_utils.py +9 -0
  160. imap_processing/tests/__init__.py +0 -0
  161. imap_processing/tests/ccsds/test_data/expected_output.xml +171 -0
  162. imap_processing/tests/ccsds/test_excel_to_xtce.py +285 -0
  163. imap_processing/tests/cdf/__init__.py +0 -0
  164. imap_processing/tests/cdf/imap_default_global_cdf_attrs.yaml +8 -0
  165. imap_processing/tests/cdf/shared/default_global_cdf_attrs_schema.yaml +246 -0
  166. imap_processing/tests/cdf/shared/default_variable_cdf_attrs_schema.yaml +466 -0
  167. imap_processing/tests/cdf/test_cdf_attribute_manager.py +353 -0
  168. imap_processing/tests/cdf/test_data/imap_default_global_test_cdf_attrs.yaml +7 -0
  169. imap_processing/tests/cdf/test_data/imap_instrument1_global_cdf_attrs.yaml +14 -0
  170. imap_processing/tests/cdf/test_data/imap_instrument1_level1_variable_attrs.yaml +23 -0
  171. imap_processing/tests/cdf/test_data/imap_instrument2_global_cdf_attrs.yaml +23 -0
  172. imap_processing/tests/cdf/test_data/imap_instrument2_level2_variable_attrs.yaml +30 -0
  173. imap_processing/tests/cdf/test_data/imap_test_global.yaml +26 -0
  174. imap_processing/tests/cdf/test_data/imap_test_variable.yaml +41 -0
  175. imap_processing/tests/cdf/test_imap_cdf_manager.py +62 -0
  176. imap_processing/tests/cdf/test_utils.py +109 -0
  177. imap_processing/tests/codice/__init__.py +0 -0
  178. imap_processing/tests/codice/conftest.py +56 -0
  179. imap_processing/tests/codice/data/eu_unit_lookup_table.csv +101 -0
  180. imap_processing/tests/codice/data/idle_export_eu.COD_NHK_20230822_122700 2.csv +100 -0
  181. imap_processing/tests/codice/data/idle_export_raw.COD_NHK_20230822_122700.csv +100 -0
  182. imap_processing/tests/codice/data/imap_codice_l0_hi-counters-aggregated_20240429_v001.pkts +0 -0
  183. imap_processing/tests/codice/data/imap_codice_l0_hi-counters-singles_20240429_v001.pkts +0 -0
  184. imap_processing/tests/codice/data/imap_codice_l0_hi-omni_20240429_v001.pkts +0 -0
  185. imap_processing/tests/codice/data/imap_codice_l0_hi-pha_20240429_v001.pkts +0 -0
  186. imap_processing/tests/codice/data/imap_codice_l0_hi-sectored_20240429_v001.pkts +0 -0
  187. imap_processing/tests/codice/data/imap_codice_l0_hskp_20100101_v001.pkts +0 -0
  188. imap_processing/tests/codice/data/imap_codice_l0_lo-counters-aggregated_20240429_v001.pkts +0 -0
  189. imap_processing/tests/codice/data/imap_codice_l0_lo-counters-singles_20240429_v001.pkts +0 -0
  190. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-angular_20240429_v001.pkts +0 -0
  191. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-priority_20240429_v001.pkts +0 -0
  192. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-species_20240429_v001.pkts +0 -0
  193. imap_processing/tests/codice/data/imap_codice_l0_lo-pha_20240429_v001.pkts +0 -0
  194. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-angular_20240429_v001.pkts +0 -0
  195. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-priority_20240429_v001.pkts +0 -0
  196. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-species_20240429_v001.pkts +0 -0
  197. imap_processing/tests/codice/data/imap_codice_l1a_hi-counters-aggregated_20240429_v001.cdf +0 -0
  198. imap_processing/tests/codice/data/imap_codice_l1a_hi-counters-singles_20240429_v001.cdf +0 -0
  199. imap_processing/tests/codice/data/imap_codice_l1a_hi-omni_20240429_v001.cdf +0 -0
  200. imap_processing/tests/codice/data/imap_codice_l1a_hi-sectored_20240429_v001.cdf +0 -0
  201. imap_processing/tests/codice/data/imap_codice_l1a_hskp_20100101_v001.cdf +0 -0
  202. imap_processing/tests/codice/data/imap_codice_l1a_lo-counters-aggregated_20240429_v001.cdf +0 -0
  203. imap_processing/tests/codice/data/imap_codice_l1a_lo-counters-singles_20240429_v001.cdf +0 -0
  204. imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-angular_20240429_v001.cdf +0 -0
  205. imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-priority_20240429_v001.cdf +0 -0
  206. imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-species_20240429_v001.cdf +0 -0
  207. imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-angular_20240429_v001.cdf +0 -0
  208. imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-priority_20240429_v001.cdf +0 -0
  209. imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-species_20240429_v001.cdf +0 -0
  210. imap_processing/tests/codice/data/imap_codice_l1b_hi-counters-aggregated_20240429_v001.cdf +0 -0
  211. imap_processing/tests/codice/data/imap_codice_l1b_hi-counters-singles_20240429_v001.cdf +0 -0
  212. imap_processing/tests/codice/data/imap_codice_l1b_hi-omni_20240429_v001.cdf +0 -0
  213. imap_processing/tests/codice/data/imap_codice_l1b_hi-sectored_20240429_v001.cdf +0 -0
  214. imap_processing/tests/codice/data/imap_codice_l1b_hskp_20100101_v001.cdf +0 -0
  215. imap_processing/tests/codice/data/imap_codice_l1b_lo-counters-aggregated_20240429_v001.cdf +0 -0
  216. imap_processing/tests/codice/data/imap_codice_l1b_lo-counters-singles_20240429_v001.cdf +0 -0
  217. imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-angular_20240429_v001.cdf +0 -0
  218. imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-priority_20240429_v001.cdf +0 -0
  219. imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-species_20240429_v001.cdf +0 -0
  220. imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-angular_20240429_v001.cdf +0 -0
  221. imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-priority_20240429_v001.cdf +0 -0
  222. imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-species_20240429_v001.cdf +0 -0
  223. imap_processing/tests/codice/test_codice_l0.py +144 -0
  224. imap_processing/tests/codice/test_codice_l1a.py +187 -0
  225. imap_processing/tests/codice/test_codice_l1b.py +60 -0
  226. imap_processing/tests/codice/test_decompress.py +50 -0
  227. imap_processing/tests/conftest.py +372 -0
  228. imap_processing/tests/glows/direct_events_validation_data_l1a.csv +5704 -0
  229. imap_processing/tests/glows/glows_test_packet_20110921_v01.pkts +0 -0
  230. imap_processing/tests/glows/test_glows_decom.py +133 -0
  231. imap_processing/tests/glows/test_glows_l1a_cdf.py +85 -0
  232. imap_processing/tests/glows/test_glows_l1a_data.py +510 -0
  233. imap_processing/tests/glows/test_glows_l1b.py +348 -0
  234. imap_processing/tests/glows/test_glows_l1b_data.py +70 -0
  235. imap_processing/tests/hi/__init__.py +0 -0
  236. imap_processing/tests/hi/conftest.py +133 -0
  237. imap_processing/tests/hi/test_data/l0/20231030_H45_APP_NHK.bin +0 -0
  238. imap_processing/tests/hi/test_data/l0/20231030_H45_APP_NHK.csv +201 -0
  239. imap_processing/tests/hi/test_data/l0/20231030_H45_SCI_CNT.bin +0 -0
  240. imap_processing/tests/hi/test_data/l0/20231030_H45_SCI_DE.bin +0 -0
  241. imap_processing/tests/hi/test_data/l0/README.txt +54 -0
  242. imap_processing/tests/hi/test_decom.py +55 -0
  243. imap_processing/tests/hi/test_hi_l1b.py +31 -0
  244. imap_processing/tests/hi/test_hi_l1c.py +69 -0
  245. imap_processing/tests/hi/test_l1a.py +96 -0
  246. imap_processing/tests/hi/test_l1a_sci_de.py +72 -0
  247. imap_processing/tests/hi/test_utils.py +15 -0
  248. imap_processing/tests/hit/PREFLIGHT_raw_record_2023_256_15_59_04_apid1251.pkts +0 -0
  249. imap_processing/tests/hit/PREFLIGHT_raw_record_2023_256_15_59_04_apid1252.pkts +0 -0
  250. imap_processing/tests/hit/__init__.py +0 -0
  251. imap_processing/tests/hit/test_data/imap_hit_l0_hk_20100105_v001.pkts +0 -0
  252. imap_processing/tests/hit/test_data/sci_sample.ccsds +0 -0
  253. imap_processing/tests/hit/test_hit_decom.py +230 -0
  254. imap_processing/tests/hit/test_hit_l1a.py +224 -0
  255. imap_processing/tests/hit/test_hit_l1b.py +52 -0
  256. imap_processing/tests/hit/validation_data/hskp_sample_raw.csv +88 -0
  257. imap_processing/tests/ialirt/__init__.py +0 -0
  258. imap_processing/tests/ialirt/test_data/l0/IALiRT Raw Packet Telemetry.txt +33 -0
  259. imap_processing/tests/ialirt/test_data/l0/hit_ialirt_sample.ccsds +0 -0
  260. imap_processing/tests/ialirt/test_data/l0/hit_ialirt_sample.csv +1001 -0
  261. imap_processing/tests/ialirt/unit/__init__.py +0 -0
  262. imap_processing/tests/ialirt/unit/test_decom_ialirt.py +94 -0
  263. imap_processing/tests/ialirt/unit/test_process_hit.py +226 -0
  264. imap_processing/tests/idex/__init__.py +0 -0
  265. imap_processing/tests/idex/conftest.py +22 -0
  266. imap_processing/tests/idex/imap_idex_l0_raw_20230725_v001.pkts +0 -0
  267. imap_processing/tests/idex/impact_14_tof_high_data.txt +8189 -0
  268. imap_processing/tests/idex/test_idex_l0.py +45 -0
  269. imap_processing/tests/idex/test_idex_l1a.py +91 -0
  270. imap_processing/tests/lo/__init__.py +0 -0
  271. imap_processing/tests/lo/test_binary_string.py +21 -0
  272. imap_processing/tests/lo/test_bit_decompression.py +39 -0
  273. imap_processing/tests/lo/test_cdfs/imap_lo_l0_raw_20240627_v001.pkts +0 -0
  274. imap_processing/tests/lo/test_cdfs/imap_lo_l1a_de_20100101_v001.cdf +0 -0
  275. imap_processing/tests/lo/test_cdfs/imap_lo_l1a_spin_20100101_v001.cdf +0 -0
  276. imap_processing/tests/lo/test_cdfs/imap_lo_l1b_de_20100101_v001.cdf +0 -0
  277. imap_processing/tests/lo/test_lo_l1a.py +66 -0
  278. imap_processing/tests/lo/test_lo_l1b.py +74 -0
  279. imap_processing/tests/lo/test_lo_l1c.py +66 -0
  280. imap_processing/tests/lo/test_science_counts.py +41 -0
  281. imap_processing/tests/lo/test_science_direct_events.py +209 -0
  282. imap_processing/tests/lo/test_star_sensor.py +35 -0
  283. imap_processing/tests/mag/imap_mag_l1a_burst-magi_20231025_v001.cdf +0 -0
  284. imap_processing/tests/mag/mag_l0_test_data.pkts +0 -0
  285. imap_processing/tests/mag/mag_l0_test_output.csv +37 -0
  286. imap_processing/tests/mag/mag_l1_test_data.pkts +0 -0
  287. imap_processing/tests/mag/mag_l1a_test_output.csv +97 -0
  288. imap_processing/tests/mag/test_mag_decom.py +117 -0
  289. imap_processing/tests/mag/test_mag_l1a.py +856 -0
  290. imap_processing/tests/mag/test_mag_l1b.py +77 -0
  291. imap_processing/tests/mag/test_mag_l1c.py +40 -0
  292. imap_processing/tests/spice/__init__.py +0 -0
  293. imap_processing/tests/spice/test_data/imap_ena_sim_metakernel.template +4 -0
  294. imap_processing/tests/spice/test_data/imap_science_0001.tf +171 -0
  295. imap_processing/tests/spice/test_data/imap_sclk_0000.tsc +156 -0
  296. imap_processing/tests/spice/test_data/imap_sim_ck_2hr_2secsampling_with_nutation.bc +0 -0
  297. imap_processing/tests/spice/test_data/imap_simple_metakernel.template +3 -0
  298. imap_processing/tests/spice/test_data/imap_spk_demo.bsp +0 -0
  299. imap_processing/tests/spice/test_data/imap_wkcp.tf +1806 -0
  300. imap_processing/tests/spice/test_data/naif0012.tls +150 -0
  301. imap_processing/tests/spice/test_data/sim_1yr_imap_attitude.bc +0 -0
  302. imap_processing/tests/spice/test_data/sim_1yr_imap_pointing_frame.bc +0 -0
  303. imap_processing/tests/spice/test_geometry.py +214 -0
  304. imap_processing/tests/spice/test_kernels.py +272 -0
  305. imap_processing/tests/spice/test_time.py +35 -0
  306. imap_processing/tests/swapi/__init__.py +0 -0
  307. imap_processing/tests/swapi/conftest.py +16 -0
  308. imap_processing/tests/swapi/l0_data/__init__.py +0 -0
  309. imap_processing/tests/swapi/l0_data/imap_swapi_l0_raw_20231012_v001.pkts +0 -0
  310. imap_processing/tests/swapi/l0_validation_data/__init__.py +0 -0
  311. imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_AUT_20231012_125245.csv +124 -0
  312. imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_HK_20231012_125245.csv +98 -0
  313. imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_MG_20231012_125245.csv +9 -0
  314. imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_SCI_20231012_125245.csv +72 -0
  315. imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_AUT_20231012_125245.csv +124 -0
  316. imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_HK_20231012_125245.csv +98 -0
  317. imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_MG_20231012_125245.csv +9 -0
  318. imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_SCI_20231012_125245.csv +72 -0
  319. imap_processing/tests/swapi/test_swapi_decom.py +135 -0
  320. imap_processing/tests/swapi/test_swapi_l1.py +354 -0
  321. imap_processing/tests/swapi/test_swapi_l2.py +21 -0
  322. imap_processing/tests/swe/__init__.py +0 -0
  323. imap_processing/tests/swe/conftest.py +35 -0
  324. imap_processing/tests/swe/decompressed/20230927173238_4th_quarter_decompressed.csv +181 -0
  325. imap_processing/tests/swe/decompressed/20230927173253_1st_quarter_decompressed.csv +181 -0
  326. imap_processing/tests/swe/decompressed/20230927173308_2nd_quarter_decompressed.csv +181 -0
  327. imap_processing/tests/swe/decompressed/20230927173323_3rd_quarter_decompressed.csv +181 -0
  328. imap_processing/tests/swe/l0_data/2024051010_SWE_SCIENCE_packet.bin +0 -0
  329. imap_processing/tests/swe/l0_validation_data/idle_export_eu.SWE_SCIENCE_20240510_092742.csv +544 -0
  330. imap_processing/tests/swe/l0_validation_data/idle_export_raw.SWE_SCIENCE_20240510_092742.csv +363 -0
  331. imap_processing/tests/swe/test_swe_l1a.py +12 -0
  332. imap_processing/tests/swe/test_swe_l1a_science.py +129 -0
  333. imap_processing/tests/swe/test_swe_l1b.py +61 -0
  334. imap_processing/tests/swe/test_swe_l1b_science.py +65 -0
  335. imap_processing/tests/test_cli.py +229 -0
  336. imap_processing/tests/test_decom.py +66 -0
  337. imap_processing/tests/test_quality_flags.py +71 -0
  338. imap_processing/tests/test_utils.py +107 -0
  339. imap_processing/tests/ultra/__init__.py +0 -0
  340. imap_processing/tests/ultra/test_data/l0/FM45_40P_Phi28p5_BeamCal_LinearScan_phi28.50_theta-0.00_20240207T102740.CCSDS +0 -0
  341. imap_processing/tests/ultra/test_data/l0/FM45_7P_Phi0.0_BeamCal_LinearScan_phi0.04_theta-0.01_20230821T121304.CCSDS +0 -0
  342. imap_processing/tests/ultra/test_data/l0/FM45_TV_Cycle6_Hot_Ops_Front212_20240124T063837.CCSDS +0 -0
  343. imap_processing/tests/ultra/test_data/l0/Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.CCSDS +0 -0
  344. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_auxdata_Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.csv +24 -0
  345. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_enaphxtofhangimg_FM45_TV_Cycle6_Hot_Ops_Front212_20240124T063837.csv +105 -0
  346. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_ultraimgrates_Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.csv +24 -0
  347. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_ultrarawimg_withFSWcalcs_FM45_40P_Phi28p5_BeamCal_LinearScan_phi2850_theta-000_20240207T102740.csv +3314 -0
  348. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_ultrarawimgevent_FM45_7P_Phi00_BeamCal_LinearScan_phi004_theta-001_20230821T121304.csv +702 -0
  349. imap_processing/tests/ultra/unit/__init__.py +0 -0
  350. imap_processing/tests/ultra/unit/conftest.py +210 -0
  351. imap_processing/tests/ultra/unit/test_decom_apid_880.py +98 -0
  352. imap_processing/tests/ultra/unit/test_decom_apid_881.py +50 -0
  353. imap_processing/tests/ultra/unit/test_decom_apid_883.py +44 -0
  354. imap_processing/tests/ultra/unit/test_decom_apid_896.py +104 -0
  355. imap_processing/tests/ultra/unit/test_lookup_utils.py +68 -0
  356. imap_processing/tests/ultra/unit/test_ultra_l1a.py +338 -0
  357. imap_processing/tests/ultra/unit/test_ultra_l1b.py +122 -0
  358. imap_processing/tests/ultra/unit/test_ultra_l1b_annotated.py +57 -0
  359. imap_processing/tests/ultra/unit/test_ultra_l1b_extended.py +342 -0
  360. imap_processing/tests/ultra/unit/test_ultra_l1c.py +104 -0
  361. imap_processing/tests/ultra/unit/test_ultra_l1c_pset_bins.py +35 -0
  362. imap_processing/ultra/__init__.py +1 -0
  363. imap_processing/ultra/constants.py +60 -0
  364. imap_processing/ultra/l0/__init__.py +0 -0
  365. imap_processing/ultra/l0/decom_tools.py +281 -0
  366. imap_processing/ultra/l0/decom_ultra.py +278 -0
  367. imap_processing/ultra/l0/ultra_utils.py +326 -0
  368. imap_processing/ultra/l1a/__init__.py +0 -0
  369. imap_processing/ultra/l1a/ultra_l1a.py +319 -0
  370. imap_processing/ultra/l1b/badtimes.py +26 -0
  371. imap_processing/ultra/l1b/cullingmask.py +26 -0
  372. imap_processing/ultra/l1b/de.py +59 -0
  373. imap_processing/ultra/l1b/extendedspin.py +45 -0
  374. imap_processing/ultra/l1b/lookup_utils.py +165 -0
  375. imap_processing/ultra/l1b/ultra_l1b.py +65 -0
  376. imap_processing/ultra/l1b/ultra_l1b_annotated.py +54 -0
  377. imap_processing/ultra/l1b/ultra_l1b_extended.py +764 -0
  378. imap_processing/ultra/l1c/histogram.py +36 -0
  379. imap_processing/ultra/l1c/pset.py +36 -0
  380. imap_processing/ultra/l1c/ultra_l1c.py +52 -0
  381. imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +54 -0
  382. imap_processing/ultra/lookup_tables/EgyNorm.mem.csv +32769 -0
  383. imap_processing/ultra/lookup_tables/FM45_Startup1_ULTRA_IMGPARAMS_20240719.csv +2 -0
  384. imap_processing/ultra/lookup_tables/ultra45_back-pos-luts.csv +4097 -0
  385. imap_processing/ultra/lookup_tables/ultra45_tdc_norm.csv +2050 -0
  386. imap_processing/ultra/lookup_tables/ultra90_back-pos-luts.csv +4097 -0
  387. imap_processing/ultra/lookup_tables/ultra90_tdc_norm.csv +2050 -0
  388. imap_processing/ultra/lookup_tables/yadjust.csv +257 -0
  389. imap_processing/ultra/packet_definitions/ULTRA_SCI_COMBINED.xml +547 -0
  390. imap_processing/ultra/packet_definitions/__init__.py +0 -0
  391. imap_processing/ultra/utils/__init__.py +0 -0
  392. imap_processing/ultra/utils/ultra_l1_utils.py +50 -0
  393. imap_processing/utils.py +413 -0
  394. imap_processing-0.6.0.dist-info/LICENSE +21 -0
  395. imap_processing-0.6.0.dist-info/METADATA +107 -0
  396. imap_processing-0.6.0.dist-info/RECORD +398 -0
  397. imap_processing-0.6.0.dist-info/WHEEL +4 -0
  398. imap_processing-0.6.0.dist-info/entry_points.txt +4 -0
@@ -0,0 +1,35 @@
1
+ from collections import namedtuple
2
+
3
+ import pytest
4
+
5
+ from imap_processing.ccsds.ccsds_data import CcsdsData
6
+ from imap_processing.lo.l0.data_classes.star_sensor import StarSensor
7
+
8
+
9
+ @pytest.fixture()
10
+ def star_sensor():
11
+ fake_data_field = namedtuple("fake_packet", ["raw_value", "derived_value"])
12
+ star_sensor = StarSensor.__new__(StarSensor)
13
+ star_sensor.ccsds_header = CcsdsData(
14
+ {
15
+ "VERSION": fake_data_field(0, 0),
16
+ "TYPE": fake_data_field(0, 0),
17
+ "SEC_HDR_FLG": fake_data_field(0, 0),
18
+ "PKT_APID": fake_data_field(706, 706),
19
+ "SEQ_FLGS": fake_data_field(0, 0),
20
+ "SRC_SEQ_CTR": fake_data_field(0, 0),
21
+ "PKT_LEN": fake_data_field(0, 0),
22
+ }
23
+ )
24
+ return star_sensor
25
+
26
+
27
+ def test_science_counts(star_sensor):
28
+ ## Arrange
29
+ star_sensor.DATA_COMPRESSED = "0" * 5760
30
+
31
+ ## Act
32
+ star_sensor._decompress_data()
33
+
34
+ ## Assert
35
+ assert star_sensor.DATA.shape == (720,)
@@ -0,0 +1,37 @@
1
+ PHAPID,PHSEQCNT,PHDLEN,SHCOARSE,PUS_STYPE,PUS_SSUBTYPE,COMPRESSION,FOB_ACT,FIB_ACT,PRI_SENS,PRI_VECSEC,SEC_VECSEC,PRI_COARSETM,PRI_FNTM,SEC_COARSETM,SEC_FNTM,CCSDS_HEX
2
+ 1068,0,1821,435954628,21,3,0,1,1,0,64,8,435954622,64555,435954622,64552,0C2CC000071D19FC23C410150360CC19FC23BEFC2B19FC23BEFC280015005500ABC00A402980533002900A6014CC00A402980537002900A7014EC00A4029C053F002A00A80150C00A802A00547002A00A80151C00A802A4054B002A00A90153C00A802A80553002A00AA0155C00A802AC055B002A00AB0156C00A802AC055F002B00AC0158C00AC02B00567002B00AD015AC00AC02B4056F002B00AD015BC00AC02B80573002B00AE015DC00AC02BC057B002B00AF015FC00AC02BC057F002C00B00160C00B002C00587002C00B10162C00B002C4058F002C00B20164C00B002C80593002C00B20165C00B002CC059B002C00B30167C00B402D005A3002D00B40169C00B402D005A7002D00B5016AC00B402D405AF002D00B6016CC00B402D805B7002D00B6016DC00B402DC05BB002D00B7016FC00B802E005C3002E00B80171C00B802E405CB002E00B90172C00B802E405CF002E00BA0174C00B802E805D7002E00BB0176C00B802EC05DF002E00BB0177C00BC02F005E3002F00BC0179C00BC02F405EB002F00BD017BC00BC02F405EF002F00BE017CC00BC02F805F7002F00BF017EC00BC02FC05FF003000C00180C00C003000603003000C00181C00C00304060B003000C10183C00C003080613003000C20185C00C003080617003000C30186C00C0030C061F003100C40188C00C403100627003100C40189C00C40314062B003100C5018BC00C403180633003100C6018DC00C4031C063B003100C7018EC00C4031C063F003200C80190C00C803200647003200C90192C00C80324064F003200C90193C00C803280653003200CA0195C00C8032C065B003200CB0197C00C8032C065F003300CC0198C00CC03300667003300CD019AC00CC0334066F003300CE019CC00CC03380673003300CE019DC00CC033C067B003300CF019FC00D003400683003400D001A1C00D003400687003400D101A2C00D00344068F003400D201A4C00D003480697003400D201A5C00D0034C069B003400D301A7C00D4035006A3003500D401A9C00D4035406AB003500D501AAC00D4035406AF003500D601ACC00D4035806B7003500D701AEC00D4035C06BF003500D701AFC00D8036006C3003600D801B1C00D8036406CB003600D901B3C00D8036406CF003600DA01B4C00D8036806D7003600DB01B6C00D8036C06DF003700DC01B8C00DC037006E3003700DC01B9C00DC037406EB003700DD01BBC00DC037806F3003700DE01BDC00DC037806F7003700DF01BEC00DC037C06FF003800E001C0C00E003800707003800E101C2C00E00384070B003800E101C3C00E003880713003800E201C5C00E0038C071B003800E301C6C00E0038C071F003900E401C8C00E403900727003900E501CAC00E40394072F003900E501CBC00E403980733003900E601CDC00E4039C073B003900E701CFC00E803A00743003A00E801D0C00E803A00747003A00E901D2C00E803A4074F003A00EA01D4C00E803A80753003A00EA01D5C00E803AC075B003A00EB01D7C00EC03B00763003B00EC01D9C00EC03B00767003B00ED01DAC00EC03B4076F003B00EE01DCC00EC03B80777003B00EF01DEC00EC03BC077B003B00EF01DFC00F003C00783003C00F001E1C00F003C4078B003C00F101E2C00F003C4078F003C00F201E4C00F003C80797003C00F301E6C00F003CC079F003C00F301E7C00F403D007A3003D00F401E9C00F403D407AB003D00F501EBC00F403D807B3003D00F601ECC00F403D807B7003D00F701EEC00F403DC07BF003E00F801F0C00F803E007C3003E00F801F1C00F803E407CB003E00F901F3C00F803E807D3003E00FA01F5C00F803E807D7003E00FB01F6C00F803EC07DF003F00FC01F8C00FC03F007E7003F00FD01FAC00FC03F407EB003F00FD01FBC00FC03F807F3003F00FE01FDC00FC03FC07FB003F00FF01FEC00FC03FC07FF004001000200C010004000807004001010202C01000404080F004001010203C010004080813004001020205C0100040C081B004001030207C010404100823004101040208C01040410082700410105020AC01040414082F00410106020CC01040418083300410106020DC0104041C083B00410107020FC010804200843004201080211C010804200847004201090212C01080424084F0042010A0214C0108042808570042010B0216C0108042C085B0042010B0217C010C043008630043010C0219C010C0434086B0043010D021AC010C0434086F0043010E021CC010C043808770014005300A7C00A802A00547002A00AB0157C00AC02BC057B002C00B20164C00B402D405AF002E00B90172C00BC02F005E3002F00BF017FC00C003080617003100C6018CC00C80324064B003300CC0199C00D003400683003400D301A6C00D4035806B7003600D901B3C00DC037406EB003800E001C1C00E0038C071F003900E701CEC00E803A80753003B00ED01DBC00F003C4078B003D00F401E8C00F403DC07BF003E00FA01F5C00FC03F807F3004001010203C010404100827004201080210C0108042C085B
3
+ 1068,1,1821,435954632,21,3,0,1,1,0,64,8,435954625,64610,435954625,64607,0C2CC001071D19FC23C810150360CC19FC23C1FC6219FC23C1FC5F0043010F021EC010C043C087F0043010F021FC011004400883004401100221C01100444088B004401110223C011004480893004401120224C011004480897004401130226C0110044C089F004501140228C0114045008A3004501140229C0114045408AB00450115022BC0114045808B300450116022DC0114045808B700450117022EC0114045C08BF004601180230C0118046008C7004601190232C0118046408CB004601190233C0118046808D30046011A0235C0118046C08DB0046011B0237C0118046C08DF0047011C0238C011C047008E70047011D023AC011C047408EF0047011D023BC011C047808F30047011E023DC011C047C08FB0047011F023FC012004800903004801200240C012004800907004801210242C01200484090F004801220244C012004880917004801220245C0120048C091B004801230247C012404900923004901240249C01240490092700490125024AC01240494092F00490126024CC01240498093700490127024EC0124049C093B00490127024FC012804A00943004A01280251C012804A4094B004A01290253C012804A4094F004A012A0254C012804A80957004A012B0256C012804AC095F004A012B0257C012C04B00963004B012C0259C012C04B4096B004B012D025BC012C04B80973004B012E025CC012C04B80977004B012F025EC012C04BC097F004C01300260C013004C00987004C01300261C013004C4098B004C01310263C013004C80993004C01320265C013004C80997004C01330266C013004CC099F004D01340268C013404D009A7004D0135026AC013404D409AB004D0135026BC013404D809B3004D0136026DC013404DC09BB004D0137026FC013404DC09BF004E01380270C013804E009C7004E01390272C013804E409CF004E01390273C013804E809D3004E013A0275C013804EC09DB004E013B0277C013C04F009E3004F013C0278C013C04F009E7004F013D027AC013C04F409EF004F013E027CC013C04F809F7004F013E027DC013C04FC09FB004F013F027FC014005000A03005001400281C014005000A07005001410282C014005040A0F005001420284C014005080A17005001430286C0140050C0A1B005001430287C014405100A23005101440289C014405140A2B00510145028BC014405140A2F00510146028CC014405180A3700510147028EC0144051C0A3F00510147028FC014805200A43005201480291C014805240A4B005201490293C014805280A530052014A0294C014805280A570052014B0296C0148052C0A5F0053014C0298C014C05300A670053014C0299C014C05340A6B0053014D029BC014C05380A730053014E029DC014C053C0A7B0053014F029EC014C053C0A7F0054015002A0C015005400A870054015102A2C015005440A8B0054015102A3C015005480A930054015202A5C0150054C0A9B0054015302A7C0150054C0A9F0055015402A8C015405500AA70055015502AAC015405540AAF0055015602ACC015405580AB30055015602ADC0154055C0ABB0055015702AFC015805600AC30056015802B0C015805600AC70056015902B2C015805640ACF0056015A02B4C015805680AD70056015A02B5C0158056C0ADB0056015B02B7C015C05700AE30057015C02B9C015C05740AEB0057015D02BAC015C05740AEF0057015E02BCC015C05780AF70057015F02BEC015C057C0AFB0057015F02BFC016005800B030058016002C1C016005840B0B0058016102C3C016005840B0F0058016202C4C016005880B170058016302C6C0160058C0B1F0059016402C8C016405900B230059016402C9C016405940B2B0059016502CBC016405980B330059016602CCC016405980B370059016702CEC0164059C0B3F005A016802D0C016805A00B47005A016802D1C016805A40B4B005A016902D3C016805A80B53005A016A02D5C016805AC0B5B005A016B02D6C016805AC0B5F005B016C02D8C016C05B00B67005B016D02DAC016C05B40B6B005B016D02DBC016C05B80B73005B016E02DDC016C05BC0B7B005B016F02DFC016C05BC0B7F005C017002E0C017005C00B87005C017102E2C017005C40B8F005C017202E4C017005C80B93005C017202E5C017005CC0B9B005C017302E7C017405D00BA3005D017402E8C017405D00BA7005D017502EAC017405D40BAF005D017602ECC017405D80BB7005D017602EDC017405DC0BBB005D017702EFC017805E00BC30043010E021DC01100444088F00450115022AC0118046008C70046011B0237C011C047C08FB004801220244C01240494092F004A01290252C012C04B00963004B012F025FC013004C80997004D0136026CC013804E409CF004F013C0279C014005000A03005001430286C014405180A370052014A0294C014C05340A6B0054015002A1C0150054C0A9F0055015702AEC015805680AD70057015D02BBC016005840B0B0059016402C8C0164059C0B3F005A016A02D5C016C05B80B73005C017102E3C017405D00BA7
4
+ 1068,2,1821,435954636,21,3,0,1,1,0,64,8,435954629,64610,435954629,64607,0C2CC002071D19FC23CC10150360CC19FC23C5FC6219FC23C5FC5F005E017802F1C017805E40BCB005E017902F2C017805E40BCF005E017A02F4C017805E80BD7005E017B02F6C017805EC0BDB005E017B02F7C017C05F00BE3005F017C02F9C017C05F40BEB005F017D02FBC017C05F40BEF005F017E02FCC017C05F80BF7005F017F02FEC017C05FC0BFF006001800300C018006000C03006001800301C018006040C0B006001810303C018006080C13006001820304C018006080C17006001830306C0180060C0C1F006101840308C018406100C27006101840309C018406140C2B00610185030BC018406180C3300610186030DC0184061C0C3B00610187030EC0184061C0C3F006201880310C018806200C47006201890312C018806240C4F006201890313C018806280C530062018A0315C0188062C0C5B0062018B0317C0188062C0C5F0063018C0318C018C06300C670063018D031AC018C06340C6F0063018E031CC018C06380C730063018E031DC018C063C0C7B0063018F031FC019006400C83006401900321C019006400C87006401910322C019006440C8F006401920324C019006480C97006401920325C0190064C0C9B006401930327C019406500CA3006501940329C019406540CAB00650195032AC019406540CAF00650196032CC019406580CB700650197032EC0194065C0CBF00650197032FC019806600CC3006601980331C019806640CCB006601990333C019806640CCF0066019A0334C019806680CD70066019B0336C0198066C0CDF0067019C0338C019C06700CE30067019C0339C019C06740CEB0067019D033BC019C06780CF30067019E033DC019C06780CF70067019F033EC019C067C0CFF006801A00340C01A006800D07006801A00341C01A006840D0B006801A10343C01A006880D13006801A20345C01A0068C0D1B006801A30346C01A0068C0D1F006901A40348C01A406900D27006901A5034AC01A406940D2F006901A5034BC01A406980D33006901A6034DC01A4069C0D3B006901A7034FC01A4069C0D3F006A01A80350C01A806A00D47006A01A90352C01A806A40D4F006A01AA0354C01A806A80D53006A01AA0355C01A806AC0D5B006A01AB0357C01AC06B00D63006B01AC0359C01AC06B00D67006B01AD035AC01AC06B40D6F006B01AE035CC01AC06B80D77006B01AE035DC01AC06BC0D7B006B01AF035FC01B006C00D83006C01B00361C01B006C40D8B006C01B10362C01B006C40D8F006C01B20364C01B006C80D97006C01B30366C01B006CC0D9F006C01B30367C01B406D00DA3006D01B40369C01B406D40DAB006D01B5036BC01B406D40DAF006D01B6036CC01B406D80DB7006D01B7036EC01B406DC0DBF006E01B80370C01B806E00DC3006E01B80371C01B806E40DCB006E01B90373C01B806E80DD3006E01BA0375C01B806E80DD7006E01BB0376C01B806EC0DDF006F01BC0378C01BC06F00DE7006F01BD037AC01BC06F40DEB006F01BD037BC01BC06F80DF3006F01BE037DC01BC06FC0DFB006F01BF037EC01BC06FC0DFF007001C00380C01C007000E07007001C10382C01C007040E0F007001C10383C01C007080E13007001C20385C01C0070C0E1B007001C30387C01C407100E23007101C40388C01C407100E27007101C5038AC01C407140E2F007101C6038CC01C407180E33007101C6038DC01C4071C0E3B007101C7038FC01C807200E43007201C80391C01C807200E47007201C90392C01C807240E4F007201CA0394C01C807280E57007201CB0396C01C8072C0E5B007201CB0397C01CC07300E63007301CC0399C01CC07340E6B007301CD039AC01CC07340E6F007301CE039CC01CC07380E77007301CF039EC01CC073C0E7F007301CF039FC01D007400E83007401D003A1C01D007440E8B007401D103A3C01D007480E93007401D203A4C01D007480E97007401D303A6C01D0074C0E9F007501D403A8C01D407500EA3007501D403A9C01D407540EAB007501D503ABC01D407580EB3007501D603ADC01D407580EB7007501D703AEC01D4075C0EBF007601D803B0C01D807600EC7007601D903B2C01D807640ECB007601D903B3C01D807680ED3007601DA03B5C01D8076C0EDB007601DB03B6C01D8076C0EDF007701DC03B8C01DC07700EE7007701DD03BAC01DC07740EEF007701DD03BBC01DC07780EF3007701DE03BDC01DC077C0EFB007701DF03BFC01E007800F03007801E003C0C01E007800F07007801E103C2C01E007840F0F005E017802F0C017805EC0BDB005F017E02FDC018006080C1300610185030AC018806200C470062018B0317C018C063C0C7B006401920325C019406540CAF006601990332C019C06700CE30067019F033FC01A0068C0D1B006901A6034CC01A806A40D4F006B01AC0359C01B006C00D83006C01B30366C01B406D80DB7006E01BA0374C01BC06F40DEB007001C00381C01C0070C0E1F007101C7038EC01C807280E57007301CD039BC01D007440E8B007501D403A8C01D4075C0EBF007601DB03B6C01DC07780EF3
5
+ 1068,3,1821,435954640,21,3,0,1,1,0,64,8,435954633,64600,435954633,64601,0C2CC003071D19FC23D010150360CC19FC23C9FC5819FC23C9FC59007801E203C4C01E007880F13007801E203C5C01E0078C0F1B007801E303C7C01E407900F23007901E403C9C01E407900F27007901E503CAC01E407940F2F007901E603CCC01E407980F37007901E703CEC01E4079C0F3B007901E703CFC01E807A00F43007A01E803D1C01E807A40F4B007A01E903D2C01E807A40F4F007A01EA03D4C01E807A80F57007A01EB03D6C01E807AC0F5F007A01EB03D7C01EC07B00F63007B01EC03D9C01EC07B40F6B007B01ED03DBC01EC07B80F73007B01EE03DCC01EC07B80F77007B01EF03DEC01EC07BC0F7F007C01F003E0C01F007C00F83007C01F003E1C01F007C40F8B007C01F103E3C01F007C80F93007C01F203E5C01F007C80F97007C01F303E6C01F007CC0F9F007D01F403E8C01F407D00FA7007D01F503EAC01F407D40FAB007D01F503EBC01F407D80FB3007D01F603EDC01F407DC0FBB007D01F703EFC01F407DC0FBF007E01F803F0C01F807E00FC7007E01F903F2C01F807E40FCF007E01F903F3C01F807E80FD3007E01FA03F5C01F807EC0FDB007E01FB03F7C01FC07F00FE3007F01FC03F8C01FC07F00FE7007F01FD03FAC01FC07F40FEF007F01FE03FCC01FC07F80FF7007F01FE03FDC01FC07FC0FFB007F01FF03FFC020008001003008002000401C020008001007008002010402C02000804100F008002020404C020008081017008002030406C0200080C101B008002030407C020408101023008102040409C02040814102B00810205040BC02040814102F00810206040CC02040818103700810207040EC0204081C103F00810207040FC020808201043008202080411C02080824104B008202090413C0208082810530082020A0414C0208082810570082020B0416C0208082C105F0083020C0418C020C083010670083020C0419C020C0834106B0083020D041BC020C083810730083020E041DC020C083810770083020F041EC020C083C107F008402100420C021008401087008402110422C02100844108B008402110423C021008481093008402120425C0210084C109B008402130427C0210084C109F008502140428C0214085010A700850215042AC0214085410AF00850215042BC0214085810B300850216042DC0214085C10BB00850217042FC0218086010C3008602180430C0218086010C7008602190432C0218086410CF0086021A0434C0218086810D70086021A0435C0218086C10DB0086021B0437C021C087010E30087021C0439C021C087010E70087021D043AC021C087410EF0087021E043CC021C087810F70087021F043EC021C087C10FB0087021F043FC022008801103008802200441C02200884110B008802210443C02200884110F008802220444C022008881117008802230446C0220088C111F008802230447C022408901123008902240449C02240894112B00890225044BC02240898113300890226044CC02240898113700890227044EC0224089C113F008A02280450C022808A01147008A02280451C022808A4114B008A02290453C022808A81153008A022A0455C022808AC115B008A022B0456C022808AC115F008B022C0458C022C08B01167008B022D045AC022C08B4116B008B022D045BC022C08B81173008B022E045DC022C08BC117B008B022F045FC022C08BC117F008C02300460C023008C01187008C02310462C023008C4118F008C02320464C023008C81193008C02320465C023008CC119B008C02330467C023408D011A3008D02340468C023408D011A7008D0235046AC023408D411AF008D0236046CC023408D811B7008D0236046DC023408DC11BB008D0237046FC023808E011C3008E02380471C023808E411CB008E02390472C023808E411CF008E023A0474C023808E811D7008E023B0476C023808EC11DB008E023B0477C023C08F011E3008F023C0479C023C08F411EB008F023D047BC023C08F411EF008F023E047CC023C08F811F7008F023F047EC023C08FC11FF009002400480C024009001203009002400481C02400904120B009002410483C024009081213009002420484C024009081217009002430486C0240090C121F009102440488C024409101227009102440489C02440914122B00910245048BC02440918123300910246048DC0244091C123B00910247048EC0244091C123F009202480490C024809201247009202490492C02480924124B009202490493C0248092812530092024A0495C0248092C125B007801E103C3C01E407900F27007A01E803D0C01E807AC0F5F007B01EE03DDC01F007C80F93007D01F503EAC01F807E00FC7007F01FC03F8C01FC07FC0FFB008002020405C02040814102F008202090412C020C083010630083020F041FC0210084C109B00850216042CC0218086410CF0087021C0439C022008801103008802230447C022408981137008A022A0454C022C08B4116B008C02300461C023408D011A3008D0237046EC023808E811D7008F023D047BC02400904120B009102440489C0244091C123F
6
+ 1068,4,1821,435954644,21,3,0,1,1,0,64,8,435954637,64601,435954637,64602,0C2CC004071D19FC23D410150360CC19FC23CDFC5919FC23CDFC5A0092024B0497C0248092C125F0093024C0498C024C093012670093024D049AC024C0934126F0093024E049CC024C093812730093024E049DC024C093C127B0093024F049FC0250094012830094025004A0C0250094012870094025104A2C02500944128F0094025204A4C0250094812970094025204A5C0250094C129B0094025304A7C0254095012A30095025404A9C0254095412AB0095025504AAC0254095412AF0095025604ACC0254095812B70095025704AEC0254095C12BB0095025704AFC0258096012C30096025804B1C0258096412CB0096025904B3C0258096412CF0096025A04B4C0258096812D70096025B04B6C0258096C12DF0097025C04B8C025C097012E30097025C04B9C025C097412EB0097025D04BBC025C097812F30097025E04BDC025C097812F70097025F04BEC025C097C12FF0098026004C0C0260098013070098026004C1C02600984130B0098026104C3C0260098813130098026204C5C0260098C131B0098026304C6C0260098C131F0099026404C8C0264099013270099026504CAC02640994132F0099026504CBC0264099813330099026604CDC0264099C133B0099026704CFC0264099C133F009A026804D0C026809A01347009A026904D2C026809A4134F009A026A04D4C026809A81353009A026A04D5C026809AC135B009A026B04D7C026C09B01363009B026C04D9C026C09B01367009B026D04DAC026C09B4136F009B026E04DCC026C09B81377009B026E04DDC026C09BC137B009B026F04DFC027009C01383009C027004E1C027009C4138B009C027104E2C027009C4138F009C027204E4C027009C81397009C027304E6C027009CC139F009C027304E7C027409D013A3009D027404E9C027409D413AB009D027504EBC027409D413AF009D027604ECC027409D813B7009D027704EEC027409DC13BF009E027804F0C027809E013C3009E027804F1C027809E413CB009E027904F3C027809E813D3009E027A04F5C027809E813D7009E027B04F6C027809EC13DF009F027C04F8C027C09F013E7009F027C04F9C027C09F413EB009F027D04FBC027C09F813F3009F027E04FDC027C09FC13FB009F027F04FEC027C09FC13FF00A002800500C02800A00140700A002810502C02800A04140F00A002810503C02800A08141300A002820505C02800A0C141B00A002830507C02800A0C141F00A102840508C02840A10142700A10285050AC02840A14142F00A10286050CC02840A18143300A10286050DC02840A1C143B00A10287050FC02880A20144300A202880511C02880A20144700A202890512C02880A24144F00A2028A0514C02880A28145700A2028A0515C02880A2C145B00A2028B0517C028C0A30146300A3028C0519C028C0A34146B00A3028D051AC028C0A34146F00A3028E051CC028C0A38147700A3028F051EC028C0A3C147F00A3028F051FC02900A40148300A402900521C02900A44148B00A402910523C02900A44148F00A402920524C02900A48149700A402930526C02900A4C149F00A502940528C02940A5014A300A502940529C02940A5414AB00A50295052BC02940A5814B300A50296052DC02940A5814B700A50297052EC02940A5C14BF00A602980530C02980A6014C700A602990532C02980A6414CB00A602990533C02980A6814D300A6029A0535C02980A6C14DB00A6029B0536C02980A6C14DF00A7029C0538C029C0A7014E700A7029D053AC029C0A7414EF00A7029D053BC029C0A7814F300A7029E053DC029C0A7C14FB00A7029F053FC02A00A80150300A802A00540C02A00A80150700A802A10542C02A00A84150F00A802A20544C02A00A88151300A802A20545C02A00A8C151B00A802A30547C02A40A90152300A902A40549C02A40A90152700A902A5054AC02A40A94152F00A902A6054CC02A40A98153700A902A7054EC02A40A9C153B00A902A7054FC02A80AA0154300AA02A80551C02A80AA4154B00AA02A90552C02A80AA4154F00AA02AA0554C02A80AA8155700AA02AB0556C02A80AAC155F00AA02AB0557C02AC0AB0156300AB02AC0559C02AC0AB4156B00AB02AD055BC02AC0AB8157300AB02AE055CC02AC0AB8157700AB02AF055EC02AC0ABC157F00AC02B00560C02B00AC0158300AC02B00561C02B00AC4158B00AC02B10563C02B00AC8159300AC02B20565C02B00AC8159700AC02B30566C02B00ACC159F00AD02B40568C02B40AD015A70092024B0496C024C093812730094025104A3C0254095012A70096025804B0C0258096C12DF0097025E04BDC0260098813130099026504CAC026809A01347009B026C04D8C026C09BC137B009C027204E5C027409D413AF009E027904F2C027C09F013E7009F027F04FFC02800A0C141B00A10286050CC02880A24144F00A3028D051AC02900A40148300A402930527C02940A5814B700A6029A0534C029C0A7414EF00A802A00541C02A40A90152300A902A7054EC02A80AA8155700AB02AD055BC02B00AC4158B
7
+ 1068,5,1821,435954648,21,3,0,1,1,0,64,8,435954641,64604,435954641,64606,0C2CC005071D19FC23D810150360CC19FC23D1FC5C19FC23D1FC5E00AD02B5056AC02B40AD415AB00AD02B5056BC02B40AD815B300AD02B6056DC02B40ADC15BB00AD02B7056EC02B40ADC15BF00AE02B80570C02B80AE015C700AE02B90572C02B80AE415CF00AE02B90573C02B80AE815D300AE02BA0575C02B80AEC15DB00AE02BB0577C02BC0AF015E300AF02BC0578C02BC0AF015E700AF02BD057AC02BC0AF415EF00AF02BE057CC02BC0AF815F300AF02BE057DC02BC0AFC15FB00AF02BF057FC02C00B00160300B002C00581C02C00B00160700B002C10582C02C00B04160F00B002C20584C02C00B08161700B002C30586C02C00B0C161B00B002C30587C02C40B10162300B102C40589C02C40B14162B00B102C5058AC02C40B14162F00B102C6058CC02C40B18163700B102C7058EC02C40B1C163F00B102C7058FC02C80B20164300B202C80591C02C80B24164B00B202C90593C02C80B28165300B202CA0594C02C80B28165700B202CB0596C02C80B2C165F00B302CC0598C02CC0B30166700B302CC0599C02CC0B34166B00B302CD059BC02CC0B38167300B302CE059DC02CC0B38167700B302CF059EC02CC0B3C167F00B402D005A0C02D00B40168700B402D105A2C02D00B44168B00B402D105A3C02D00B48169300B402D205A5C02D00B4C169B00B402D305A7C02D00B4C169F00B502D405A8C02D40B5016A700B502D505AAC02D40B5416AF00B502D505ABC02D40B5816B300B502D605ADC02D40B5C16BB00B502D705AFC02D80B6016C300B602D805B0C02D80B6016C700B602D905B2C02D80B6416CF00B602DA05B4C02D80B6816D700B602DA05B5C02D80B6C16DB00B602DB05B7C02DC0B7016E300B702DC05B9C02DC0B7016E700B702DD05BAC02DC0B7416EF00B702DE05BCC02DC0B7816F700B702DF05BEC02DC0B7C16FB00B702DF05BFC02E00B80170300B802E005C1C02E00B84170B00B802E105C3C02E00B84170F00B802E205C4C02E00B88171700B802E305C6C02E00B8C171F00B802E305C7C02E40B90172300B902E405C9C02E40B94172B00B902E505CBC02E40B98173300B902E605CCC02E40B98173700B902E705CEC02E40B9C173F00BA02E805D0C02E80BA0174700BA02E805D1C02E80BA4174B00BA02E905D3C02E80BA8175300BA02EA05D5C02E80BA8175700BA02EB05D6C02E80BAC175F00BB02EC05D8C02EC0BB0176700BB02ED05DAC02EC0BB4176B00BB02ED05DBC02EC0BB8177300BB02EE05DDC02EC0BBC177B00BB02EF05DFC02EC0BBC177F00BC02F005E0C02F00BC0178700BC02F105E2C02F00BC4178F00BC02F105E3C02F00BC8179300BC02F205E5C02F00BCC179B00BC02F305E7C02F40BD017A300BD02F405E8C02F40BD017A700BD02F505EAC02F40BD417AF00BD02F605ECC02F40BD817B700BD02F605EDC02F40BDC17BB00BD02F705EFC02F80BE017C300BE02F805F1C02F80BE017C700BE02F905F2C02F80BE417CF00BE02FA05F4C02F80BE817D700BE02FB05F6C02F80BEC17DB00BE02FB05F7C02FC0BF017E300BF02FC05F9C02FC0BF417EB00BF02FD05FBC02FC0BF417EF00BF02FE05FCC02FC0BF817F700BF02FF05FEC02FC0BFC17FF00BF02FF05FFC03000C00180300C003000601C03000C04180B00C003010603C03000C08181300C003020604C03000C08181700C003030606C03000C0C181F00C103040608C03040C10182700C103040609C03040C14182B00C10305060BC03040C18183300C10306060DC03040C1C183B00C10307060EC03040C1C183F00C203080610C03080C20184700C203090612C03080C24184B00C203090613C03080C28185300C2030A0615C03080C2C185B00C2030B0617C03080C2C185F00C3030C0618C030C0C30186700C3030D061AC030C0C34186F00C3030E061CC030C0C38187300C3030E061DC030C0C3C187B00C3030F061FC03100C40188300C403100620C03100C40188700C403110622C03100C44188F00C403120624C03100C48189700C403120625C03100C4C189B00C403130627C03140C5018A300C503140629C03140C5418AB00C50315062AC03140C5418AF00C50316062CC03140C5818B700C50317062EC03140C5C18BB00C50317062FC03180C6018C300C603180631C03180C6418CB00C603190633C03180C6418CF00C6031A0634C03180C6818D700C6031B0636C03180C6C18DF00C7031C0638C031C0C7018E300C7031C0639C031C0C7418EB00C7031D063BC031C0C7818F300AD02B40569C02B40ADC15BF00AE02BB0576C02BC0AF815F300B002C10583C02C40B14162B00B202C80590C02C80B2C165F00B302CE059DC02D00B48169300B502D505ABC02D80B6016C700B702DC05B8C02DC0B7C16FB00B802E205C5C02E40B98173300BA02E905D2C02EC0BB0176700BB02EF05DFC02F00BCC179B00BD02F605ECC02F80BE417CF00BF02FD05FAC03000C00180300C003030607C03040C18183700C2030A0614C030C0C34186F00C403100621C03140C5018A300C50317062EC03180C6818D7
8
+ 1068,6,1821,435954652,21,3,0,1,1,0,64,8,435954645,64608,435954644,64609,0C2CC006071D19FC23DC10150360CC19FC23D5FC6019FC23D4FC6100C7031E063CC031C0C7818F700C7031F063EC031C0C7C18FF00C803200640C03200C80190700C803200641C03200C84190B00C803210643C03200C88191300C803220645C03200C8C191B00C803230646C03200C8C191F00C903240648C03240C90192700C90325064AC03240C94192B00C90325064BC03240C98193300C90326064DC03240C9C193B00C90327064FC03240C9C193F00CA03280650C03280CA0194700CA03290652C03280CA4194F00CA032A0654C03280CA8195300CA032A0655C03280CAC195B00CA032B0657C032C0CB0196300CB032C0658C032C0CB0196700CB032D065AC032C0CB4196F00CB032E065CC032C0CB8197700CB032E065DC032C0CBC197B00CB032F065FC03300CC0198300CC03300661C03300CC4198B00CC03310662C03300CC4198F00CC03320664C03300CC8199700CC03330666C03300CCC199B00CC03330667C03340CD019A300CD03340669C03340CD419AB00CD0335066BC03340CD419AF00CD0336066CC03340CD819B700CD0337066EC03340CDC19BF00CE03380670C03380CE019C300CE03380671C03380CE419CB00CE03390673C03380CE819D300CE033A0675C03380CE819D700CE033B0676C03380CEC19DF00CF033C0678C033C0CF019E700CF033C0679C033C0CF419EB00CF033D067BC033C0CF819F300CF033E067DC033C0CFC19FB00CF033F067EC033C0CFC19FF00D003400680C03400D001A0700D003410682C03400D041A0F00D003410683C03400D081A1300D003420685C03400D0C1A1B00D003430687C03400D0C1A1F00D103440688C03440D101A2700D10345068AC03440D141A2F00D10346068CC03440D181A3300D10346068DC03440D1C1A3B00D10347068FC03480D201A4300D203480691C03480D201A4700D203490692C03480D241A4F00D2034A0694C03480D281A5700D2034A0695C03480D2C1A5B00D2034B0697C034C0D301A6300D3034C0699C034C0D341A6B00D3034D069AC034C0D341A6F00D3034E069CC034C0D381A7700D3034F069EC034C0D3C1A7F00D3034F069FC03500D401A8300D4035006A1C03500D441A8B00D4035106A3C03500D441A8F00D4035206A4C03500D481A9700D4035306A6C03500D4C1A9F00D5035406A8C03540D501AA300D5035406A9C03540D541AAB00D5035506ABC03540D581AB300D5035606ADC03540D581AB700D5035706AEC03540D5C1ABF00D6035806B0C03580D601AC700D6035806B1C03580D641ACB00D6035906B3C03580D681AD300D6035A06B5C03580D6C1ADB00D6035B06B6C03580D6C1ADF00D7035C06B8C035C0D701AE700D7035D06BAC035C0D741AEF00D7035D06BBC035C0D781AF300D7035E06BDC035C0D7C1AFB00D7035F06BFC035C0D7C1AFF00D8036006C0C03600D801B0700D8036106C2C03600D841B0F00D8036206C4C03600D881B1300D8036206C5C03600D8C1B1B00D8036306C7C03640D901B2300D9036406C9C03640D901B2700D9036506CAC03640D941B2F00D9036606CCC03640D981B3700D9036606CDC03640D9C1B3B00D9036706CFC03680DA01B4300DA036806D1C03680DA41B4B00DA036906D2C03680DA41B4F00DA036A06D4C03680DA81B5700DA036B06D6C03680DAC1B5F00DA036B06D7C036C0DB01B6300DB036C06D9C036C0DB41B6B00DB036D06DBC036C0DB41B6F00DB036E06DCC036C0DB81B7700DB036F06DEC036C0DBC1B7F00DC037006E0C03700DC01B8300DC037006E1C03700DC41B8B00DC037106E3C03700DC81B9300DC037206E5C03700DC81B9700DC037306E6C03700DCC1B9F00DD037406E8C03740DD01BA700DD037506EAC03740DD41BAB00DD037506EBC03740DD81BB300DD037606EDC03740DDC1BBB00DD037706EEC03740DDC1BBF00DE037806F0C03780DE01BC700DE037906F2C03780DE41BCF00DE037906F3C03780DE81BD300DE037A06F5C03780DEC1BDB00DE037B06F7C037C0DF01BE300DF037C06F8C037C0DF01BE700DF037D06FAC037C0DF41BEF00DF037E06FCC037C0DF81BF300DF037E06FDC037C0DFC1BFB00DF037F06FFC03800E001C0300E003800701C03800E001C0700E003810702C03800E041C0F00E003820704C03800E081C1700E003830706C03800E0C1C1B00E003830707C03840E101C2300E103840709C03840E141C2B00E10385070AC03840E141C2F00E10386070CC03840E181C3700E10387070EC03840E1C1C3F00C7031E063CC03200C84190B00C903240649C03240C9C193F00CA032B0656C032C0CB8197700CC03310663C03340CD419AB00CE03380670C03380CEC19DF00CF033F067EC03400D081A1300D10345068BC03480D201A4700D3034C0698C034C0D3C1A7B00D4035206A5C03540D581AB300D6035906B2C035C0D701AE700D7035F06BFC03600D8C1B1B00D9036606CDC03680DA41B4F00DB036D06DAC03700DC01B8300DC037306E7C03740DDC1BBB00DE037A06F4C037C0DF41BEF00E003800701C03840E101C23
9
+ 1068,7,1821,435954656,21,3,0,1,1,0,64,8,435954649,64606,435954648,64607,0C2CC007071D19FC23E010150360CC19FC23D9FC5E19FC23D8FC5F00E10387070FC03880E201C4300E203880711C03880E241C4B00E203890713C03880E281C5300E2038A0714C03880E281C5700E2038B0716C03880E2C1C5F00E3038C0718C038C0E301C6300E3038C0719C038C0E341C6B00E3038D071BC038C0E381C7300E3038E071DC038C0E381C7700E3038F071EC038C0E3C1C7F00E403900720C03900E401C8700E403910722C03900E441C8B00E403910723C03900E481C9300E403920725C03900E4C1C9B00E403930726C03900E4C1C9F00E503940728C03940E501CA700E50395072AC03940E541CAF00E50395072BC03940E581CB300E50396072DC03940E5C1CBB00E50397072FC03980E601CC300E603980730C03980E601CC700E603990732C03980E641CCF00E6039A0734C03980E681CD300E6039A0735C03980E6C1CDB00E6039B0737C039C0E701CE300E7039C0739C039C0E701CE700E7039D073AC039C0E741CEF00E7039E073CC039C0E781CF700E7039F073EC039C0E7C1CFB00E7039F073FC03A00E801D0300E803A00741C03A00E841D0B00E803A10742C03A00E841D0F00E803A20744C03A00E881D1700E803A30746C03A00E8C1D1F00E803A30747C03A40E901D2300E903A40749C03A40E941D2B00E903A5074BC03A40E981D3300E903A6074CC03A40E981D3700E903A7074EC03A40E9C1D3F00EA03A80750C03A80EA01D4700EA03A80751C03A80EA41D4B00EA03A90753C03A80EA81D5300EA03AA0755C03A80EA81D5700EA03AB0756C03A80EAC1D5F00EB03AC0758C03AC0EB01D6700EB03AD075AC03AC0EB41D6B00EB03AD075BC03AC0EB81D7300EB03AE075DC03AC0EBC1D7B00EB03AF075FC03AC0EBC1D7F00EC03B00760C03B00EC01D8700EC03B10762C03B00EC41D8F00EC03B10763C03B00EC81D9300EC03B20765C03B00ECC1D9B00EC03B30767C03B40ED01DA300ED03B40768C03B40ED01DA700ED03B5076AC03B40ED41DAF00ED03B6076CC03B40ED81DB700ED03B6076DC03B40EDC1DBB00ED03B7076FC03B80EE01DC300EE03B80771C03B80EE01DC700EE03B90772C03B80EE41DCF00EE03BA0774C03B80EE81DD700EE03BB0776C03B80EEC1DDB00EE03BB0777C03BC0EF01DE300EF03BC0779C03BC0EF41DEB00EF03BD077BC03BC0EF41DEF00EF03BE077CC03BC0EF81DF700EF03BF077EC03BC0EFC1DFF00EF03BF077FC03C00F001E0300F003C00781C03C00F041E0B00F003C10783C03C00F081E1300F003C20784C03C00F081E1700F003C30786C03C00F0C1E1F00F103C40788C03C40F101E2700F103C40789C03C40F141E2B00F103C5078BC03C40F181E3300F103C6078DC03C40F181E3700F103C7078EC03C40F1C1E3F00F203C80790C03C80F201E4700F203C90792C03C80F241E4B00F203C90793C03C80F281E5300F203CA0795C03C80F2C1E5B00F203CB0797C03C80F2C1E5F00F303CC0798C03CC0F301E6700F303CD079AC03CC0F341E6F00F303CD079BC03CC0F381E7300F303CE079DC03CC0F3C1E7B00F303CF079FC03D00F401E8300F403D007A0C03D00F401E8700F403D107A2C03D00F441E8F00F403D207A4C03D00F481E9700F403D207A5C03D00F4C1E9B00F403D307A7C03D40F501EA300F503D407A9C03D40F501EA700F503D507AAC03D40F541EAF00F503D607ACC03D40F581EB700F503D707AEC03D40F5C1EBB00F503D707AFC03D80F601EC300F603D807B1C03D80F641ECB00F603D907B3C03D80F641ECF00F603DA07B4C03D80F681ED700F603DB07B6C03D80F6C1EDF00F703DC07B8C03DC0F701EE300F703DC07B9C03DC0F741EEB00F703DD07BBC03DC0F781EF300F703DE07BCC03DC0F781EF700F703DF07BEC03DC0F7C1EFF00F803E007C0C03E00F801F0700F803E007C1C03E00F841F0B00F803E107C3C03E00F881F1300F803E207C5C03E00F8C1F1B00F803E307C6C03E00F8C1F1F00F903E407C8C03E40F901F2700F903E507CAC03E40F941F2B00F903E507CBC03E40F981F3300F903E607CDC03E40F9C1F3B00F903E707CFC03E40F9C1F3F00FA03E807D0C03E80FA01F4700FA03E907D2C03E80FA41F4F00FA03EA07D4C03E80FA81F5300FA03EA07D5C03E80FAC1F5B00FA03EB07D7C03EC0FB01F6300FB03EC07D8C03EC0FB01F6700FB03ED07DAC03EC0FB41F6F00FB03EE07DCC03EC0FB81F7700FB03EE07DDC03EC0FBC1F7B00FB03EF07DFC03F00FC01F8300FC03F007E1C03F00FC41F8B00E10387070FC03880E281C5700E3038E071CC03900E441C8B00E503940729C03940E5C1CBF00E6039B0736C039C0E781CF700E803A10743C03A40E941D2B00EA03A80750C03A80EAC1D5F00EB03AF075EC03B00EC81D9300ED03B5076BC03B80EE01DC700EF03BC0778C03BC0EFC1DFF00F003C20785C03C40F181E3300F203C90792C03CC0F301E6700F403D007A0C03D00F4C1E9B00F503D607ADC03D80F641ECF00F703DD07BAC03E00F801F0700F803E307C7C03E40F9C1F3B00FA03EA07D4C03EC0FB41F6F
10
+ 1068,8,1821,435954660,21,3,0,1,1,0,64,8,435954653,64605,435954652,64607,0C2CC008071D19FC23E410150360CC19FC23DDFC5D19FC23DCFC5F00FC03F107E2C03F00FC41F8F00FC03F207E4C03F00FC81F9700FC03F307E6C03F00FCC1F9B00FC03F307E7C03F40FD01FA300FD03F407E9C03F40FD41FAB00FD03F507EBC03F40FD41FAF00FD03F607ECC03F40FD81FB700FD03F707EEC03F40FDC1FBF00FE03F807F0C03F80FE01FC300FE03F807F1C03F80FE41FCB00FE03F907F3C03F80FE81FD300FE03FA07F4C03F80FE81FD700FE03FB07F6C03F80FEC1FDF00FF03FC07F8C03FC0FF01FE700FF03FC07F9C03FC0FF41FEB00FF03FD07FBC03FC0FF81FF300FF03FE07FDC03FC0FFC1FFB00FF03FF07FEC03FC0FFC1FFF010004000800C040010002007010004010802C04001004200B010004010803C040010082013010004020805C0400100C201B010004030807C0400100C201F010104040808C04041010202701010405080AC04041014202F01010406080CC04041018203301010406080DC0404101C203B01010407080FC040810202043010204080810C040810202047010204090812C04081024204F0102040A0814C0408102820570102040A0815C0408102C205B0102040B0817C040C103020630103040C0819C040C1034206B0103040D081AC040C1034206F0103040E081CC040C103820770103040F081EC040C103C207B0103040F081FC041010402083010404100821C04101044208B010404110823C04101044208F010404120824C041010482097010404130826C0410104C209F010504140828C0414105020A3010504140829C0414105420AB01050415082BC0414105820B301050416082DC0414105820B701050417082EC0414105C20BF010604180830C0418106020C7010604180831C0418106420CB010604190833C0418106820D30106041A0835C0418106C20DB0106041B0836C0418106C20DF0107041C0838C041C107020E70107041D083AC041C107420EF0107041D083BC041C107820F30107041E083DC041C107C20FB0107041F083FC041C107C20FF010804200840C042010802107010804210842C04201084210F010804220844C042010882113010804220845C0420108C211B010804230847C042410902123010904240849C04241090212701090425084AC04241094212F01090426084CC04241098213701090426084DC0424109C213B01090427084FC042810A02143010A04280851C042810A4214B010A04290852C042810A4214F010A042A0854C042810A82157010A042B0856C042810AC215F010A042B0857C042C10B02163010B042C0859C042C10B4216B010B042D085BC042C10B4216F010B042E085CC042C10B82177010B042F085EC042C10BC217F010C04300860C043010C02183010C04300861C043010C4218B010C04310863C043010C82193010C04320865C043010C82197010C04330866C043010CC219F010D04340868C043410D021A7010D04340869C043410D421AB010D0435086BC043410D821B3010D0436086DC043410DC21BB010D0437086EC043410DC21BF010E04380870C043810E021C7010E04390872C043810E421CF010E04390873C043810E821D3010E043A0875C043810EC21DB010E043B0877C043810EC21DF010F043C0878C043C10F021E7010F043D087AC043C10F421EF010F043E087CC043C10F821F3010F043E087DC043C10FC21FB010F043F087FC044011002203011004400881C044011002207011004410882C04401104220F011004420884C044011082217011004420885C0440110C221B011004430887C044411102223011104440889C04441114222B01110445088AC04441114222F01110446088CC04441118223701110447088EC0444111C223F01110447088FC044811202243011204480891C04481124224B011204490893C0448112822530112044A0894C0448112822570112044B0896C0448112C225F0113044C0898C044C113022630113044C0899C044C1134226B0113044D089BC044C113822730113044E089DC044C113822770113044F089EC044C113C227F0114045008A0C0450114022870114045108A2C04501144228B0114045108A3C0450114822930114045208A5C0450114C229B0114045308A6C0450114C229F0115045408A8C0454115022A70115045508AAC0454115422AF0115045508ABC0454115822B30115045608ADC0454115C22BB0115045708AFC0458116022C30116045808B0C0458116022C70116045908B2C0458116422CF0116045A08B4C0458116822D300FC03F007E1C03F40FD01FA300FD03F707EFC03F80FE81FD700FF03FE07FCC04001004200B010104040809C0408102020430102040B0816C040C10382077010404110823C0414105420AB010604180831C0418106C20DF0107041F083EC04201088211301090425084BC042810A4214B010B042C0858C042C10BC217F010C04320865C043410D821B3010E04390872C043C10F021E7011004400880C0440110C221B01110446088DC04481124224F0113044D089AC0450114022870114045308A7C0454115C22BB
11
+ 1068,9,1821,435954664,21,3,0,1,1,0,64,8,435954657,64606,435954656,64607,0C2CC009071D19FC23E810150360CC19FC23E1FC5E19FC23E0FC5F0116045A08B5C0458116C22DB0116045B08B7C045C117022E30117045C08B9C045C117022E70117045D08BAC045C117422EF0117045E08BCC045C117822F70117045F08BEC045C117C22FB0117045F08BFC0460118023030118046008C1C04601184230B0118046108C2C04601184230F0118046208C4C0460118823170118046308C6C0460118C231F0118046308C7C0464119023230119046408C9C04641194232B0119046508CBC0464119823330119046608CCC0464119823370119046708CEC0464119C233F011A046808D0C046811A02343011A046808D1C046811A4234B011A046908D3C046811A82353011A046A08D5C046811A82357011A046B08D6C046811AC235F011B046C08D8C046C11B02367011B046D08DAC046C11B4236B011B046D08DBC046C11B82373011B046E08DDC046C11BC237B011B046F08DEC046C11BC237F011C047008E0C047011C02387011C047108E2C047011C4238F011C047108E3C047011C82393011C047208E5C047011CC239B011C047308E7C047411D023A3011D047408E8C047411D023A7011D047508EAC047411D423AF011D047608ECC047411D823B3011D047608EDC047411DC23BB011D047708EFC047811E023C3011E047808F1C047811E023C7011E047908F2C047811E423CF011E047A08F4C047811E823D7011E047B08F6C047811EC23DB011E047B08F7C047C11F023E3011F047C08F9C047C11F423EB011F047D08FAC047C11F423EF011F047E08FCC047C11F823F7011F047F08FEC047C11FC23FF011F047F08FFC048012002403012004800901C04801204240B012004810903C048012082413012004820904C048012082417012004830906C0480120C241F012104840908C048412102427012104840909C04841214242B01210485090BC04841218243301210486090DC04841218243701210487090EC0484121C243F012204880910C048812202447012204890912C04881224244B012204890913C0488122824530122048A0915C0488122C245B0122048B0917C0488122C245F0123048C0918C048C123024670123048D091AC048C1234246F0123048D091BC048C123824730123048E091DC048C123C247B0123048F091FC049012402483012404900920C049012402487012404910922C04901244248F012404920924C049012482497012404920925C0490124C249B012404930927C0494125024A3012504940929C0494125024A701250495092AC0494125424AF01250496092CC0494125824B701250497092EC0494125C24BB01250497092FC0498126024C3012604980931C0498126424CB012604990933C0498126424CF0126049A0934C0498126824D70126049B0936C0498126C24DF0126049B0937C049C127024E30127049C0939C049C127424EB0127049D093BC049C127824F30127049E093CC049C127824F70127049F093EC049C127C24FF012804A00940C04A012802507012804A00941C04A01284250B012804A10943C04A012882513012804A20945C04A012882517012804A30946C04A0128C251F012904A40948C04A412902527012904A5094AC04A41294252B012904A5094BC04A412982533012904A6094DC04A4129C253B012904A7094FC04A4129C253F012A04A80950C04A812A02547012A04A90952C04A812A4254F012A04A90953C04A812A82553012A04AA0955C04A812AC255B012A04AB0957C04AC12B02563012B04AC0958C04AC12B02567012B04AD095AC04AC12B4256F012B04AE095CC04AC12B82577012B04AE095DC04AC12BC257B012B04AF095FC04B012C02583012C04B00961C04B012C02587012C04B10962C04B012C4258F012C04B20964C04B012C82597012C04B30966C04B012CC259B012C04B30967C04B412D025A3012D04B40969C04B412D425AB012D04B5096BC04B412D425AF012D04B6096CC04B412D825B7012D04B7096EC04B412DC25BF012E04B80970C04B812E025C3012E04B80971C04B812E425CB012E04B90973C04B812E825D3012E04BA0974C04B812E825D7012E04BB0976C04B812EC25DF012F04BC0978C04BC12F025E7012F04BC0979C04BC12F425EB012F04BD097BC04BC12F825F3012F04BE097DC04BC12FC25FB012F04BF097EC04BC12FC25FF013004C00980C04C013002607013004C10982C04C01304260B013004C10983C04C013082613013004C20985C04C0130C261B013004C30987C04C0130C261F0116045A08B4C045C117422EF0118046108C2C0464119023230119046708CFC046811A82357011B046E08DCC047011C4238F011D047408E9C047811E023C3011E047B08F6C047C11F823F7012004820904C04841214242B012204880911C0488122C245F0123048F091EC04901248249301250495092BC0498126424CB0127049C0938C049C127C24FF012804A20945C04A412982533012A04A90953C04AC12B02567012C04B00960C04B012CC259B012D04B6096DC04B812E825D3012F04BD097AC04C013002607
12
+ 1068,10,1821,435954668,21,3,0,1,1,0,64,8,435954661,64606,435954660,64607,0C2CC00A071D19FC23EC10150360CC19FC23E5FC5E19FC23E4FC5F013104C40988C04C413102627013104C5098AC04C41314262F013104C6098CC04C413182633013104C6098DC04C4131C263B013104C7098FC04C813202643013204C80990C04C813202647013204C90992C04C81324264F013204CA0994C04C813282657013204CA0995C04C8132C265B013204CB0997C04CC13302663013304CC0999C04CC1334266B013304CD099AC04CC1334266F013304CE099CC04CC13382677013304CF099EC04CC133C267B013304CF099FC04D013402683013404D009A1C04D01344268B013404D109A3C04D01344268F013404D209A4C04D013482697013404D309A6C04D0134C269F013504D409A8C04D4135026A3013504D409A9C04D4135426AB013504D509ABC04D4135826B3013504D609ACC04D4135826B7013504D709AEC04D4135C26BF013604D809B0C04D8136026C7013604D809B1C04D8136426CB013604D909B3C04D8136826D3013604DA09B5C04D8136C26DB013604DB09B6C04D8136C26DF013704DC09B8C04DC137026E7013704DD09BAC04DC137426EB013704DD09BBC04DC137826F3013704DE09BDC04DC137C26FB013704DF09BFC04DC137C26FF013804E009C0C04E013802707013804E109C2C04E01384270F013804E209C4C04E013882713013804E209C5C04E0138C271B013804E309C7C04E413902723013904E409C8C04E413902727013904E509CAC04E41394272F013904E609CCC04E413982737013904E609CDC04E4139C273B013904E709CFC04E813A02743013A04E809D1C04E813A4274B013A04E909D2C04E813A4274F013A04EA09D4C04E813A82757013A04EB09D6C04E813AC275F013A04EB09D7C04EC13B02763013B04EC09D9C04EC13B4276B013B04ED09DBC04EC13B4276F013B04EE09DCC04EC13B82777013B04EF09DEC04EC13BC277F013C04F009E0C04F013C02783013C04F009E1C04F013C4278B013C04F109E3C04F013C82793013C04F209E5C04F013C82797013C04F309E6C04F013CC279F013D04F409E8C04F413D027A7013D04F409E9C04F413D427AB013D04F509EBC04F413D827B3013D04F609EDC04F413DC27BB013D04F709EEC04F413DC27BF013E04F809F0C04F813E027C7013E04F909F2C04F813E427CF013E04F909F3C04F813E827D3013E04FA09F5C04F813EC27DB013E04FB09F7C04F813EC27DF013F04FC09F8C04FC13F027E7013F04FD09FAC04FC13F427EF013F04FE09FCC04FC13F827F3013F04FE09FDC04FC13FC27FB013F04FF09FFC050014002803014005000A01C050014002807014005010A02C05001404280F014005020A04C050014082817014005020A05C0500140C281B014005030A07C050414102823014105040A09C05041414282B014105050A0AC05041414282F014105060A0CC050414182837014105070A0EC0504141C283F014105070A0FC050814202843014205080A11C05081424284B014205090A13C05081424284F0142050A0A14C0508142828570142050B0A16C0508142C285F0143050C0A18C050C143028630143050C0A19C050C1434286B0143050D0A1BC050C143828730143050E0A1DC050C143828770143050F0A1EC050C143C287F014405100A20C051014402887014405100A21C05101444288B014405110A23C051014482893014405120A25C0510144C289B014405130A26C0510144C289F014505140A28C0514145028A7014505150A2AC0514145428AF014505150A2BC0514145828B3014505160A2DC0514145C28BB014505170A2FC0514145C28BF014605180A30C0518146028C7014605190A32C0518146428CF0146051A0A34C0518146828D30146051A0A35C0518146C28DB0146051B0A37C051C147028E30147051C0A39C051C147028E70147051D0A3AC051C147428EF0147051E0A3CC051C147828F70147051E0A3DC051C147C28FB0147051F0A3FC052014802903014805200A41C05201484290B014805210A42C05201484290F014805220A44C052014882917014805230A46C0520148C291F014805230A47C052414902923014905240A49C05241494292B014905250A4BC052414982933014905260A4CC052414982937014905270A4EC0524149C293F014A05280A50C052814A02943014A05280A51C052814A4294B014A05290A53C052814A82953014A052A0A55C052814A82957014A052B0A56C052814AC295F014B052C0A58C052C14B02967014B052D0A5AC052C14B4296B013004C30987C04C4131C263B013204CA0995C04CC1334266F013404D109A2C04D4135026A3013504D709AFC04D8136826D7013704DE09BCC04E01384270F013904E409C9C04E813A02743013A04EB09D6C04EC13B82777013C04F209E4C04F413D427AB013E04F809F1C04F813EC27DF013F04FF09FEC050014082817014105050A0BC05081424284B0143050C0A18C050C143C287F014405130A26C0514145828B3014605190A33C051C147028E7014805200A40C0520148C291F014905260A4DC052814A82953
13
+ 1068,11,1821,435954672,21,3,0,1,1,0,64,8,435954664,64607,435954664,64608,0C2CC00B071D19FC23F010150360CC19FC23E8FC5F19FC23E8FC60014B052D0A5BC052C14B82973014B052E0A5DC052C14BC297B014B052F0A5EC052C14BC297F014C05300A60C053014C02987014C05310A62C053014C4298F014C05310A63C053014C82993014C05320A65C053014CC299B014C05330A67C053414D029A3014D05340A68C053414D029A7014D05350A6AC053414D429AF014D05360A6CC053414D829B3014D05360A6DC053414DC29BB014D05370A6FC053814E029C3014E05380A71C053814E029C7014E05390A72C053814E429CF014E053A0A74C053814E829D7014E053B0A76C053814EC29DB014E053B0A77C053C14F029E3014F053C0A79C053C14F429EB014F053D0A7AC053C14F429EF014F053E0A7CC053C14F829F7014F053F0A7EC053C14FC29FF014F053F0A7FC054015002A03015005400A81C054015042A0B015005410A83C054015082A13015005420A84C054015082A17015005430A86C0540150C2A1F015105440A88C054415102A23015105440A89C054415142A2B015105450A8BC054415182A33015105460A8DC054415182A37015105470A8EC0544151C2A3F015205480A90C054815202A47015205490A92C054815242A4B015205490A93C054815282A530152054A0A95C0548152C2A5B0152054B0A96C0548152C2A5F0153054C0A98C054C15302A670153054D0A9AC054C15342A6F0153054D0A9BC054C15382A730153054E0A9DC054C153C2A7B0153054F0A9FC055015402A83015405500AA0C055015402A87015405510AA2C055015442A8F015405520AA4C055015482A93015405520AA5C0550154C2A9B015405530AA7C055415502AA3015505540AA9C055415502AA7015505550AAAC055415542AAF015505560AACC055415582AB7015505570AAEC0554155C2ABB015505570AAFC055815602AC3015605580AB1C055815642ACB015605590AB3C055815642ACF0156055A0AB4C055815682AD70156055B0AB6C0558156C2ADF0156055B0AB7C055C15702AE30157055C0AB9C055C15742AEB0157055D0ABBC055C15782AF30157055E0ABCC055C15782AF70157055F0ABEC055C157C2AFF015805600AC0C056015802B07015805600AC1C056015842B0B015805610AC3C056015882B13015805620AC5C056015882B17015805630AC6C0560158C2B1F015905640AC8C056415902B27015905650ACAC056415942B2B015905650ACBC056415982B33015905660ACDC0564159C2B3B015905670ACFC0564159C2B3F015A05680AD0C056815A02B47015A05690AD2C056815A42B4F015A05690AD3C056815A82B53015A056A0AD5C056815AC2B5B015A056B0AD7C056C15B02B63015B056C0AD8C056C15B02B67015B056D0ADAC056C15B42B6F015B056E0ADCC056C15B82B77015B056E0ADDC056C15BC2B7B015B056F0ADFC057015C02B83015C05700AE1C057015C02B87015C05710AE2C057015C42B8F015C05720AE4C057015C82B97015C05730AE6C057015CC2B9B015C05730AE7C057415D02BA3015D05740AE9C057415D42BAB015D05750AEBC057415D42BAF015D05760AECC057415D82BB7015D05770AEEC057415DC2BBF015D05770AEFC057815E02BC3015E05780AF1C057815E42BCB015E05790AF3C057815E82BD3015E057A0AF4C057815E82BD7015E057B0AF6C057815EC2BDF015F057C0AF8C057C15F02BE7015F057C0AF9C057C15F42BEB015F057D0AFBC057C15F82BF3015F057E0AFDC057C15F82BF7015F057F0AFEC057C15FC2BFF016005800B00C058016002C07016005810B02C058016042C0B016005810B03C058016082C13016005820B05C0580160C2C1B016005830B07C0580160C2C1F016105840B08C058416102C27016105850B0AC058416142C2F016105850B0BC058416182C33016105860B0DC0584161C2C3B016105870B0FC058816202C43016205880B10C058816202C47016205890B12C058816242C4F0162058A0B14C058816282C570162058A0B15C0588162C2C5B0162058B0B17C058C16302C630163058C0B19C058C16302C670163058D0B1AC058C16342C6F0163058E0B1CC058C16382C770163058F0B1EC058C163C2C7B0163058F0B1FC059016402C83016405900B21C059016442C8B016405910B23C059016442C8F016405920B24C059016482C97016405930B26C0590164C2C9F016505940B28C059416502CA3016505940B29C059416542CAB016505950B2BC059416582CB3016505960B2CC059416582CB7014B052D0A5AC053014C02987014C05330A67C053414DC29BB014E053A0A75C053C14F429EF015005410A82C054415102A23015105470A8FC0548152C2A5B0153054E0A9CC055015442A8F015505540AA9C055815602AC30156055B0AB7C055C15782AF7015805620AC4C056415942B2B015A05680AD1C056C15B02B63015B056F0ADEC057015C82B97015D05750AEBC057815E42BCB015F057C0AF8C057C15FC2BFF016005830B06C058416182C33016205890B13C058C16302C67016405900B20C0590164C2C9F
14
+ 1068,12,1821,435954676,21,3,0,1,1,0,64,8,435954668,64607,435954668,64608,0C2CC00C071D19FC23F410150360CC19FC23ECFC5F19FC23ECFC60016505970B2EC0594165C2CBF016605980B30C059816602CC7016605980B31C059816642CCB016605990B33C059816682CD30166059A0B35C0598166C2CDB0166059B0B36C0598166C2CDF0167059C0B38C059C16702CE70167059D0B3AC059C16742CEB0167059D0B3BC059C16782CF30167059E0B3DC059C167C2CFB0167059F0B3FC059C167C2CFF016805A00B40C05A016802D07016805A10B42C05A016842D0F016805A20B44C05A016882D13016805A20B45C05A0168C2D1B016805A30B47C05A416902D23016905A40B48C05A416902D27016905A50B4AC05A416942D2F016905A60B4CC05A416982D37016905A60B4DC05A4169C2D3B016905A70B4FC05A816A02D43016A05A80B51C05A816A42D4B016A05A90B52C05A816A42D4F016A05AA0B54C05A816A82D57016A05AB0B56C05A816AC2D5B016A05AB0B57C05AC16B02D63016B05AC0B59C05AC16B42D6B016B05AD0B5BC05AC16B42D6F016B05AE0B5CC05AC16B82D77016B05AF0B5EC05AC16BC2D7F016C05B00B60C05B016C02D83016C05B00B61C05B016C42D8B016C05B10B63C05B016C82D93016C05B20B64C05B016C82D97016C05B30B66C05B016CC2D9F016D05B40B68C05B416D02DA7016D05B40B69C05B416D42DAB016D05B50B6BC05B416D82DB3016D05B60B6DC05B416DC2DBB016D05B70B6EC05B416DC2DBF016E05B80B70C05B816E02DC7016E05B90B72C05B816E42DCB016E05B90B73C05B816E82DD3016E05BA0B75C05B816EC2DDB016E05BB0B77C05B816EC2DDF016F05BC0B78C05BC16F02DE7016F05BD0B7AC05BC16F42DEF016F05BE0B7CC05BC16F82DF3016F05BE0B7DC05BC16FC2DFB016F05BF0B7FC05C017002E03017005C00B80C05C017002E07017005C10B82C05C017042E0F017005C20B84C05C017082E17017005C20B85C05C0170C2E1B017005C30B87C05C417102E23017105C40B89C05C417142E2B017105C50B8AC05C417142E2F017105C60B8CC05C417182E37017105C70B8EC05C4171C2E3F017105C70B8FC05C817202E43017205C80B91C05C817242E4B017205C90B93C05C817242E4F017205CA0B94C05C817282E57017205CB0B96C05C8172C2E5F017305CC0B98C05CC17302E63017305CC0B99C05CC17342E6B017305CD0B9BC05CC17382E73017305CE0B9DC05CC17382E77017305CF0B9EC05CC173C2E7F017405D00BA0C05D017402E87017405D00BA1C05D017442E8B017405D10BA3C05D017482E93017405D20BA5C05D0174C2E9B017405D30BA6C05D0174C2E9F017505D40BA8C05D417502EA7017505D50BAAC05D417542EAF017505D50BABC05D417582EB3017505D60BADC05D4175C2EBB017505D70BAFC05D4175C2EBF017605D80BB0C05D817602EC7017605D90BB2C05D817642ECF017605DA0BB4C05D817682ED3017605DA0BB5C05D8176C2EDB017605DB0BB7C05DC17702EE3017705DC0BB9C05DC17702EE7017705DD0BBAC05DC17742EEF017705DE0BBCC05DC17782EF7017705DE0BBDC05DC177C2EFB017705DF0BBFC05E017802F03017805E00BC1C05E017842F0B017805E10BC2C05E017842F0F017805E20BC4C05E017882F17017805E30BC6C05E0178C2F1F017805E30BC7C05E417902F23017905E40BC9C05E417942F2B017905E50BCBC05E417942F2F017905E60BCCC05E417982F37017905E70BCEC05E4179C2F3F017A05E80BD0C05E817A02F43017A05E80BD1C05E817A42F4B017A05E90BD3C05E817A82F53017A05EA0BD5C05E817A82F57017A05EB0BD6C05E817AC2F5F017B05EC0BD8C05EC17B02F67017B05EC0BD9C05EC17B42F6B017B05ED0BDBC05EC17B82F73017B05EE0BDDC05EC17BC2F7B017B05EF0BDEC05EC17BC2F7F017C05F00BE0C05F017C02F87017C05F10BE2C05F017C42F8F017C05F10BE3C05F017C82F93017C05F20BE5C05F017CC2F9B017C05F30BE7C05F017CC2F9F017D05F40BE8C05F417D02FA7017D05F50BEAC05F417D42FAF017D05F60BECC05F417D82FB3017D05F60BEDC05F417DC2FBB017D05F70BEFC05F817E02FC3017E05F80BF1C05F817E02FC7017E05F90BF2C05F817E42FCF017E05FA0BF4C05F817E82FD7017E05FA0BF5C05F817EC2FDB017E05FB0BF7C05FC17F02FE3017F05FC0BF9C05FC17F42FEB017F05FD0BFAC05FC17F42FEF017F05FE0BFCC05FC17F82FF7017F05FF0BFEC05FC17FC2FFF017F05FF0BFFC060018003003016505960B2DC059816682CD30167059D0B3AC05A016802D07016905A40B48C05A4169C2D3B016A05AA0B55C05AC16B42D6F016C05B10B62C05B416D02DA7016D05B70B6FC05B816EC2DDB016F05BE0B7CC05C017042E0F017105C50B8AC05C817202E43017205CB0B97C05CC17382E77017405D20BA4C05D417542EAB017605D80BB1C05DC17702EE3017705DF0BBEC05E017882F17017905E50BCBC05E817A42F4B017B05EC0BD9C05EC17BC2F7F017C05F30BE6C05F417D82FB3017E05F90BF3C05FC17F42FEB
15
+ 1068,13,1821,435954680,21,3,0,1,1,0,64,8,435954672,64608,435954672,64609,0C2CC00D071D19FC23F810150360CC19FC23F0FC6019FC23F0FC61018006000C01C06001804300B018006010C03C060018083013018006020C04C060018083017018006030C06C0600180C301F018106040C08C060418103023018106040C09C06041814302B018106050C0BC060418183033018106060C0DC060418183037018106070C0EC0604181C303F018206080C10C060818203047018206090C12C06081824304B018206090C13C0608182830530182060A0C15C0608182C305B0182060B0C16C0608182C305F0183060C0C18C060C183030670183060D0C1AC060C1834306F0183060D0C1BC060C183830730183060E0C1DC060C183C307B0183060F0C1FC061018403083018406100C20C061018403087018406110C22C06101844308F018406120C24C061018483093018406120C25C0610184C309B018406130C27C0614185030A3018506140C29C0614185030A7018506150C2AC0614185430AF018506160C2CC0614185830B7018506170C2EC0614185C30BB018506170C2FC0618186030C3018606180C31C0618186430CB018606190C32C0618186430CF0186061A0C34C0618186830D70186061B0C36C0618186C30DF0186061B0C37C061C187030E30187061C0C39C061C187430EB0187061D0C3BC061C187830F30187061E0C3CC061C187830F70187061F0C3EC061C187C30FF018806200C40C062018803103018806200C41C06201884310B018806210C43C062018883113018806220C45C062018883117018806230C46C0620188C311F018906240C48C062418903127018906250C4AC06241894312B018906250C4BC062418983133018906260C4DC0624189C313B018906270C4EC0624189C313F018A06280C50C062818A03147018A06290C52C062818A4314F018A06290C53C062818A83153018A062A0C55C062818AC315B018A062B0C57C062C18B03163018B062C0C58C062C18B03167018B062D0C5AC062C18B4316F018B062E0C5CC062C18B83173018B062E0C5DC062C18BC317B018B062F0C5FC063018C03183018C06300C61C063018C03187018C06310C62C063018C4318F018C06320C64C063018C83197018C06330C66C063018CC319B018C06330C67C063418D031A3018D06340C69C063418D431AB018D06350C6BC063418D431AF018D06360C6CC063418D831B7018D06370C6EC063418DC31BF018D06370C6FC063818E031C3018E06380C71C063818E431CB018E06390C73C063818E831D3018E063A0C74C063818E831D7018E063B0C76C063818EC31DF018F063C0C78C063C18F031E7018F063C0C79C063C18F431EB018F063D0C7BC063C18F831F3018F063E0C7DC063C18F831F7018F063F0C7EC063C18FC31FF019006400C80C064019003207019006410C82C06401904320B019006410C83C064019083213019006420C85C0640190C321B019006430C87C0640190C321F019106440C88C064419103227019106450C8AC06441914322F019106450C8BC064419183233019106460C8DC0644191C323B019106470C8FC064819203243019206480C90C064819203247019206490C92C06481924324F0192064A0C94C0648192832570192064A0C95C0648192C325B0192064B0C97C064C193032630193064C0C99C064C193032670193064D0C9AC064C1934326F0193064E0C9CC064C193832770193064F0C9EC064C193C327B0193064F0C9FC065019403283019406500CA1C06501944328B019406510CA3C06501944328F019406520CA4C065019483297019406530CA6C0650194C329F019406530CA7C0654195032A3019506540CA9C0654195432AB019506550CABC0654195832B3019506560CACC0654195832B7019506570CAEC0654195C32BF019606580CB0C0658196032C7019606580CB1C0658196432CB019606590CB3C0658196832D30196065A0CB5C0658196832D70196065B0CB6C0658196C32DF0197065C0CB8C065C197032E70197065D0CBAC065C197432EB0197065D0CBBC065C197832F30197065E0CBDC065C197C32FB0197065F0CBFC065C197C32FF019806600CC0C066019803307019806610CC2C06601984330F019806610CC3C066019883313019806620CC5C0660198C331B019806630CC7C066419903323019906640CC8C066419903327019906650CCAC06641994332F019906660CCCC066419983337019906660CCDC0664199C333B019906670CCFC066819A03343019A06680CD1C066819A4334B019A06690CD2C066819A4334F018006000C00C0600180C301F018106060C0DC0608182830530183060D0C1BC061018403087018506140C28C0614185C30BB0186061A0C35C061C187430EF018806210C42C062418903127018906270C4FC062818AC315B018B062E0C5CC063018C4318F018D06350C6AC063818E031C3018E063B0C77C063C18F831F7019006420C84C06441914322F019206480C91C064C193032630193064F0C9EC065019483297019506560CACC0658196432CB0197065C0CB9C065C197C32FF019806630CC6C066419983337
16
+ 1068,14,1821,435954684,21,3,0,1,1,0,64,8,435954676,64607,435954676,64608,0C2CC00E071D19FC23FC10150360CC19FC23F4FC5F19FC23F4FC60019A066A0CD4C066819A83357019A066B0CD6C066819AC335B019A066B0CD7C066C19B03363019B066C0CD9C066C19B4336B019B066D0CDBC066C19B4336F019B066E0CDCC066C19B83377019B066F0CDEC066C19BC337F019C06700CE0C067019C03383019C06700CE1C067019C4338B019C06710CE3C067019C83393019C06720CE4C067019C83397019C06730CE6C067019CC339F019D06740CE8C067419D033A7019D06740CE9C067419D433AB019D06750CEBC067419D833B3019D06760CEDC067419DC33BB019D06770CEEC067419DC33BF019E06780CF0C067819E033C7019E06790CF2C067819E433CB019E06790CF3C067819E833D3019E067A0CF5C067819EC33DB019E067B0CF7C067819EC33DF019F067C0CF8C067C19F033E7019F067D0CFAC067C19F433EF019F067E0CFCC067C19F833F3019F067E0CFDC067C19FC33FB019F067F0CFFC06801A00340301A006800D00C06801A00340701A006810D02C06801A04340F01A006820D04C06801A08341701A006820D05C06801A0C341B01A006830D07C06841A10342301A106840D09C06841A14342B01A106850D0AC06841A14342F01A106860D0CC06841A18343701A106870D0EC06841A1C343B01A106870D0FC06881A20344301A206880D11C06881A24344B01A206890D13C06881A24344F01A2068A0D14C06881A28345701A2068B0D16C06881A2C345F01A3068C0D18C068C1A30346301A3068C0D19C068C1A34346B01A3068D0D1BC068C1A38347301A3068E0D1CC068C1A38347701A3068F0D1EC068C1A3C347F01A406900D20C06901A40348701A406900D21C06901A44348B01A406910D23C06901A48349301A406920D25C06901A4C349B01A406930D26C06901A4C349F01A506940D28C06941A5034A701A506950D2AC06941A5434AB01A506950D2BC06941A5834B301A506960D2DC06941A5C34BB01A506970D2FC06941A5C34BF01A606980D30C06981A6034C701A606990D32C06981A6434CF01A6069A0D34C06981A6834D301A6069A0D35C06981A6C34DB01A6069B0D37C069C1A7034E301A7069C0D38C069C1A7034E701A7069D0D3AC069C1A7434EF01A7069E0D3CC069C1A7834F701A7069E0D3DC069C1A7C34FB01A7069F0D3FC06A01A80350301A806A00D41C06A01A84350B01A806A10D42C06A01A84350F01A806A20D44C06A01A88351701A806A30D46C06A01A8C351F01A806A30D47C06A41A90352301A906A40D49C06A41A94352B01A906A50D4BC06A41A94352F01A906A60D4CC06A41A98353701A906A70D4EC06A41A9C353F01AA06A80D50C06A81AA0354301AA06A80D51C06A81AA4354B01AA06A90D53C06A81AA8355301AA06AA0D55C06A81AA8355701AA06AB0D56C06A81AAC355F01AB06AC0D58C06AC1AB0356701AB06AC0D59C06AC1AB4356B01AB06AD0D5BC06AC1AB8357301AB06AE0D5DC06AC1ABC357B01AB06AF0D5EC06AC1ABC357F01AC06B00D60C06B01AC0358701AC06B10D62C06B01AC4358F01AC06B10D63C06B01AC8359301AC06B20D65C06B01ACC359B01AC06B30D67C06B01ACC359F01AD06B40D68C06B41AD035A701AD06B50D6AC06B41AD435AF01AD06B60D6CC06B41AD835B301AD06B60D6DC06B41ADC35BB01AD06B70D6FC06B81AE035C301AE06B80D71C06B81AE035C701AE06B90D72C06B81AE435CF01AE06BA0D74C06B81AE835D701AE06BA0D75C06B81AEC35DB01AE06BB0D77C06BC1AF035E301AF06BC0D79C06BC1AF435EB01AF06BD0D7AC06BC1AF435EF01AF06BE0D7CC06BC1AF835F701AF06BF0D7EC06BC1AFC35FF01AF06BF0D7FC06C01B00360301B006C00D81C06C01B04360B01B006C10D83C06C01B04360F01B006C20D84C06C01B08361701B006C30D86C06C01B0C361F01B106C40D88C06C41B10362301B106C40D89C06C41B14362B01B106C50D8BC06C41B18363301B106C60D8DC06C41B18363701B106C70D8EC06C41B1C363F01B206C80D90C06C81B20364701B206C80D91C06C81B24364B01B206C90D93C06C81B28365301B206CA0D95C06C81B2C365B01B206CB0D96C06C81B2C365F01B306CC0D98C06CC1B30366701B306CD0D9AC06CC1B34366F01B306CD0D9BC06CC1B38367301B306CE0D9DC06CC1B3C367B01B306CF0D9FC06CC1B3C367F01B406D00DA0C06D01B40368701B406D10DA2C06D01B44368F01B406D20DA4C06D01B48369301B406D20DA5C06D01B4C369B019A06690CD3C066C19B4336B019C06700CE0C067019CC339F019D06760CEDC067819E833D3019F067D0CFBC06801A00340701A106840D08C06841A1C343B01A2068A0D15C068C1A38347301A406910D22C06941A5034A701A506970D2FC06981A6C34DB01A7069E0D3DC06A01A84350F01A906A50D4AC06A81AA0354301AA06AB0D57C06AC1ABC357B01AC06B20D64C06B41AD435AF01AE06B80D71C06BC1AF035E301AF06BF0D7EC06C01B08361701B106C60D8CC06C81B24364B01B306CC0D99C06CC1B3C367F
17
+ 1068,15,1821,435954688,21,3,0,1,1,0,64,8,435954680,64605,435954680,64606,0C2CC00F071D19FC240010150360CC19FC23F8FC5D19FC23F8FC5E01B406D30DA7C06D41B5036A301B506D40DA9C06D41B5036A701B506D50DAAC06D41B5436AF01B506D60DACC06D41B5836B701B506D70DAEC06D41B5C36BB01B506D70DAFC06D81B6036C301B606D80DB1C06D81B6436CB01B606D90DB2C06D81B6436CF01B606DA0DB4C06D81B6836D701B606DB0DB6C06D81B6C36DF01B606DB0DB7C06DC1B7036E301B706DC0DB9C06DC1B7436EB01B706DD0DBBC06DC1B7836F301B706DE0DBCC06DC1B7836F701B706DF0DBEC06DC1B7C36FF01B806E00DC0C06E01B80370301B806E00DC1C06E01B84370B01B806E10DC3C06E01B88371301B806E20DC5C06E01B88371701B806E30DC6C06E01B8C371F01B906E40DC8C06E41B90372701B906E50DCAC06E41B94372B01B906E50DCBC06E41B98373301B906E60DCDC06E41B9C373B01B906E70DCEC06E41B9C373F01BA06E80DD0C06E81BA0374701BA06E90DD2C06E81BA4374F01BA06E90DD3C06E81BA8375301BA06EA0DD5C06E81BAC375B01BA06EB0DD7C06EC1BB0376301BB06EC0DD8C06EC1BB0376701BB06ED0DDAC06EC1BB4376F01BB06EE0DDCC06EC1BB8377301BB06EE0DDDC06EC1BBC377B01BB06EF0DDFC06F01BC0378301BC06F00DE1C06F01BC0378701BC06F10DE2C06F01BC4378F01BC06F20DE4C06F01BC8379701BC06F30DE6C06F01BCC379B01BC06F30DE7C06F41BD037A301BD06F40DE9C06F41BD437AB01BD06F50DEAC06F41BD437AF01BD06F60DECC06F41BD837B701BD06F70DEEC06F41BDC37BF01BD06F70DEFC06F81BE037C301BE06F80DF1C06F81BE437CB01BE06F90DF3C06F81BE837D301BE06FA0DF4C06F81BE837D701BE06FB0DF6C06F81BEC37DF01BF06FC0DF8C06FC1BF037E301BF06FC0DF9C06FC1BF437EB01BF06FD0DFBC06FC1BF837F301BF06FE0DFDC06FC1BF837F701BF06FF0DFEC06FC1BFC37FF01C007000E00C07001C00380701C007010E02C07001C04380B01C007010E03C07001C08381301C007020E05C07001C0C381B01C007030E06C07001C0C381F01C107040E08C07041C10382701C107050E0AC07041C14382F01C107050E0BC07041C18383301C107060E0DC07041C1C383B01C107070E0FC07081C20384301C207080E10C07081C20384701C207090E12C07081C24384F01C2070A0E14C07081C28385301C2070A0E15C07081C2C385B01C2070B0E17C070C1C30386301C3070C0E19C070C1C30386701C3070D0E1AC070C1C34386F01C3070E0E1CC070C1C38387701C3070F0E1EC070C1C3C387B01C3070F0E1FC07101C40388301C407100E21C07101C44388B01C407110E23C07101C44388F01C407120E24C07101C48389701C407130E26C07101C4C389F01C407130E27C07141C5038A301C507140E29C07141C5438AB01C507150E2BC07141C5838B301C507160E2CC07141C5838B701C507170E2EC07141C5C38BF01C607180E30C07181C6038C701C607180E31C07181C6438CB01C607190E33C07181C6838D301C6071A0E35C07181C6838D701C6071B0E36C07181C6C38DF01C7071C0E38C071C1C7038E701C7071D0E3AC071C1C7438EB01C7071D0E3BC071C1C7838F301C7071E0E3DC071C1C7C38FB01C7071F0E3FC071C1C7C38FF01C807200E40C07201C80390701C807210E42C07201C84390F01C807210E43C07201C88391301C807220E45C07201C8C391B01C807230E47C07241C90392301C907240E48C07241C90392701C907250E4AC07241C94392F01C907260E4CC07241C98393701C907260E4DC07241C9C393B01C907270E4FC07281CA0394301CA07280E51C07281CA0394701CA07290E52C07281CA4394F01CA072A0E54C07281CA8395701CA072B0E56C07281CAC395B01CA072B0E57C072C1CB0396301CB072C0E59C072C1CB4396B01CB072D0E5BC072C1CB4396F01CB072E0E5CC072C1CB8397701CB072F0E5EC072C1CBC397F01CB072F0E5FC07301CC0398301CC07300E61C07301CC4398B01CC07310E63C07301CC8399301CC07320E64C07301CC8399701CC07330E66C07301CCC399F01CD07340E68C07341CD039A701CD07340E69C07341CD439AB01CD07350E6BC07341CD839B301CD07360E6DC07341CD839B701CD07370E6EC07341CDC39BF01CE07380E70C07381CE039C701CE07390E72C07381CE439CB01CE07390E73C07381CE839D301CE073A0E75C07381CEC39DB01CE073B0E77C07381CEC39DF01CF073C0E78C073C1CF039E701B406D30DA6C06D41B5836B701B606D90DB3C06DC1B7436EB01B806E00DC0C06E01B8C371F01B906E70DCEC06E81BA8375301BB06ED0DDBC06F01BC0378701BD06F40DE8C06F41BDC37BF01BE06FA0DF5C06FC1BF837F301C007010E02C07041C10382701C207080E10C07081C2C385B01C3070E0E1DC07101C44388F01C507150E2AC07181C6038C301C6071B0E37C071C1C7C38FB01C807220E44C07241C94392F01CA07280E51C072C1CB0396301CB072F0E5FC07301CC8399701CD07360E6CC07381CE439CB
18
+ 1068,16,1821,435954692,21,3,0,1,1,0,64,8,435954685,64601,435954684,64648,0C2CC010071D19FC240410150360CC19FC23FDFC5919FC23FCFC8801CF073D0E7AC073C1CF439EF01CF073D0E7BC073C1CF839F301CF073E0E7DC073C1CFC39FB01CF073F0E7FC07401D003A0301D007400E80C07401D003A0701D007410E82C07401D043A0F01D007420E84C07401D083A1701D007420E85C07401D0C3A1B01D007430E87C07441D103A2301D107440E89C07441D143A2B01D107450E8AC07441D143A2F01D107460E8CC07441D183A3701D107470E8EC07441D1C3A3B01D107470E8FC07481D203A4301D207480E91C07481D243A4B01D207490E93C07481D243A4F01D2074A0E94C07481D283A5701D2074B0E96C07481D2C3A5F01D3074C0E98C074C1D303A6301D3074C0E99C074C1D343A6B01D3074D0E9BC074C1D383A7301D3074E0E9CC074C1D383A7701D3074F0E9EC074C1D3C3A7F01D407500EA0C07501D403A8701D407500EA1C07501D443A8B01D407510EA3C07501D483A9301D407520EA5C07501D4C3A9B01D407530EA6C07501D4C3A9F01D507540EA8C07541D503AA701D507550EAAC07541D543AAB01D507550EABC07541D583AB301D507560EADC07541D5C3ABB01D507570EAFC07541D5C3ABF01D607580EB0C07581D603AC701D607590EB2C07581D643ACF01D6075A0EB4C07581D683AD301D6075A0EB5C07581D6C3ADB01D6075B0EB7C075C1D703AE301D7075C0EB8C075C1D703AE701D7075D0EBAC075C1D743AEF01D7075E0EBCC075C1D783AF701D7075E0EBDC075C1D7C3AFB01D7075F0EBFC07601D803B0301D807600EC1C07601D843B0B01D807610EC2C07601D843B0F01D807620EC4C07601D883B1701D807630EC6C07601D8C3B1B01D807630EC7C07641D903B2301D907640EC9C07641D943B2B01D907650ECBC07641D943B2F01D907660ECCC07641D983B3701D907670ECEC07641D9C3B3F01DA07680ED0C07681DA03B4301DA07680ED1C07681DA43B4B01DA07690ED3C07681DA83B5301DA076A0ED4C07681DA83B5701DA076B0ED6C07681DAC3B5F01DB076C0ED8C076C1DB03B6701DB076C0ED9C076C1DB43B6B01DB076D0EDBC076C1DB83B7301DB076E0EDDC076C1DBC3B7B01DB076F0EDEC076C1DBC3B7F01DC07700EE0C07701DC03B8701DC07710EE2C07701DC43B8B01DC07710EE3C07701DC83B9301DC07720EE5C07701DCC3B9B01DC07730EE7C07701DCC3B9F01DD07740EE8C07741DD03BA701DD07750EEAC07741DD43BAF01DD07760EECC07741DD83BB301DD07760EEDC07741DDC3BBB01DD07770EEFC07781DE03BC301DE07780EF1C07781DE03BC701DE07790EF2C07781DE43BCF01DE077A0EF4C07781DE83BD701DE077A0EF5C07781DEC3BDB01DE077B0EF7C077C1DF03BE301DF077C0EF9C077C1DF43BEB01DF077D0EFAC077C1DF43BEF01DF077E0EFCC077C1DF83BF701DF077F0EFEC077C1DFC3BFF01DF077F0EFFC07801E003C0301E007800F01C07801E043C0B01E007810F03C07801E043C0F01E007820F04C07801E083C1701E007830F06C07801E0C3C1F01E107840F08C07841E103C2301E107840F09C07841E143C2B01E107850F0BC07841E183C3301E107860F0DC07841E183C3701E107870F0EC07841E1C3C3F01E207880F10C07881E203C4701E207880F11C07881E243C4B01E207890F13C07881E283C5301E2078A0F15C07881E2C3C5B01E2078B0F16C07881E2C3C5F01E3078C0F18C078C1E303C6701E3078D0F1AC078C1E343C6F01E3078D0F1BC078C1E383C7301E3078E0F1DC078C1E3C3C7B01E3078F0F1FC078C1E3C3C7F01E407900F20C07901E403C8701E407910F22C07901E443C8F01E407920F24C07901E483C9301E407920F25C07901E4C3C9B01E407930F27C07941E503CA301E507940F29C07941E503CA701E507950F2AC07941E543CAF01E507960F2CC07941E583CB701E507960F2DC07941E5C3CBB01E507970F2FC07981E603CC301E607980F31C07981E643CCB01E607990F32C07981E643CCF01E6079A0F34C07981E683CD701E6079B0F36C07981E6C3CDF01E6079B0F37C079C1E703CE301E7079C0F39C079C1E743CEB01E7079D0F3BC079C1E743CEF01E7079E0F3CC079C1E783CF701E7079F0F3EC079C1E7C3CFF01E807A00F40C07A01E803D0301E807A00F41C07A01E843D0B01E807A10F43C07A01E883D1301E807A20F45C07A01E883D1701E807A30F46C07A01E8C3D1F01E907A40F48C07A41E903D2701E907A40F49C07A41E943D2B01E907A50F4BC07A41E983D3301CF073C0E79C07401D003A0301D007430E86C07441D183A3701D207490E93C074C1D343A6B01D407500EA1C07501D4C3A9F01D507570EAEC07581D683AD301D7075D0EBBC07601D803B0701D907640EC8C07641D9C3B3F01DA076A0ED5C076C1DB83B7301DC07710EE3C07741DD03BA701DE07780EF0C07781DEC3BDB01DF077E0EFDC07801E043C0F01E107850F0AC07881E203C4701E2078B0F17C078C1E3C3C7B01E407920F24C07941E543CAF01E607990F32C079C1E703CE301E7079F0F3FC07A01E883D17
19
+ 1068,17,1821,435954696,21,3,0,1,1,0,64,8,435954689,64601,435954688,64606,0C2CC011071D19FC240810150360CC19FC2401FC5919FC2400FC5E01E907A60F4DC07A41E9C3D3B01E907A70F4EC07A41E9C3D3F01EA07A80F50C07A81EA03D4701EA07A90F52C07A81EA43D4F01EA07A90F53C07A81EA83D5301EA07AA0F55C07A81EAC3D5B01EA07AB0F57C07A81EAC3D5F01EB07AC0F58C07AC1EB03D6701EB07AD0F5AC07AC1EB43D6F01EB07AE0F5CC07AC1EB83D7301EB07AE0F5DC07AC1EBC3D7B01EB07AF0F5FC07B01EC03D8301EC07B00F61C07B01EC03D8701EC07B10F62C07B01EC43D8F01EC07B20F64C07B01EC83D9701EC07B30F66C07B01ECC3D9B01EC07B30F67C07B41ED03DA301ED07B40F69C07B41ED43DAB01ED07B50F6AC07B41ED43DAF01ED07B60F6CC07B41ED83DB701ED07B70F6EC07B41EDC3DBF01ED07B70F6FC07B81EE03DC301EE07B80F71C07B81EE43DCB01EE07B90F73C07B81EE83DD301EE07BA0F74C07B81EE83DD701EE07BB0F76C07B81EEC3DDF01EF07BC0F78C07BC1EF03DE301EF07BC0F79C07BC1EF43DEB01EF07BD0F7BC07BC1EF83DF301EF07BE0F7DC07BC1EF83DF701EF07BF0F7EC07BC1EFC3DFF01F007C00F80C07C01F003E0701F007C10F82C07C01F043E0B01F007C10F83C07C01F083E1301F007C20F85C07C01F0C3E1B01F007C30F86C07C01F0C3E1F01F107C40F88C07C41F103E2701F107C50F8AC07C41F143E2F01F107C50F8BC07C41F183E3301F107C60F8DC07C41F1C3E3B01F107C70F8FC07C81F203E4301F207C80F90C07C81F203E4701F207C90F92C07C81F243E4F01F207CA0F94C07C81F283E5301F207CA0F95C07C81F2C3E5B01F207CB0F97C07CC1F303E6301F307CC0F99C07CC1F303E6701F307CD0F9AC07CC1F343E6F01F307CE0F9CC07CC1F383E7701F307CF0F9EC07CC1F3C3E7B01F307CF0F9FC07D01F403E8301F407D00FA1C07D01F443E8B01F407D10FA2C07D01F443E8F01F407D20FA4C07D01F483E9701F407D30FA6C07D01F4C3E9F01F407D30FA7C07D41F503EA301F507D40FA9C07D41F543EAB01F507D50FABC07D41F583EB301F507D60FACC07D41F583EB701F507D70FAEC07D41F5C3EBF01F607D80FB0C07D81F603EC301F607D80FB1C07D81F643ECB01F607D90FB3C07D81F683ED301F607DA0FB5C07D81F683ED701F607DB0FB6C07D81F6C3EDF01F707DC0FB8C07DC1F703EE701F707DD0FBAC07DC1F743EEB01F707DD0FBBC07DC1F783EF301F707DE0FBDC07DC1F7C3EFB01F707DF0FBEC07DC1F7C3EFF01F807E00FC0C07E01F803F0701F807E10FC2C07E01F843F0F01F807E10FC3C07E01F883F1301F807E20FC5C07E01F8C3F1B01F807E30FC7C07E41F903F2301F907E40FC8C07E41F903F2701F907E50FCAC07E41F943F2F01F907E60FCCC07E41F983F3701F907E60FCDC07E41F9C3F3B01F907E70FCFC07E81FA03F4301FA07E80FD1C07E81FA03F4701FA07E90FD2C07E81FA43F4F01FA07EA0FD4C07E81FA83F5701FA07EB0FD6C07E81FAC3F5B01FA07EB0FD7C07EC1FB03F6301FB07EC0FD9C07EC1FB43F6B01FB07ED0FDBC07EC1FB43F6F01FB07EE0FDCC07EC1FB83F7701FB07EF0FDEC07EC1FBC3F7F01FB07EF0FDFC07F01FC03F8301FC07F00FE1C07F01FC43F8B01FC07F10FE3C07F01FC83F9301FC07F20FE4C07F01FC83F9701FC07F30FE6C07F01FCC3F9F01FD07F40FE8C07F41FD03FA701FD07F40FE9C07F41FD43FAB01FD07F50FEBC07F41FD83FB301FD07F60FEDC07F41FD83FB701FD07F70FEEC07F41FDC3FBF01FE07F80FF0C07F81FE03FC701FE07F90FF2C07F81FE43FCB01FE07F90FF3C07F81FE83FD301FE07FA0FF5C07F81FEC3FDB01FE07FB0FF7C07F81FEC3FDF01FF07FC0FF8C07FC1FF03FE701FF07FD0FFAC07FC1FF43FEF01FF07FD0FFBC07FC1FF83FF301FF07FE0FFDC07FC1FFC3FFB01FF07FF0FFFC080020004003020008001000C080020004007020008011002C08002004400F020008021004C080020084017020008021005C0800200C401B020008031007C080420104023020108041009C08042010402702010805100AC08042014402F02010806100CC08042018403702010807100EC0804201C403B02010807100FC080820204043020208081011C08082024404B020208091013C08082024404F0202080A1014C0808202840570202080B1016C0808202C405F0202080B1017C080C203040630203080C1019C080C2034406B0203080D101BC080C203840730203080E101CC080C203840770203080F101EC080C203C407F01E907A60F4CC07A81EA43D4B01EB07AC0F59C07B01EC03D8301EC07B30F66C07B41ED83DB701EE07B90F73C07BC1EF43DEB01F007C00F81C07C01F0C3E1F01F107C70F8EC07C81F283E5301F307CD0F9BC07D01F443E8B01F507D40FA8C07D41F5C3EBF01F607DA0FB5C07DC1F783EF301F807E10FC3C07E41F903F2701FA07E80FD0C07E81FAC3F5B01FB07EE0FDDC07F01FC83F9301FD07F50FEAC07F81FE03FC701FE07FB0FF7C07FC1FFC3FFB020008021004C08042014402F020208091012C080C20304063
20
+ 1068,18,1821,435954700,21,3,0,1,1,0,64,8,435954693,64601,435954692,64602,0C2CC012071D19FC240C10150360CC19FC2405FC5919FC2404FC5A020408101020C081020404087020408101021C08102044408B020408111023C081020484093020408121025C081020484097020408131026C0810204C409F020508141028C0814205040A702050815102AC0814205440AB02050815102BC0814205840B302050816102DC0814205C40BB02050817102FC0814205C40BF020608181030C0818206040C7020608191032C0818206440CF020608191033C0818206840D30206081A1035C0818206C40DB0206081B1037C081C207040E30207081C1038C081C207040E70207081D103AC081C207440EF0207081E103CC081C207840F70207081E103DC081C207C40FB0207081F103FC082020804103020808201041C08202084410B020808211042C08202084410F020808221044C082020884117020808231046C0820208C411B020808231047C082420904123020908241049C08242094412B02090825104BC08242094412F02090826104CC08242098413702090827104EC0824209C413F020A08281050C082820A04143020A08281051C082820A4414B020A08291053C082820A84153020A082A1054C082820A84157020A082B1056C082820AC415F020B082C1058C082C20B04167020B082C1059C082C20B4416B020B082D105BC082C20B84173020B082E105DC082C20BC417B020B082F105EC082C20BC417F020C08301060C083020C04187020C08311062C083020C4418B020C08311063C083020C84193020C08321065C083020CC419B020C08331067C083020CC419F020D08341068C083420D041A7020D0835106AC083420D441AF020D0836106CC083420D841B3020D0836106DC083420DC41BB020D0837106FC083820E041C3020E08381070C083820E041C7020E08391072C083820E441CF020E083A1074C083820E841D7020E083A1075C083820EC41DB020E083B1077C083C20F041E3020F083C1079C083C20F441EB020F083D107AC083C20F441EF020F083E107CC083C20F841F7020F083F107EC083C20FC41FB020F083F107FC084021004203021008401081C08402104420B021008411083C08402104420F021008421084C084021084217021008431086C0840210C421F021108441088C084421104223021108441089C08442114422B02110845108BC08442118423302110846108CC08442118423702110847108EC0844211C423F021208481090C084821204247021208481091C08482124424B021208491093C0848212842530212084A1095C0848212C425B0212084B1096C0848212C425F0213084C1098C084C213042670213084D109AC084C2134426B0213084D109BC084C213842730213084E109DC084C213C427B0213084F109FC084C213C427F0214085010A0C0850214042870214085110A2C08502144428F0214085210A4C0850214842930214085210A5C0850214C429B0214085310A7C0854215042A30215085410A9C0854215042A70215085510AAC0854215442AF0215085610ACC0854215842B70215085610ADC0854215C42BB0215085710AFC0858216042C30216085810B1C0858216442CB0216085910B2C0858216442CF0216085A10B4C0858216842D70216085B10B6C0858216C42DF0216085B10B7C085C217042E30217085C10B9C085C217442EB0217085D10BBC085C217442EF0217085E10BCC085C217842F70217085F10BEC085C217C42FF0218086010C0C0860218043030218086010C1C08602184430B0218086110C3C0860218843130218086210C5C0860218843170218086310C6C0860218C431F0219086410C8C0864219043270219086410C9C08642194432B0219086510CBC0864219843330219086610CDC0864219C433B0219086710CEC0864219C433F021A086810D0C086821A04347021A086910D2C086821A4434F021A086910D3C086821A84353021A086A10D5C086821AC435B021A086B10D7C086821AC435F021B086C10D8C086C21B04367021B086D10DAC086C21B4436F021B086E10DCC086C21B84373021B086E10DDC086C21BC437B021B086F10DFC087021C04383021C087010E1C087021C04387021C087110E2C087021C4438F021C087210E4C087021C84397021C087210E5C087021CC439B021C087310E7C087421D043A3021D087410E9C087421D443AB021D087510EAC087421D443AF021D087610ECC087421D843B7021D087710EEC087421DC43BF021D087710EFC087821E043C3021E087810F1C087821E443CB0203080F101FC08102048409702050816102CC0818206440CF0207081C1039C082020804103020808231046C082420984137020A082A1054C082C20B4416B020C08301061C083020CC419F020D0837106EC083820E841D7020F083D107BC08402104420B021108441088C0844211C423F0212084A1095C084C213842730214085110A3C0854215042A70216085810B0C0858216C42DB0217085E10BDC0860218843130219086510CAC086821A04347021A086B10D7C086C21BC437B021C087210E5C087421D443AF
21
+ 1052,0,221,435954701,21,7,0,1,1,0,2,2,435954693,64601,435954692,64602,0C1CC00000DD19FC240D101507602419FC2405FC5919FC2404FC5A020408101020C081C207440EB020A082A1054C083420DC41BF021108441089C0850214842930217085F10BEC086C21B04363021E087910F3C088422184437022408931127C08A02284450B022B08AE115CC08B822EC45DB023208C81191C08D4235446AF0203080F101FC081C207040E7020A082A1054C083420DC41BB021108441088C08502144428F0217085E10BDC086821AC435F021E087910F2C088422184433022408931127C08A022804507022B08AD115BC08B822EC45DB023208C81190C08D4235446AB
22
+ 1052,1,221,435954711,21,7,0,1,1,0,2,2,435954699,64599,435954701,64616,0C1CC00100DD19FC2417101507602419FC240BFC5719FC240DFC68023808E311C6C08F023C04783023F08FD11FAC09082428485702450917122FC092424904927024C09321264C093C24FC49FB0253094C1299C095825644ACF0259096612CDC097425D04BA3026009811302C098C26384C730266099B1337C09A826A04D47023808E211C5C08EC23BC477F023F08FC11F9C09082428485302450917122EC092424904927024C09311263C093C24F849F70253094C1298C095825644ACB0259096612CCC097025CC4B9F026009801301C098C26344C6F0266099B1336C09A826A04D43
23
+ 1052,2,221,435954719,21,7,0,1,1,0,2,2,435954707,64606,435954707,64608,0C1CC00200DD19FC241F101507602419FC2413FC5E19FC2413FC60026D09B5136BC09C0270C4E1B027409D013A0C09DC27744EEF027A09EA13D5C09F427DC4FBF02810A05140AC0A102848509302870A1F143EC0A2C28B05167028E0A391473C0A44291C523B02950A5414A8C0A602984530B029B0A6E14DDC0A7829EC53DF026D09B5136BC09C027084E17027309CF139FC09DC27744EEB027A09EA13D4C09F427DC4FBB02810A041409C0A102844508F02870A1F143EC0A2C28B05163028E0A391472C0A442918523702940A5314A7C0A6029805307029B0A6E14DCC0A7829EC53DB
24
+ 1052,3,221,435954727,21,7,0,1,1,0,2,2,435954715,64604,435954715,64605,0C1CC00300DD19FC2427101507602419FC241BFC5C19FC241BFC5D02A20A881511C0A942A5854B302A80AA31546C0AB02AC0558302AF0ABD157BC0AC82B28565702B60AD815B0C0AE42B94572B02BC0AF215E4C0AFC2BFC57FF02C30B0C1619C0B182C6458CF02C90B27164EC0B342CD059A302D00B411682C0B4C2D385A7702A20A881510C0A942A5454AF02A80AA21545C0AB02AC0558302AF0ABD157AC0AC82B28565302B50AD715AFC0AE42B90572702BC0AF115E3C0AFC2BFC57FB02C30B0C1618C0B182C6458CF02C90B26164DC0B302CCC599F02D00B411682C0B4C2D385A73
25
+ 1052,4,221,435954735,21,7,0,1,1,0,2,2,435954724,64601,435954724,64602,0C1CC00400DD19FC242F101507602419FC2424FC5919FC2424FC5A02D60B5B16B7C0B682DA45B4B02DD0B7616ECC0B802E0C5C1B02E40B901721C0B9C2E745CEF02EA0BAA1755C0BB82EE05DC302F10BC5178AC0BD02F485E9702F70BDF17BFC0BEC2FB05F6702FE0BFA17F4C0C04301C603B03050C141828C0C203084610F02D60B5B16B6C0B682DA05B4702DD0B7516EBC0B802E085C1702E40B901720C0B9C2E745CEB02EA0BAA1755C0BB42EDC5DBF02F10BC41789C0BD02F485E9302F70BDF17BEC0BEC2FB05F6302FE0BF917F3C0C043018603703040C131827C0C203084610B
26
+ 1052,5,221,435954743,21,7,0,1,1,0,2,2,435954732,64601,435954732,64602,0C1CC00500DD19FC2437101507602419FC242CFC5919FC242CFC5A030B0C2E185DC0C3830EC61DF03120C491892C0C54315862B303180C6318C7C0C7031C06387031F0C7D18FBC0C88322C645B03260C981930C0CA43294652B032C0CB21965C0CBC32FC65FF03330CCD199AC0CD8336866D303390CE719CEC0CF433D067A7030B0C2E185CC0C3830EC61DF03120C481891C0C54315462AF03180C6318C6C0C7031C06383031F0C7D18FAC0C883228645703250C97192FC0CA43294652B032C0CB21964C0CBC32FC65FB03330CCC1999C0CD8336466CF03390CE619CDC0CF433D067A3
27
+ 1052,6,221,435954751,21,7,0,1,1,0,2,2,435954740,64606,435954740,64607,0C1CC00600DD19FC243F101507602419FC2434FC5E19FC2434FC5F03400D011A03C0D0C3438687703470D1C1A38C0D2834A4694B034D0D361A6CC0D40350C6A1F03540D501AA1C0D5C35786AF3035A0D6B1AD6C0D7835E06BC303610D851B0BC0D9036486C9703670D9F1B3FC0DAC36B46D6B036E0DBA1B74C0DC4371C6E3B03400D011A02C0D0C3438687303460D1B1A37C0D2834A06947034D0D361A6CC0D40350C6A1B03540D501AA0C0D5C35746AEF035A0D6A1AD5C0D7435DC6BBF03610D851B0AC0D9036486C9303670D9F1B3FC0DAC36B06D67036E0DB91B73C0DC4371C6E3B
28
+ 1052,7,221,435954759,21,7,0,1,1,0,2,2,435954747,64606,435954747,64607,0C1CC00700DD19FC2447101507602419FC243BFC5E19FC243BFC5F03750DD41BA9C0DE037846F0F037B0DEF1BDEC0DFC37F06FE303820E091C12C0E14385870B703880E231C47C0E3038C07187038F0E3E1C7CC0E48392C725B03960E581CB1C0E643994732F039C0E721CE5C0E803A00740303A30E8D1D1AC0E983A6874D303750DD41BA8C0DE037846F0B037B0DEE1BDDC0DF837EC6FDF03820E081C11C0E14385870B303880E231C46C0E3038C07187038F0E3D1C7BC0E483928725703960E581CB0C0E643994732B039C0E721CE4C0E7C39FC73FF03A30E8C1D19C0E983A6474CF
29
+ 1052,8,221,435954767,21,7,0,1,1,0,2,2,435954754,64603,435954754,64605,0C1CC00800DD19FC244F101507602419FC2442FC5B19FC2442FC5D03A90EA71D4FC0EB43AD075A703B00EC11D83C0ECC3B3C767B03B70EDC1DB8C0EE83BA4774F03BD0EF61DEDC0F003C0C781F03C40F111E22C0F1C3C7878F303CA0F2B1E56C0F383CE079C703D10F451E8BC0F503D487A9703D80F601EC0C0F6C3DB47B6B03A90EA71D4EC0EB43AD075A303B00EC11D83C0ECC3B38767703B60EDB1DB7C0EE83BA4774B03BD0EF61DECC0F003C0C781B03C40F101E21C0F1C3C7478EF03CA0F2B1E56C0F383CE079C303D10F451E8AC0F503D487A9703D70F5F1EBFC0F6C3DB07B67
30
+ 1052,9,221,435954775,21,7,0,1,1,0,2,2,435954761,64629,435954761,64630,0C1CC00900DD19FC2457101507602419FC2449FC7519FC2449FC7603DE0F7A1EF5C0F843E1C7C3F03E50F941F29C0FA03E887D1303EB0FAF1F5EC0FBC3EF07DE303F20FC91F93C0FD43F587EB703F90FE41FC8C0FF03FC47F8B03FF0FFE1FFCC1008402C805F040610182031C10244094812F040C10332066C10404100820303DE0F7A1EF4C0F843E1C7C3B03E50F941F28C0FA03E847D0F03EB0FAE1F5DC0FBC3EF07DE303F20FC91F92C0FD43F587EB303F80FE31FC7C0FF03FC07F8703FF0FFD1FFBC1008402C805B040610182030C10244094812B040C10322065C103C40FC81FF
31
+ 1052,10,221,435954783,21,7,0,1,1,0,2,2,435954767,64608,435954767,64609,0C1CC00A00DD19FC245F101507602419FC244FFC6019FC244FFC610413104D209AC1058416882D70419106720CFC107441D483AB042010822104C108C423C847B0427109C2139C10A842A4854F042D10B6216DC10C443108623043410D121A2C10DC437886F7043A10EB21D7C10F843E087C704411106220CC1110444C889B0413104D209AC1058416882D30419106720CEC107441D083A7042010812103C108C423884770427109C2138C10A842A4854B042D10B6216DC10C0430C861F043410D021A1C10DC437886F3043A10EB21D6C10F843E087C304411105220BC111044488897
32
+ 1052,11,221,435954791,21,7,0,1,1,0,2,2,435954780,64605,435954780,64606,0C1CC00B00DD19FC2467101507602419FC245CFC5D19FC245CFC5E044811202240C112C44B4896F044E113A2275C1144451C8A3F0455115522AAC116045888B13045B116F22DFC117C45F08BE7046211892313C1194465C8CBB046911A42348C11B046C48D8B046F11BE237DC11C8472C8E5F047611D823B1C11E447988F330447111F223FC112C44B4896B044E113A2274C1144451C8A3F0455115422A9C116045848B0F045B116F22DEC117C45F08BE3046211892312C119446588CB7046811A32347C11B046C48D8B046F11BE237CC11C8472C8E5B047611D823B1C11E447948F2F
33
+ 1052,12,221,435954799,21,7,0,1,1,0,2,2,435954788,64605,435954788,64607,0C1CC00C00DD19FC246F101507602419FC2464FC5D19FC2464FC5F047C11F323E6C1200480090070483120D241BC1218486890D7048A12282450C123448D491AB049012422484C124C493C927F0497125C24B9C126849A89353049D127724EEC12844A10942304A412912523C129C4A7894F704AA12AB2557C12B84AE495CB047C11F223E5C1200480090030483120D241AC1218486890D304891227244FC123448D091A7049012422484C124C493C927B0497125C24B8C126849A4934F049D127624EDC12804A0C941F04A412912522C129C4A7894F304AA12AB2556C12B84AE095C7
34
+ 1052,13,221,435954807,21,7,0,1,1,0,2,2,435954796,64607,435954796,64608,0C1CC00D00DD19FC2477101507602419FC246CFC5F19FC246CFC6004B112C6258CC12D04B4C969B04B812E025C1C12EC4BB4976F04BE12FB25F6C13084C20984304C51315262AC13204C88991704CB132F265FC133C4CF099E704D2134A2694C13544D5C9ABB04D9136426C9C13704DC49B8F04DF137E26FDC138C4E309C6304B112C5258BC12D04B4C969B04B812E025C0C12EC4BB4976B04BE12FA25F5C13044C1C983F04C513142629C13204C88991304CB132F265EC133C4CF099E704D213492693C13544D589AB704D9136426C8C13704DC49B8B04DF137E26FCC13884E2C9C5F
35
+ 1052,14,221,435954815,21,7,0,1,1,0,2,2,435954802,64607,435954802,64608,0C1CC00E00DD19FC247F101507602419FC2472FC5F19FC2472FC6004E613992732C13A44E989D3304EC13B32767C13C04F009E0704F313CD279BC13D84F6C9EDB04FA13E827D0C13F44FD49FAF050014022805C140C503CA07F0507141D283AC142850A8A153050D1437286EC14445110A2270514145128A3C145C5178A2F704E613982731C13A44E949D2F04EC13B32766C13C04F009E0304F313CD279BC13D84F689ED704F913E727CFC13F44FD49FAB050014022804C140C503CA07B0507141C2839C142850A4A14F050D1437286EC14445110A2230514145128A2C145C5178A2F7
36
+ 1052,15,221,435954823,21,7,0,1,1,0,2,2,435954812,64598,435954812,64599,0C1CC00F00DD19FC2487101507602419FC247CFC5619FC247CFC57051B146C28D8C147851E4A3CB05211486290DC1490524CA49F052814A02941C14AC52B8A573052E14BB2976C14C85320A643053514D529ABC14E05388A717053C14F029E0C14FC53F4A7EB0542150A2A14C1514545CA8BF054915242A49C153054C4A98F051A146B28D7C147851E0A3C705211486290CC1490524CA49B052814A02940C14AC52B4A56F052E14BA2975C14C85320A643053514D529AAC14E05388A713053B14EF29DFC14FC53F0A7E7054215092A13C1514545CA8BB054915242A48C153054C4A98B
37
+ 1052,16,221,435954831,21,7,0,1,1,0,2,2,435954821,64581,435954821,64582,0C1CC01000DD19FC248F101507602419FC2485FC4519FC2485FC46054F153F2A7EC154C5530AA63055615592AB2C15645598AB37055C15732AE7C15805604AC0B0563158E2B1CC1598566CACDB056A15A82B51C15B456D4ADAF057015C22B85C15D05740AE83057715DD2BBAC15E857A8AF53057D15F72BEFC16045810B027054F153E2A7DC1548552CAA5F055615592AB2C15645598AB33055C15732AE6C15805600AC070563158D2B1BC15985668ACD7056A15A82B50C15B456D4ADAB057015C22B85C15CC573CAE7F057715DC2BB9C15E857A8AF53057D15F72BEEC16045810B023
@@ -0,0 +1,97 @@
1
+ sequence,x_pri,y_pri,z_pri,rng_pri,x_sec,y_sec,z_sec,rng_sec,pri_coarse,pri_fine,sec_coarse,sec_fine
2
+ 5,13324,24467,20105,3,13324,24467,20104,3,439067318,64618,439067318,64612
3
+ 5,26623,-16643,-25350,3,26623,-16644,-25351,3,439067318,64618,439067318,64612
4
+ 5,26626,-16630,-25324,3,26626,-16631,-25325,3,439067318,64618,439067318,64612
5
+ 5,26629,-16617,-25298,3,26629,-16617,-25298,3,439067318,64618,439067318,64612
6
+ 5,26633,-16604,-25271,3,26633,-16604,-25272,3,439067318,64618,439067318,64612
7
+ 5,26636,-16591,-25245,3,26636,-16591,-25246,3,439067318,64618,439067318,64612
8
+ 5,26639,-16577,-25218,3,26639,-16578,-25219,3,439067318,64618,439067318,64612
9
+ 5,26643,-16564,-25192,3,26642,-16565,-25193,3,439067318,64618,439067318,64612
10
+ 5,26646,-16551,-25166,3,26646,-16552,-25167,3,439067318,64618,439067318,64612
11
+ 5,26649,-16538,-25139,3,26649,-16538,-25140,3,439067318,64618,439067318,64612
12
+ 5,26652,-16525,-25113,3,26652,-16525,-25114,3,439067318,64618,439067318,64612
13
+ 5,26656,-16512,-25087,3,26656,-16512,-25087,3,439067318,64618,439067318,64612
14
+ 5,26659,-16498,-25060,3,26659,-16499,-25061,3,439067318,64618,439067318,64612
15
+ 5,26662,-16485,-25034,3,26662,-16486,-25035,3,439067318,64618,439067318,64612
16
+ 5,26666,-16472,-25007,3,26666,-16472,-25008,3,439067318,64618,439067318,64612
17
+ 5,26669,-16459,-24981,3,26669,-16459,-24982,3,439067318,64618,439067318,64612
18
+ 6,26672,-16446,-24955,3,26672,-16446,-24956,3,439067307,64605,439067307,64600
19
+ 6,26676,-16432,-24928,3,26675,-16433,-24929,3,439067307,64605,439067307,64600
20
+ 6,26679,-16419,-24902,3,26679,-16420,-24903,3,439067307,64605,439067307,64600
21
+ 6,26682,-16406,-24876,3,26682,-16407,-24877,3,439067307,64605,439067307,64600
22
+ 6,26685,-16393,-24849,3,26685,-16393,-24850,3,439067307,64605,439067307,64600
23
+ 6,26689,-16380,-24823,3,26689,-16380,-24824,3,439067307,64605,439067307,64600
24
+ 6,26692,-16367,-24797,3,26692,-16367,-24797,3,439067307,64605,439067307,64600
25
+ 6,26695,-16353,-24770,3,26695,-16354,-24771,3,439067307,64605,439067307,64600
26
+ 6,26699,-16340,-24744,3,26698,-16341,-24745,3,439067307,64605,439067307,64600
27
+ 6,26702,-16327,-24717,3,26702,-16327,-24718,3,439067307,64605,439067307,64600
28
+ 6,26705,-16314,-24691,3,26705,-16314,-24692,3,439067307,64605,439067307,64600
29
+ 6,26708,-16301,-24665,3,26708,-16301,-24666,3,439067307,64605,439067307,64600
30
+ 6,26712,-16287,-24638,3,26712,-16288,-24639,3,439067307,64605,439067307,64600
31
+ 6,26715,-16274,-24612,3,26715,-16275,-24613,3,439067307,64605,439067307,64600
32
+ 6,26718,-16261,-24586,3,26718,-16261,-24586,3,439067307,64605,439067307,64600
33
+ 6,26722,-16248,-24559,3,26722,-16248,-24560,3,439067307,64605,439067307,64600
34
+ 7,26725,-16235,-24533,3,26725,-16235,-24534,3,439067315,64605,439067315,64600
35
+ 7,26728,-16222,-24507,3,26728,-16222,-24507,3,439067315,64605,439067315,64600
36
+ 7,26732,-16208,-24480,3,26731,-16209,-24481,3,439067315,64605,439067315,64600
37
+ 7,26735,-16195,-24454,3,26735,-16196,-24455,3,439067315,64605,439067315,64600
38
+ 7,26738,-16182,-24427,3,26738,-16182,-24428,3,439067315,64605,439067315,64600
39
+ 7,26741,-16169,-24401,3,26741,-16169,-24402,3,439067315,64605,439067315,64600
40
+ 7,26745,-16156,-24375,3,26745,-16156,-24376,3,439067315,64605,439067315,64600
41
+ 7,26748,-16142,-24348,3,26748,-16143,-24349,3,439067315,64605,439067315,64600
42
+ 7,26751,-16129,-24322,3,26751,-16130,-24323,3,439067315,64605,439067315,64600
43
+ 7,26755,-16116,-24296,3,26755,-16116,-24296,3,439067315,64605,439067315,64600
44
+ 7,26758,-16103,-24269,3,26758,-16103,-24270,3,439067315,64605,439067315,64600
45
+ 7,26761,-16090,-24243,3,26761,-16090,-24244,3,439067315,64605,439067315,64600
46
+ 7,26765,-16076,-24216,3,26764,-16077,-24217,3,439067315,64605,439067315,64600
47
+ 7,26768,-16063,-24190,3,26768,-16064,-24191,3,439067315,64605,439067315,64600
48
+ 7,26771,-16050,-24164,3,26771,-16051,-24165,3,439067315,64605,439067315,64600
49
+ 7,26774,-16037,-24137,3,26774,-16037,-24138,3,439067315,64605,439067315,64600
50
+ 8,26778,-16024,-24111,3,26778,-16024,-24112,3,439067323,64606,439067323,64601
51
+ 8,26781,-16011,-24085,3,26781,-16011,-24086,3,439067323,64606,439067323,64601
52
+ 8,26784,-15997,-24058,3,26784,-15998,-24059,3,439067323,64606,439067323,64601
53
+ 8,26788,-15984,-24032,3,26787,-15985,-24033,3,439067323,64606,439067323,64601
54
+ 8,26791,-15971,-24006,3,26791,-15971,-24006,3,439067323,64606,439067323,64601
55
+ 8,26794,-15958,-23979,3,26794,-15958,-23980,3,439067323,64606,439067323,64601
56
+ 8,26797,-15945,-23953,3,26797,-15945,-23954,3,439067323,64606,439067323,64601
57
+ 8,26801,-15931,-23926,3,26801,-15932,-23927,3,439067323,64606,439067323,64601
58
+ 8,26804,-15918,-23900,3,26804,-15919,-23901,3,439067323,64606,439067323,64601
59
+ 8,26807,-15905,-23874,3,26807,-15906,-23875,3,439067323,64606,439067323,64601
60
+ 8,26811,-15892,-23847,3,26811,-15892,-23848,3,439067323,64606,439067323,64601
61
+ 8,26814,-15879,-23821,3,26814,-15879,-23822,3,439067323,64606,439067323,64601
62
+ 8,26817,-15866,-23795,3,26817,-15866,-23795,3,439067323,64606,439067323,64601
63
+ 8,26821,-15852,-23768,3,26820,-15853,-23769,3,439067323,64606,439067323,64601
64
+ 8,26824,-15839,-23742,3,26824,-15840,-23743,3,439067323,64606,439067323,64601
65
+ 8,26827,-15826,-23715,3,26827,-15826,-23716,3,439067323,64606,439067323,64601
66
+ 9,26830,-15813,-23689,3,26830,-15813,-23690,3,439067331,64604,439067331,64601
67
+ 9,26834,-15800,-23663,3,26834,-15800,-23664,3,439067331,64604,439067331,64601
68
+ 9,26837,-15786,-23636,3,26837,-15787,-23637,3,439067331,64604,439067331,64601
69
+ 9,26840,-15773,-23610,3,26840,-15774,-23611,3,439067331,64604,439067331,64601
70
+ 9,26844,-15760,-23584,3,26843,-15761,-23585,3,439067331,64604,439067331,64601
71
+ 9,26847,-15747,-23557,3,26847,-15747,-23558,3,439067331,64604,439067331,64601
72
+ 9,26850,-15734,-23531,3,26850,-15734,-23532,3,439067331,64604,439067331,64601
73
+ 9,26853,-15721,-23505,3,26853,-15721,-23505,3,439067331,64604,439067331,64601
74
+ 9,26857,-15707,-23478,3,26857,-15708,-23479,3,439067331,64604,439067331,64601
75
+ 9,26860,-15694,-23452,3,26860,-15695,-23453,3,439067331,64604,439067331,64601
76
+ 9,26863,-15681,-23425,3,26863,-15681,-23426,3,439067331,64604,439067331,64601
77
+ 9,26867,-15668,-23399,3,26867,-15668,-23400,3,439067331,64604,439067331,64601
78
+ 9,26870,-15655,-23373,3,26870,-15655,-23374,3,439067331,64604,439067331,64601
79
+ 9,26873,-15641,-23346,3,26873,-15642,-23347,3,439067331,64604,439067331,64601
80
+ 9,26877,-15628,-23320,3,26876,-15629,-23321,3,439067331,64604,439067331,64601
81
+ 9,26880,-15615,-23294,3,26880,-15616,-23294,3,439067331,64604,439067331,64601
82
+ 10,26883,-15602,-23267,3,26883,-15602,-23268,3,439067339,64603,439067339,64601
83
+ 10,26886,-15589,-23241,3,26886,-15589,-23242,3,439067339,64603,439067339,64601
84
+ 10,26890,-15576,-23215,3,26890,-15576,-23215,3,439067339,64603,439067339,64601
85
+ 10,26893,-15562,-23188,3,26893,-15563,-23189,3,439067339,64603,439067339,64601
86
+ 10,26896,-15549,-23162,3,26896,-15550,-23163,3,439067339,64603,439067339,64601
87
+ 10,26900,-15536,-23135,3,26900,-15536,-23136,3,439067339,64603,439067339,64601
88
+ 10,26903,-15523,-23109,3,26903,-15523,-23110,3,439067339,64603,439067339,64601
89
+ 10,26906,-15510,-23083,3,26906,-15510,-23084,3,439067339,64603,439067339,64601
90
+ 10,26910,-15496,-23056,3,26909,-15497,-23057,3,439067339,64603,439067339,64601
91
+ 10,26913,-15483,-23030,3,26913,-15484,-23031,3,439067339,64603,439067339,64601
92
+ 10,26916,-15470,-23004,3,26916,-15470,-23004,3,439067339,64603,439067339,64601
93
+ 10,26919,-15457,-22977,3,26919,-15457,-22978,3,439067339,64603,439067339,64601
94
+ 10,26923,-15444,-22951,3,26923,-15444,-22952,3,439067339,64603,439067339,64601
95
+ 10,26926,-15430,-22924,3,26926,-15431,-22925,3,439067339,64603,439067339,64601
96
+ 10,26929,-15417,-22898,3,26929,-15418,-22899,3,439067339,64603,439067339,64601
97
+ 10,26933,-15404,-22872,3,26932,-15405,-22873,3,439067339,64603,439067339,64601
@@ -0,0 +1,117 @@
1
+ from pathlib import Path
2
+
3
+ import pandas as pd
4
+ import pytest
5
+
6
+ from imap_processing.cdf.imap_cdf_manager import ImapCdfAttributes
7
+ from imap_processing.cdf.utils import load_cdf, write_cdf
8
+ from imap_processing.mag.constants import DataMode
9
+ from imap_processing.mag.l0.decom_mag import decom_packets, generate_dataset
10
+
11
+
12
+ @pytest.fixture()
13
+ def cdf_attrs():
14
+ test_attrs = ImapCdfAttributes()
15
+ test_attrs.add_instrument_global_attrs("mag")
16
+ test_attrs.add_instrument_variable_attrs("mag", "l1")
17
+ test_attrs.add_global_attribute("Data_version", "v001")
18
+ return test_attrs
19
+
20
+
21
+ def test_mag_decom():
22
+ current_directory = Path(__file__).parent
23
+ burst_test_file = current_directory / "mag_l0_test_data.pkts"
24
+ packets = decom_packets(str(burst_test_file))
25
+
26
+ l0 = packets["burst"] + packets["norm"]
27
+
28
+ expected_output = pd.read_csv(current_directory / "mag_l0_test_output.csv")
29
+ for index, test in enumerate(l0):
30
+ assert test.ccsds_header.PKT_APID == expected_output["PHAPID"][index]
31
+ assert test.ccsds_header.SRC_SEQ_CTR == expected_output["PHSEQCNT"][index]
32
+ assert test.ccsds_header.PKT_LEN == expected_output["PHDLEN"][index]
33
+
34
+ assert test.SHCOARSE == expected_output["SHCOARSE"][index]
35
+ assert test.PUS_STYPE == expected_output["PUS_STYPE"][index]
36
+ assert test.PUS_SSUBTYPE == expected_output["PUS_SSUBTYPE"][index]
37
+ assert test.COMPRESSION == expected_output["COMPRESSION"][index]
38
+ assert test.MAGO_ACT == expected_output["FOB_ACT"][index]
39
+ assert test.MAGI_ACT == expected_output["FIB_ACT"][index]
40
+ assert test.PRI_SENS == expected_output["PRI_SENS"][index]
41
+ assert test.PRI_VECSEC == expected_output["PRI_VECSEC"][index]
42
+ assert test.SEC_VECSEC == expected_output["SEC_VECSEC"][index]
43
+ assert test.PRI_COARSETM == expected_output["PRI_COARSETM"][index]
44
+ assert test.PRI_FNTM == expected_output["PRI_FNTM"][index]
45
+ assert test.SEC_COARSETM == expected_output["SEC_COARSETM"][index]
46
+ assert test.SEC_FNTM == expected_output["SEC_FNTM"][index]
47
+
48
+ # Remove bytes for header and previous attributes from CCSDS_HEX,
49
+ # remaining bytes are vectors
50
+ # This also removes the buffer from the end of the vectors. The buffer is
51
+ # not part of the validation data, but does not affect processing.
52
+ assert (
53
+ test.VECTORS.tobytes().hex()[:-2]
54
+ == expected_output["CCSDS_HEX"][index][54:].lower()
55
+ )
56
+
57
+ assert len(l0) == len(expected_output.index)
58
+
59
+
60
+ def test_mag_raw_xarray(cdf_attrs):
61
+ current_directory = Path(__file__).parent
62
+ burst_test_file = current_directory / "mag_l0_test_data.pkts"
63
+ packets = decom_packets(str(burst_test_file))
64
+ l0_norm = packets["norm"]
65
+ l0_burst = packets["burst"]
66
+
67
+ norm_data = generate_dataset(l0_norm, DataMode.NORM, cdf_attrs)
68
+ burst_data = generate_dataset(l0_burst, DataMode.BURST, cdf_attrs)
69
+
70
+ # Logical_file_id is filled in at file creation time. The rest of the required
71
+ # values should be included.
72
+ assert all(
73
+ [
74
+ item is not None
75
+ for key, item in norm_data.attrs.items()
76
+ if key != "Logical_file_id"
77
+ ]
78
+ )
79
+
80
+ assert all(
81
+ [
82
+ item is not None
83
+ for key, item in burst_data.attrs.items()
84
+ if key != "Logical_file_id"
85
+ ]
86
+ )
87
+
88
+ expected_norm_len = 17
89
+ assert norm_data.sizes["epoch"] == expected_norm_len
90
+
91
+ expected_burst_len = 19
92
+ assert burst_data.sizes["epoch"] == expected_burst_len
93
+
94
+
95
+ def test_mag_raw_cdf_generation(cdf_attrs):
96
+ current_directory = Path(__file__).parent
97
+ test_file = current_directory / "mag_l0_test_data.pkts"
98
+ packets = decom_packets(str(test_file))
99
+ l0_norm = packets["norm"]
100
+ l0_burst = packets["burst"]
101
+
102
+ norm_data = generate_dataset(l0_norm, DataMode.NORM, cdf_attrs)
103
+ burst_data = generate_dataset(l0_burst, DataMode.BURST, cdf_attrs)
104
+
105
+ output = write_cdf(norm_data)
106
+ assert output.exists()
107
+ assert output.name == "imap_mag_l1a_norm-raw_20231025_v001.cdf"
108
+
109
+ input_xarray = load_cdf(output)
110
+ assert input_xarray.attrs.keys() == norm_data.attrs.keys()
111
+
112
+ output = write_cdf(burst_data)
113
+ assert output.exists()
114
+ assert output.name == "imap_mag_l1a_burst-raw_20231025_v001.cdf"
115
+
116
+ input_xarray = load_cdf(output)
117
+ assert input_xarray.attrs.keys() == burst_data.attrs.keys()