fit-file-parser 6.1.1 → 6.1.2

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.
@@ -0,0 +1,990 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FIT_PROFILE_SUB_SPORTS = exports.FIT_PROFILE_SPORTS = exports.FIT_PROFILE_MANUFACTURERS = exports.FIT_PROFILE_GARMIN_PRODUCTS = exports.FIT_PROFILE_COURSE_POINTS = void 0;
4
+ /**
5
+ * Lookup-oriented slices of the maintained FIT profile.
6
+ *
7
+ * The full decoder composes these exact objects into PROFILE_TYPES, keeping
8
+ * this module authoritative without loading message definitions in lookup-only consumers.
9
+ */
10
+ exports.FIT_PROFILE_COURSE_POINTS = {
11
+ 0: 'generic',
12
+ 1: 'summit',
13
+ 2: 'valley',
14
+ 3: 'water',
15
+ 4: 'food',
16
+ 5: 'danger',
17
+ 6: 'left',
18
+ 7: 'right',
19
+ 8: 'straight',
20
+ 9: 'first_aid',
21
+ 10: 'fourth_category',
22
+ 11: 'third_category',
23
+ 12: 'second_category',
24
+ 13: 'first_category',
25
+ 14: 'hors_category',
26
+ 15: 'sprint',
27
+ 16: 'left_fork',
28
+ 17: 'right_fork',
29
+ 18: 'middle_fork',
30
+ 19: 'slight_left',
31
+ 20: 'sharp_left',
32
+ 21: 'slight_right',
33
+ 22: 'sharp_right',
34
+ 23: 'u_turn',
35
+ 24: 'segment_start',
36
+ 25: 'segment_end',
37
+ 27: 'campsite',
38
+ 28: 'aid_station',
39
+ 29: 'rest_area',
40
+ 30: 'general_distance',
41
+ 31: 'service',
42
+ 32: 'energy_gel',
43
+ 33: 'sports_drink',
44
+ 34: 'mile_marker',
45
+ 35: 'checkpoint',
46
+ 36: 'shelter',
47
+ 37: 'meeting_spot',
48
+ 38: 'overlook',
49
+ 39: 'toilet',
50
+ 40: 'shower',
51
+ 41: 'gear',
52
+ 42: 'sharp_curve',
53
+ 43: 'steep_incline',
54
+ 44: 'tunnel',
55
+ 45: 'bridge',
56
+ 46: 'obstacle',
57
+ 47: 'crossing',
58
+ 48: 'store',
59
+ 49: 'transition',
60
+ 50: 'navaid',
61
+ 51: 'transport',
62
+ 52: 'alert',
63
+ 53: 'info',
64
+ };
65
+ exports.FIT_PROFILE_GARMIN_PRODUCTS = {
66
+ 1: 'hrm1',
67
+ 2: 'axh01',
68
+ 3: 'axb01',
69
+ 4: 'axb02',
70
+ 5: 'hrm2ss',
71
+ 6: 'dsi_alf02',
72
+ 7: 'hrm3ss',
73
+ 8: 'hrm_run_single_byte_product_id',
74
+ 9: 'bsm',
75
+ 10: 'bcm',
76
+ 11: 'axs01',
77
+ 12: 'hrm_tri_single_byte_product_id',
78
+ 13: 'hrm4_run_single_byte_product_id',
79
+ 14: 'fr225_single_byte_product_id',
80
+ 15: 'gen3_bsm_single_byte_product_id',
81
+ 16: 'gen3_bcm_single_byte_product_id',
82
+ 22: 'hrm_fit_single_byte_product_id',
83
+ 255: 'o_hr',
84
+ 473: 'fr301_china',
85
+ 474: 'fr301_japan',
86
+ 475: 'fr301_korea',
87
+ 494: 'fr301_taiwan',
88
+ 717: 'fr405',
89
+ 782: 'fr50',
90
+ 987: 'fr405_japan',
91
+ 988: 'fr60',
92
+ 1011: 'dsi_alf01',
93
+ 1018: 'fr310xt',
94
+ 1036: 'edge500',
95
+ 1124: 'fr110',
96
+ 1169: 'edge800',
97
+ 1199: 'edge500_taiwan',
98
+ 1213: 'edge500_japan',
99
+ 1253: 'chirp',
100
+ 1274: 'fr110_japan',
101
+ 1325: 'edge200',
102
+ 1328: 'fr910xt',
103
+ 1333: 'edge800_taiwan',
104
+ 1334: 'edge800_japan',
105
+ 1341: 'alf04',
106
+ 1345: 'fr610',
107
+ 1360: 'fr210_japan',
108
+ 1380: 'vector_ss',
109
+ 1381: 'vector_cp',
110
+ 1386: 'edge800_china',
111
+ 1387: 'edge500_china',
112
+ 1405: 'approach_g10',
113
+ 1410: 'fr610_japan',
114
+ 1422: 'edge500_korea',
115
+ 1436: 'fr70',
116
+ 1446: 'fr310xt4t',
117
+ 1461: 'amx',
118
+ 1482: 'fr10',
119
+ 1497: 'edge800_korea',
120
+ 1499: 'swim',
121
+ 1537: 'fr910xt_china',
122
+ 1551: 'fenix',
123
+ 1555: 'edge200_taiwan',
124
+ 1561: 'edge510',
125
+ 1567: 'edge810',
126
+ 1570: 'tempe',
127
+ 1600: 'fr910xt_japan',
128
+ 1623: 'fr620',
129
+ 1632: 'fr220',
130
+ 1664: 'fr910xt_korea',
131
+ 1688: 'fr10_japan',
132
+ 1721: 'edge810_japan',
133
+ 1735: 'virb_elite',
134
+ 1736: 'edge_touring',
135
+ 1742: 'edge510_japan',
136
+ 1743: 'hrm_tri',
137
+ 1752: 'hrm_run',
138
+ 1765: 'fr920xt',
139
+ 1821: 'edge510_asia',
140
+ 1822: 'edge810_china',
141
+ 1823: 'edge810_taiwan',
142
+ 1836: 'edge1000',
143
+ 1837: 'vivo_fit',
144
+ 1853: 'virb_remote',
145
+ 1885: 'vivo_ki',
146
+ 1903: 'fr15',
147
+ 1907: 'vivo_active',
148
+ 1918: 'edge510_korea',
149
+ 1928: 'fr620_japan',
150
+ 1929: 'fr620_china',
151
+ 1930: 'fr220_japan',
152
+ 1931: 'fr220_china',
153
+ 1936: 'approach_s6',
154
+ 1956: 'vivo_smart',
155
+ 1967: 'fenix2',
156
+ 1988: 'epix',
157
+ 2050: 'fenix3',
158
+ 2052: 'edge1000_taiwan',
159
+ 2053: 'edge1000_japan',
160
+ 2061: 'fr15_japan',
161
+ 2067: 'edge520',
162
+ 2070: 'edge1000_china',
163
+ 2072: 'fr620_russia',
164
+ 2073: 'fr220_russia',
165
+ 2079: 'vector_s',
166
+ 2100: 'edge1000_korea',
167
+ 2130: 'fr920xt_taiwan',
168
+ 2131: 'fr920xt_china',
169
+ 2132: 'fr920xt_japan',
170
+ 2134: 'virbx',
171
+ 2135: 'vivo_smart_apac',
172
+ 2140: 'etrex_touch',
173
+ 2147: 'edge25',
174
+ 2148: 'fr25',
175
+ 2150: 'vivo_fit2',
176
+ 2153: 'fr225',
177
+ 2156: 'fr630',
178
+ 2157: 'fr230',
179
+ 2158: 'fr735xt',
180
+ 2160: 'vivo_active_apac',
181
+ 2161: 'vector2',
182
+ 2162: 'vector2s',
183
+ 2172: 'virbxe',
184
+ 2173: 'fr620_taiwan',
185
+ 2174: 'fr220_taiwan',
186
+ 2175: 'truswing',
187
+ 2187: 'd2airvenu',
188
+ 2188: 'fenix3_china',
189
+ 2189: 'fenix3_twn',
190
+ 2192: 'varia_headlight',
191
+ 2193: 'varia_taillight_old',
192
+ 2204: 'edge_explore1000',
193
+ 2219: 'fr225_asia',
194
+ 2225: 'varia_radar_taillight',
195
+ 2226: 'varia_radar_display',
196
+ 2238: 'edge20',
197
+ 2260: 'edge520_asia',
198
+ 2261: 'edge520_japan',
199
+ 2262: 'd2_bravo',
200
+ 2266: 'approach_s20',
201
+ 2271: 'vivo_smart2',
202
+ 2274: 'edge1000_thai',
203
+ 2276: 'varia_remote',
204
+ 2288: 'edge25_asia',
205
+ 2289: 'edge25_jpn',
206
+ 2290: 'edge20_asia',
207
+ 2292: 'approach_x40',
208
+ 2293: 'fenix3_japan',
209
+ 2294: 'vivo_smart_emea',
210
+ 2310: 'fr630_asia',
211
+ 2311: 'fr630_jpn',
212
+ 2313: 'fr230_jpn',
213
+ 2327: 'hrm4_run',
214
+ 2332: 'epix_japan',
215
+ 2337: 'vivo_active_hr',
216
+ 2347: 'vivo_smart_gps_hr',
217
+ 2348: 'vivo_smart_hr',
218
+ 2361: 'vivo_smart_hr_asia',
219
+ 2362: 'vivo_smart_gps_hr_asia',
220
+ 2368: 'vivo_move',
221
+ 2379: 'varia_taillight',
222
+ 2396: 'fr235_asia',
223
+ 2397: 'fr235_japan',
224
+ 2398: 'varia_vision',
225
+ 2406: 'vivo_fit3',
226
+ 2407: 'fenix3_korea',
227
+ 2408: 'fenix3_sea',
228
+ 2413: 'fenix3_hr',
229
+ 2417: 'virb_ultra30',
230
+ 2429: 'index_smart_scale',
231
+ 2431: 'fr235',
232
+ 2432: 'fenix3_chronos',
233
+ 2441: 'oregon7xx',
234
+ 2444: 'rino7xx',
235
+ 2457: 'epix_korea',
236
+ 2473: 'fenix3_hr_chn',
237
+ 2474: 'fenix3_hr_twn',
238
+ 2475: 'fenix3_hr_jpn',
239
+ 2476: 'fenix3_hr_sea',
240
+ 2477: 'fenix3_hr_kor',
241
+ 2496: 'nautix',
242
+ 2497: 'vivo_active_hr_apac',
243
+ 2503: 'fr35',
244
+ 2512: 'oregon7xx_ww',
245
+ 2530: 'edge820',
246
+ 2531: 'edge_explore820',
247
+ 2533: 'fr735xt_apac',
248
+ 2534: 'fr735xt_japan',
249
+ 2544: 'fenix5s',
250
+ 2547: 'd2_bravo_titanium',
251
+ 2567: 'varia_ut800',
252
+ 2593: 'running_dynamics_pod',
253
+ 2599: 'edge820_china',
254
+ 2600: 'edge820_japan',
255
+ 2604: 'fenix5x',
256
+ 2606: 'vivo_fit_jr',
257
+ 2622: 'vivo_smart3',
258
+ 2623: 'vivo_sport',
259
+ 2628: 'edge820_taiwan',
260
+ 2629: 'edge820_korea',
261
+ 2630: 'edge820_sea',
262
+ 2650: 'fr35_hebrew',
263
+ 2656: 'approach_s60',
264
+ 2667: 'fr35_apac',
265
+ 2668: 'fr35_japan',
266
+ 2675: 'fenix3_chronos_asia',
267
+ 2687: 'virb360',
268
+ 2691: 'fr935',
269
+ 2697: 'fenix5',
270
+ 2700: 'vivoactive3',
271
+ 2713: 'edge1030',
272
+ 2727: 'fr35_sea',
273
+ 2733: 'fr235_china_nfc',
274
+ 2769: 'foretrex601_701',
275
+ 2772: 'vivo_move_hr',
276
+ 2787: 'vector3',
277
+ 2796: 'fenix5_asia',
278
+ 2797: 'fenix5s_asia',
279
+ 2798: 'fenix5x_asia',
280
+ 2806: 'approach_z80',
281
+ 2814: 'fr35_korea',
282
+ 2819: 'd2charlie',
283
+ 2831: 'vivo_smart3_apac',
284
+ 2832: 'vivo_sport_apac',
285
+ 2833: 'fr935_asia',
286
+ 2859: 'descent',
287
+ 2878: 'vivo_fit4',
288
+ 2886: 'fr645',
289
+ 2888: 'fr645m',
290
+ 2891: 'fr30',
291
+ 2900: 'fenix5s_plus',
292
+ 2909: 'edge130',
293
+ 2924: 'edge1030_asia',
294
+ 2927: 'vivosmart4',
295
+ 2945: 'vivo_move_hr_asia',
296
+ 2962: 'approach_x10',
297
+ 2977: 'fr30_asia',
298
+ 2988: 'vivoactive3m_w',
299
+ 3003: 'fr645_asia',
300
+ 3004: 'fr645m_asia',
301
+ 3011: 'edge_explore',
302
+ 3028: 'gpsmap66',
303
+ 3049: 'approach_s10',
304
+ 3066: 'vivoactive3m_l',
305
+ 3076: 'fr245',
306
+ 3077: 'fr245_music',
307
+ 3085: 'approach_g80',
308
+ 3092: 'edge130_asia',
309
+ 3095: 'edge1030_bontrager',
310
+ 3110: 'fenix5_plus',
311
+ 3111: 'fenix5x_plus',
312
+ 3112: 'edge520_plus',
313
+ 3113: 'fr945',
314
+ 3121: 'edge530',
315
+ 3122: 'edge830',
316
+ 3126: 'instinct_esports',
317
+ 3134: 'fenix5s_plus_apac',
318
+ 3135: 'fenix5x_plus_apac',
319
+ 3142: 'edge520_plus_apac',
320
+ 3143: 'descent_t1',
321
+ 3144: 'fr235l_asia',
322
+ 3145: 'fr245_asia',
323
+ 3163: 'vivo_active3m_apac',
324
+ 3192: 'gen3_bsm',
325
+ 3193: 'gen3_bcm',
326
+ 3218: 'vivo_smart4_asia',
327
+ 3224: 'vivoactive4_small',
328
+ 3225: 'vivoactive4_large',
329
+ 3226: 'venu',
330
+ 3246: 'marq_driver',
331
+ 3247: 'marq_aviator',
332
+ 3248: 'marq_captain',
333
+ 3249: 'marq_commander',
334
+ 3250: 'marq_expedition',
335
+ 3251: 'marq_athlete',
336
+ 3258: 'descent_mk2',
337
+ 3282: 'fr45',
338
+ 3284: 'gpsmap66i',
339
+ 3287: 'fenix6_s_sport',
340
+ 3288: 'fenix6_s',
341
+ 3289: 'fenix6_sport',
342
+ 3290: 'fenix6',
343
+ 3291: 'fenix6x',
344
+ 3299: 'hrm_dual',
345
+ 3300: 'hrm_pro',
346
+ 3308: 'vivo_move3_premium',
347
+ 3314: 'approach_s40',
348
+ 3321: 'fr245m_asia',
349
+ 3349: 'edge530_apac',
350
+ 3350: 'edge830_apac',
351
+ 3378: 'vivo_move3',
352
+ 3387: 'vivo_active4_small_asia',
353
+ 3388: 'vivo_active4_large_asia',
354
+ 3389: 'vivo_active4_oled_asia',
355
+ 3405: 'swim2',
356
+ 3420: 'marq_driver_asia',
357
+ 3421: 'marq_aviator_asia',
358
+ 3422: 'vivo_move3_asia',
359
+ 3441: 'fr945_asia',
360
+ 3446: 'vivo_active3t_chn',
361
+ 3448: 'marq_captain_asia',
362
+ 3449: 'marq_commander_asia',
363
+ 3450: 'marq_expedition_asia',
364
+ 3451: 'marq_athlete_asia',
365
+ 3461: 'index_smart_scale2',
366
+ 3466: 'instinct_solar',
367
+ 3469: 'fr45_asia',
368
+ 3473: 'vivoactive3_daimler',
369
+ 3498: 'legacy_rey',
370
+ 3499: 'legacy_darth_vader',
371
+ 3500: 'legacy_captain_marvel',
372
+ 3501: 'legacy_first_avenger',
373
+ 3512: 'fenix6s_sport_asia',
374
+ 3513: 'fenix6s_asia',
375
+ 3514: 'fenix6_sport_asia',
376
+ 3515: 'fenix6_asia',
377
+ 3516: 'fenix6x_asia',
378
+ 3535: 'legacy_captain_marvel_asia',
379
+ 3536: 'legacy_first_avenger_asia',
380
+ 3537: 'legacy_rey_asia',
381
+ 3538: 'legacy_darth_vader_asia',
382
+ 3542: 'descent_mk2s',
383
+ 3558: 'edge130_plus',
384
+ 3570: 'edge1030_plus',
385
+ 3578: 'rally200',
386
+ 3589: 'fr745',
387
+ 3596: 'venusq_music',
388
+ 3599: 'venusq_music_v2',
389
+ 3600: 'venusq',
390
+ 3615: 'lily',
391
+ 3624: 'marq_adventurer',
392
+ 3638: 'enduro',
393
+ 3639: 'swim2_apac',
394
+ 3648: 'marq_adventurer_asia',
395
+ 3652: 'fr945_lte',
396
+ 3702: 'descent_mk2_asia',
397
+ 3703: 'venu2',
398
+ 3704: 'venu2s',
399
+ 3737: 'venu_daimler_asia',
400
+ 3739: 'marq_golfer',
401
+ 3740: 'venu_daimler',
402
+ 3794: 'fr745_asia',
403
+ 3808: 'varia_rct715',
404
+ 3809: 'lily_asia',
405
+ 3812: 'edge1030_plus_asia',
406
+ 3813: 'edge130_plus_asia',
407
+ 3823: 'approach_s12',
408
+ 3837: 'venusq_asia',
409
+ 3843: 'edge1040',
410
+ 3850: 'marq_golfer_asia',
411
+ 3851: 'venu2_plus',
412
+ 3865: 'gnss',
413
+ 3869: 'fr55',
414
+ 3872: 'enduro_asia',
415
+ 3888: 'instinct2',
416
+ 3889: 'instinct2s',
417
+ 3905: 'fenix7s',
418
+ 3906: 'fenix7',
419
+ 3907: 'fenix7x',
420
+ 3908: 'fenix7s_apac',
421
+ 3909: 'fenix7_apac',
422
+ 3910: 'fenix7x_apac',
423
+ 3927: 'approach_g12',
424
+ 3930: 'descent_mk2s_asia',
425
+ 3934: 'approach_s42',
426
+ 3943: 'epix_gen2',
427
+ 3944: 'epix_gen2_apac',
428
+ 3949: 'venu2s_asia',
429
+ 3950: 'venu2_asia',
430
+ 3978: 'fr945_lte_asia',
431
+ 3982: 'vivo_move_sport',
432
+ 3983: 'vivomove_trend',
433
+ 3986: 'approach_s12_asia',
434
+ 3990: 'fr255_music',
435
+ 3991: 'fr255_small_music',
436
+ 3992: 'fr255',
437
+ 3993: 'fr255_small',
438
+ 4001: 'approach_g12_asia',
439
+ 4002: 'approach_s42_asia',
440
+ 4005: 'descent_g1',
441
+ 4017: 'venu2_plus_asia',
442
+ 4024: 'fr955',
443
+ 4033: 'fr55_asia',
444
+ 4061: 'edge540',
445
+ 4062: 'edge840',
446
+ 4063: 'vivosmart5',
447
+ 4071: 'instinct2_asia',
448
+ 4105: 'marq_gen2',
449
+ 4115: 'venusq2',
450
+ 4116: 'venusq2music',
451
+ 4124: 'marq_gen2_aviator',
452
+ 4125: 'd2_air_x10',
453
+ 4130: 'hrm_pro_plus',
454
+ 4132: 'descent_g1_asia',
455
+ 4135: 'tactix7',
456
+ 4155: 'instinct_crossover',
457
+ 4169: 'edge_explore2',
458
+ 4222: 'descent_mk3',
459
+ 4223: 'descent_mk3i',
460
+ 4233: 'approach_s70',
461
+ 4257: 'fr265_large',
462
+ 4258: 'fr265_small',
463
+ 4260: 'venu3',
464
+ 4261: 'venu3s',
465
+ 4265: 'tacx_neo_smart',
466
+ 4266: 'tacx_neo2_smart',
467
+ 4267: 'tacx_neo2_t_smart',
468
+ 4268: 'tacx_neo_smart_bike',
469
+ 4269: 'tacx_satori_smart',
470
+ 4270: 'tacx_flow_smart',
471
+ 4271: 'tacx_vortex_smart',
472
+ 4272: 'tacx_bushido_smart',
473
+ 4273: 'tacx_genius_smart',
474
+ 4274: 'tacx_flux_flux_s_smart',
475
+ 4275: 'tacx_flux2_smart',
476
+ 4276: 'tacx_magnum',
477
+ 4305: 'edge1040_asia',
478
+ 4312: 'epix_gen2_pro42',
479
+ 4313: 'epix_gen2_pro47',
480
+ 4314: 'epix_gen2_pro51',
481
+ 4315: 'fr965',
482
+ 4341: 'enduro2',
483
+ 4374: 'fenix7s_pro_solar',
484
+ 4375: 'fenix7_pro_solar',
485
+ 4376: 'fenix7x_pro_solar',
486
+ 4380: 'lily2',
487
+ 4394: 'instinct2x',
488
+ 4426: 'vivoactive5',
489
+ 4432: 'fr165',
490
+ 4433: 'fr165_music',
491
+ 4440: 'edge1050',
492
+ 4442: 'descent_t2',
493
+ 4446: 'hrm_fit',
494
+ 4472: 'marq_gen2_commander',
495
+ 4477: 'lily_athlete',
496
+ 4525: 'rally_x10',
497
+ 4532: 'fenix8_solar',
498
+ 4533: 'fenix8_solar_large',
499
+ 4534: 'fenix8_small',
500
+ 4536: 'fenix8',
501
+ 4556: 'd2_mach1_pro',
502
+ 4575: 'enduro3',
503
+ 4583: 'instinct_e40mm',
504
+ 4584: 'instinct_e45mm',
505
+ 4585: 'instinct3_solar45mm',
506
+ 4586: 'instinct3_amoled45mm',
507
+ 4587: 'instinct3_amoled50mm',
508
+ 4588: 'descent_g2',
509
+ 4603: 'venu_x1',
510
+ 4606: 'hrm200',
511
+ 4625: 'vivoactive6',
512
+ 4631: 'fenix8_pro',
513
+ 4633: 'edge550',
514
+ 4634: 'edge850',
515
+ 4643: 'venu4',
516
+ 4644: 'venu4s',
517
+ 4647: 'approach_s44',
518
+ 4655: 'edge_mtb',
519
+ 4656: 'approach_s50',
520
+ 4666: 'fenix_e',
521
+ 4678: 'instinct_crossover_amoled',
522
+ 4745: 'bounce2',
523
+ 4759: 'instinct3_solar50mm',
524
+ 4775: 'tactix8_amoled',
525
+ 4776: 'tactix8_solar',
526
+ 4814: 'fr170_music',
527
+ 4815: 'fr170',
528
+ 4825: 'approach_j1',
529
+ 4879: 'd2_mach2',
530
+ 4916: 'fr702026',
531
+ 4944: 'd2_air_x15',
532
+ 5056: 'd2_mach2_pro',
533
+ 10007: 'sdm4',
534
+ 10014: 'edge_remote',
535
+ 20119: 'training_center',
536
+ 20533: 'tacx_training_app_win',
537
+ 20534: 'tacx_training_app_mac',
538
+ 20565: 'tacx_training_app_mac_catalyst',
539
+ 30045: 'tacx_training_app_android',
540
+ 30046: 'tacx_training_app_ios',
541
+ 30047: 'tacx_training_app_legacy',
542
+ 65531: 'connectiq_simulator',
543
+ 65532: 'android_antplus_plugin',
544
+ 65534: 'connect',
545
+ };
546
+ exports.FIT_PROFILE_MANUFACTURERS = {
547
+ 1: 'garmin',
548
+ 2: 'garmin_fr405_antfs',
549
+ 3: 'zephyr',
550
+ 4: 'dayton',
551
+ 5: 'idt',
552
+ 6: 'srm',
553
+ 7: 'quarq',
554
+ 8: 'ibike',
555
+ 9: 'saris',
556
+ 10: 'spark_hk',
557
+ 11: 'tanita',
558
+ 12: 'echowell',
559
+ 13: 'dynastream_oem',
560
+ 14: 'nautilus',
561
+ 15: 'dynastream',
562
+ 16: 'timex',
563
+ 17: 'metrigear',
564
+ 18: 'xelic',
565
+ 19: 'beurer',
566
+ 20: 'cardiosport',
567
+ 21: 'a_and_d',
568
+ 22: 'hmm',
569
+ 23: 'suunto',
570
+ 24: 'thita_elektronik',
571
+ 25: 'gpulse',
572
+ 26: 'clean_mobile',
573
+ 27: 'pedal_brain',
574
+ 28: 'peaksware',
575
+ 29: 'saxonar',
576
+ 30: 'lemond_fitness',
577
+ 31: 'dexcom',
578
+ 32: 'wahoo_fitness',
579
+ 33: 'octane_fitness',
580
+ 34: 'archinoetics',
581
+ 35: 'the_hurt_box',
582
+ 36: 'citizen_systems',
583
+ 37: 'magellan',
584
+ 38: 'osynce',
585
+ 39: 'holux',
586
+ 40: 'concept2',
587
+ 41: 'shimano',
588
+ 42: 'one_giant_leap',
589
+ 43: 'ace_sensor',
590
+ 44: 'brim_brothers',
591
+ 45: 'xplova',
592
+ 46: 'perception_digital',
593
+ 47: 'bf1systems',
594
+ 48: 'pioneer',
595
+ 49: 'spantec',
596
+ 50: 'metalogics',
597
+ 51: '4iiiis',
598
+ 52: 'seiko_epson',
599
+ 53: 'seiko_epson_oem',
600
+ 54: 'ifor_powell',
601
+ 55: 'maxwell_guider',
602
+ 56: 'star_trac',
603
+ 57: 'breakaway',
604
+ 58: 'alatech_technology_ltd',
605
+ 59: 'mio_technology_europe',
606
+ 60: 'rotor',
607
+ 61: 'geonaute',
608
+ 62: 'id_bike',
609
+ 63: 'specialized',
610
+ 64: 'wtek',
611
+ 65: 'physical_enterprises',
612
+ 66: 'north_pole_engineering',
613
+ 67: 'bkool',
614
+ 68: 'cateye',
615
+ 69: 'stages_cycling',
616
+ 70: 'sigmasport',
617
+ 71: 'tomtom',
618
+ 72: 'peripedal',
619
+ 73: 'wattbike',
620
+ 76: 'moxy',
621
+ 77: 'ciclosport',
622
+ 78: 'powerbahn',
623
+ 79: 'acorn_projects_aps',
624
+ 80: 'lifebeam',
625
+ 81: 'bontrager',
626
+ 82: 'wellgo',
627
+ 83: 'scosche',
628
+ 84: 'magura',
629
+ 85: 'woodway',
630
+ 86: 'elite',
631
+ 87: 'nielsen_kellerman',
632
+ 88: 'dk_city',
633
+ 89: 'tacx',
634
+ 90: 'direction_technology',
635
+ 91: 'magtonic',
636
+ 92: '1partcarbon',
637
+ 93: 'inside_ride_technologies',
638
+ 94: 'sound_of_motion',
639
+ 95: 'stryd',
640
+ 96: 'icg',
641
+ 97: 'mi_pulse',
642
+ 98: 'bsx_athletics',
643
+ 99: 'look',
644
+ 100: 'campagnolo_srl',
645
+ 101: 'body_bike_smart',
646
+ 102: 'praxisworks',
647
+ 103: 'limits_technology',
648
+ 104: 'topaction_technology',
649
+ 105: 'cosinuss',
650
+ 106: 'fitcare',
651
+ 107: 'magene',
652
+ 108: 'giant_manufacturing_co',
653
+ 109: 'tigrasport',
654
+ 110: 'salutron',
655
+ 111: 'technogym',
656
+ 112: 'bryton_sensors',
657
+ 113: 'latitude_limited',
658
+ 114: 'soaring_technology',
659
+ 115: 'igpsport',
660
+ 116: 'thinkrider',
661
+ 117: 'gopher_sport',
662
+ 118: 'waterrower',
663
+ 119: 'orangetheory',
664
+ 120: 'inpeak',
665
+ 121: 'kinetic',
666
+ 122: 'johnson_health_tech',
667
+ 123: 'polar_electro',
668
+ 124: 'seesense',
669
+ 125: 'nci_technology',
670
+ 126: 'iqsquare',
671
+ 127: 'leomo',
672
+ 128: 'ifit_com',
673
+ 129: 'coros_byte',
674
+ 130: 'versa_design',
675
+ 131: 'chileaf',
676
+ 132: 'cycplus',
677
+ 133: 'gravaa_byte',
678
+ 134: 'sigeyi',
679
+ 135: 'coospo',
680
+ 136: 'geoid',
681
+ 137: 'bosch',
682
+ 138: 'kyto',
683
+ 139: 'kinetic_sports',
684
+ 140: 'decathlon_byte',
685
+ 141: 'tq_systems',
686
+ 142: 'tag_heuer',
687
+ 143: 'keiser_fitness',
688
+ 144: 'zwift_byte',
689
+ 145: 'porsche_ep',
690
+ 146: 'blackbird',
691
+ 147: 'meilan_byte',
692
+ 148: 'ezon',
693
+ 149: 'laisi',
694
+ 150: 'myzone',
695
+ 151: 'abawo',
696
+ 152: 'bafang',
697
+ 153: 'luhong_technology',
698
+ 255: 'development',
699
+ 257: 'healthandlife',
700
+ 258: 'lezyne',
701
+ 259: 'scribe_labs',
702
+ 260: 'zwift',
703
+ 261: 'watteam',
704
+ 262: 'recon',
705
+ 263: 'favero_electronics',
706
+ 264: 'dynovelo',
707
+ 265: 'strava',
708
+ 266: 'precor',
709
+ 267: 'bryton',
710
+ 268: 'sram',
711
+ 269: 'navman',
712
+ 270: 'cobi',
713
+ 271: 'spivi',
714
+ 272: 'mio_magellan',
715
+ 273: 'evesports',
716
+ 274: 'sensitivus_gauge',
717
+ 275: 'podoon',
718
+ 276: 'life_time_fitness',
719
+ 277: 'falco_e_motors',
720
+ 278: 'minoura',
721
+ 279: 'cycliq',
722
+ 280: 'luxottica',
723
+ 281: 'trainer_road',
724
+ 282: 'the_sufferfest',
725
+ 283: 'fullspeedahead',
726
+ 284: 'virtualtraining',
727
+ 285: 'feedbacksports',
728
+ 286: 'omata',
729
+ 287: 'vdo',
730
+ 288: 'magneticdays',
731
+ 289: 'hammerhead',
732
+ 290: 'kinetic_by_kurt',
733
+ 291: 'shapelog',
734
+ 292: 'dabuziduo',
735
+ 293: 'jetblack',
736
+ 294: 'coros',
737
+ 295: 'virtugo',
738
+ 296: 'velosense',
739
+ 297: 'cycligentinc',
740
+ 298: 'trailforks',
741
+ 299: 'mahle_ebikemotion',
742
+ 300: 'nurvv',
743
+ 301: 'microprogram',
744
+ 302: 'zone5cloud',
745
+ 303: 'greenteg',
746
+ 304: 'yamaha_motors',
747
+ 305: 'whoop',
748
+ 306: 'gravaa',
749
+ 307: 'onelap',
750
+ 308: 'monark_exercise',
751
+ 309: 'form',
752
+ 310: 'decathlon',
753
+ 311: 'syncros',
754
+ 312: 'heatup',
755
+ 313: 'cannondale',
756
+ 314: 'true_fitness',
757
+ 315: 'r_gt_cycling',
758
+ 316: 'vasa',
759
+ 317: 'race_republic',
760
+ 318: 'fazua',
761
+ 319: 'oreka_training',
762
+ 320: 'lsec',
763
+ 321: 'lululemon_studio',
764
+ 322: 'shanyue',
765
+ 323: 'spinning_mda',
766
+ 324: 'hilldating',
767
+ 325: 'aero_sensor',
768
+ 326: 'nike',
769
+ 327: 'magicshine',
770
+ 328: 'ictrainer',
771
+ 329: 'absolute_cycling',
772
+ 330: 'eo_swimbetter',
773
+ 331: 'mywhoosh',
774
+ 332: 'ravemen',
775
+ 333: 'tektro_racing_products',
776
+ 334: 'darad_innovation_corporation',
777
+ 335: 'cycloptim',
778
+ 337: 'runna',
779
+ 339: 'zepp',
780
+ 340: 'peloton',
781
+ 341: 'carv',
782
+ 342: 'tissot',
783
+ 345: 'real_velo',
784
+ 346: 'wetech',
785
+ 347: 'jespr',
786
+ 348: 'huawei',
787
+ 349: 'gotoes',
788
+ 350: 'cadence_app',
789
+ 5759: 'actigraphcorp',
790
+ };
791
+ exports.FIT_PROFILE_SPORTS = {
792
+ 0: 'generic',
793
+ 1: 'running',
794
+ 2: 'cycling',
795
+ 3: 'transition',
796
+ 4: 'fitness_equipment',
797
+ 5: 'swimming',
798
+ 6: 'basketball',
799
+ 7: 'soccer',
800
+ 8: 'tennis',
801
+ 9: 'american_football',
802
+ 10: 'training',
803
+ 11: 'walking',
804
+ 12: 'cross_country_skiing',
805
+ 13: 'alpine_skiing',
806
+ 14: 'snowboarding',
807
+ 15: 'rowing',
808
+ 16: 'mountaineering',
809
+ 17: 'hiking',
810
+ 18: 'multisport',
811
+ 19: 'paddling',
812
+ 20: 'flying',
813
+ 21: 'e_biking',
814
+ 22: 'motorcycling',
815
+ 23: 'boating',
816
+ 24: 'driving',
817
+ 25: 'golf',
818
+ 26: 'hang_gliding',
819
+ 27: 'horseback_riding',
820
+ 28: 'hunting',
821
+ 29: 'fishing',
822
+ 30: 'inline_skating',
823
+ 31: 'rock_climbing',
824
+ 32: 'sailing',
825
+ 33: 'ice_skating',
826
+ 34: 'sky_diving',
827
+ 35: 'snowshoeing',
828
+ 36: 'snowmobiling',
829
+ 37: 'stand_up_paddleboarding',
830
+ 38: 'surfing',
831
+ 39: 'wakeboarding',
832
+ 40: 'water_skiing',
833
+ 41: 'kayaking',
834
+ 42: 'rafting',
835
+ 43: 'windsurfing',
836
+ 44: 'kitesurfing',
837
+ 45: 'tactical',
838
+ 46: 'jumpmaster',
839
+ 47: 'boxing',
840
+ 48: 'floor_climbing',
841
+ 49: 'baseball',
842
+ 53: 'diving',
843
+ 56: 'shooting',
844
+ 58: 'winter_sport',
845
+ 59: 'grinding',
846
+ 62: 'hiit',
847
+ 63: 'video_gaming',
848
+ 64: 'racket',
849
+ 65: 'wheelchair_push_walk',
850
+ 66: 'wheelchair_push_run',
851
+ 67: 'meditation',
852
+ 68: 'para_sport',
853
+ 69: 'disc_golf',
854
+ 70: 'team_sport',
855
+ 71: 'cricket',
856
+ 72: 'rugby',
857
+ 73: 'hockey',
858
+ 74: 'lacrosse',
859
+ 75: 'volleyball',
860
+ 76: 'water_tubing',
861
+ 77: 'wakesurfing',
862
+ 78: 'water_sport',
863
+ 79: 'archery',
864
+ 80: 'mixed_martial_arts',
865
+ 81: 'motor_sports',
866
+ 82: 'snorkeling',
867
+ 83: 'dance',
868
+ 84: 'jump_rope',
869
+ 85: 'pool_apnea',
870
+ 86: 'mobility',
871
+ 87: 'geocaching',
872
+ 88: 'canoeing',
873
+ 254: 'all',
874
+ };
875
+ exports.FIT_PROFILE_SUB_SPORTS = {
876
+ 0: 'generic',
877
+ 1: 'treadmill',
878
+ 2: 'street',
879
+ 3: 'trail',
880
+ 4: 'track',
881
+ 5: 'spin',
882
+ 6: 'indoor_cycling',
883
+ 7: 'road',
884
+ 8: 'mountain',
885
+ 9: 'downhill',
886
+ 10: 'recumbent',
887
+ 11: 'cyclocross',
888
+ 12: 'hand_cycling',
889
+ 13: 'track_cycling',
890
+ 14: 'indoor_rowing',
891
+ 15: 'elliptical',
892
+ 16: 'stair_climbing',
893
+ 17: 'lap_swimming',
894
+ 18: 'open_water',
895
+ 19: 'flexibility_training',
896
+ 20: 'strength_training',
897
+ 21: 'warm_up',
898
+ 22: 'match',
899
+ 23: 'exercise',
900
+ 24: 'challenge',
901
+ 25: 'indoor_skiing',
902
+ 26: 'cardio_training',
903
+ 27: 'indoor_walking',
904
+ 28: 'e_bike_fitness',
905
+ 29: 'bmx',
906
+ 30: 'casual_walking',
907
+ 31: 'speed_walking',
908
+ 32: 'bike_to_run_transition',
909
+ 33: 'run_to_bike_transition',
910
+ 34: 'swim_to_bike_transition',
911
+ 35: 'atv',
912
+ 36: 'motocross',
913
+ 37: 'backcountry',
914
+ 38: 'resort',
915
+ 39: 'rc_drone',
916
+ 40: 'wingsuit',
917
+ 41: 'whitewater',
918
+ 42: 'skate_skiing',
919
+ 43: 'yoga',
920
+ 44: 'pilates',
921
+ 45: 'indoor_running',
922
+ 46: 'gravel_cycling',
923
+ 47: 'e_bike_mountain',
924
+ 48: 'commuting',
925
+ 49: 'mixed_surface',
926
+ 50: 'navigate',
927
+ 51: 'track_me',
928
+ 52: 'map',
929
+ 53: 'single_gas_diving',
930
+ 54: 'multi_gas_diving',
931
+ 55: 'gauge_diving',
932
+ 56: 'apnea_diving',
933
+ 57: 'apnea_hunting',
934
+ 58: 'virtual_activity',
935
+ 59: 'obstacle',
936
+ 62: 'breathing',
937
+ 63: 'ccr_diving',
938
+ 65: 'sail_race',
939
+ 66: 'expedition',
940
+ 67: 'ultra',
941
+ 68: 'indoor_climbing',
942
+ 69: 'bouldering',
943
+ 70: 'hiit',
944
+ 71: 'indoor_grinding',
945
+ 72: 'hunting_with_dogs',
946
+ 73: 'amrap',
947
+ 74: 'emom',
948
+ 75: 'tabata',
949
+ 77: 'esport',
950
+ 78: 'triathlon',
951
+ 79: 'duathlon',
952
+ 80: 'brick',
953
+ 81: 'swim_run',
954
+ 82: 'adventure_race',
955
+ 83: 'trucker_workout',
956
+ 84: 'pickleball',
957
+ 85: 'padel',
958
+ 86: 'indoor_wheelchair_walk',
959
+ 87: 'indoor_wheelchair_run',
960
+ 88: 'indoor_hand_cycling',
961
+ 90: 'field',
962
+ 91: 'ice',
963
+ 92: 'ultimate',
964
+ 93: 'platform',
965
+ 94: 'squash',
966
+ 95: 'badminton',
967
+ 96: 'racquetball',
968
+ 97: 'table_tennis',
969
+ 98: 'overland',
970
+ 99: 'trolling_motor',
971
+ 110: 'fly_canopy',
972
+ 111: 'fly_paraglide',
973
+ 112: 'fly_paramotor',
974
+ 113: 'fly_pressurized',
975
+ 114: 'fly_navigate',
976
+ 115: 'fly_timer',
977
+ 116: 'fly_altimeter',
978
+ 117: 'fly_wx',
979
+ 118: 'fly_vfr',
980
+ 119: 'fly_ifr',
981
+ 121: 'dynamic_apnea',
982
+ 123: 'enduro',
983
+ 124: 'rucking',
984
+ 125: 'rally',
985
+ 126: 'pool_triathlon',
986
+ 127: 'e_bike_enduro',
987
+ 153: 'mountain_enduro',
988
+ 154: 'mountain_downhill',
989
+ 254: 'all',
990
+ };