endurance-coach 0.1.1 → 1.0.0
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.
- package/README.md +3 -0
- package/dist/cli.js +318 -35
- package/dist/expander/expander.d.ts +20 -0
- package/dist/expander/expander.js +339 -0
- package/dist/expander/index.d.ts +8 -0
- package/dist/expander/index.js +9 -0
- package/dist/expander/types.d.ts +169 -0
- package/dist/expander/types.js +6 -0
- package/dist/expander/zones.d.ts +50 -0
- package/dist/expander/zones.js +159 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +9 -1
- package/dist/schema/compact-plan.d.ts +175 -0
- package/dist/schema/compact-plan.js +64 -0
- package/dist/schema/compact-plan.schema.d.ts +277 -0
- package/dist/schema/compact-plan.schema.js +205 -0
- package/dist/templates/index.d.ts +10 -0
- package/dist/templates/index.js +13 -0
- package/dist/templates/interpolate.d.ts +51 -0
- package/dist/templates/interpolate.js +204 -0
- package/dist/templates/loader.d.ts +19 -0
- package/dist/templates/loader.js +129 -0
- package/dist/templates/template.schema.d.ts +401 -0
- package/dist/templates/template.schema.js +101 -0
- package/dist/templates/template.types.d.ts +155 -0
- package/dist/templates/template.types.js +7 -0
- package/dist/templates/yaml-parser.d.ts +15 -0
- package/dist/templates/yaml-parser.js +18 -0
- package/package.json +2 -1
- package/templates/bike/CLAUDE.md +7 -0
- package/templates/bike/easy.yaml +38 -0
- package/templates/bike/endurance.yaml +42 -0
- package/templates/bike/hills.yaml +80 -0
- package/templates/bike/overunders.yaml +81 -0
- package/templates/bike/rest.yaml +16 -0
- package/templates/bike/sweetspot.yaml +80 -0
- package/templates/bike/tempo.yaml +79 -0
- package/templates/bike/threshold.yaml +83 -0
- package/templates/bike/vo2max.yaml +84 -0
- package/templates/brick/CLAUDE.md +7 -0
- package/templates/brick/halfironman.yaml +72 -0
- package/templates/brick/ironman.yaml +72 -0
- package/templates/brick/olympic.yaml +70 -0
- package/templates/brick/sprint.yaml +70 -0
- package/templates/plan-viewer.html +22 -22
- package/templates/run/CLAUDE.md +7 -0
- package/templates/run/easy.yaml +36 -0
- package/templates/run/fartlek.yaml +40 -0
- package/templates/run/hills.yaml +36 -0
- package/templates/run/intervals.1k.yaml +63 -0
- package/templates/run/intervals.400.yaml +63 -0
- package/templates/run/intervals.800.yaml +63 -0
- package/templates/run/intervals.mile.yaml +64 -0
- package/templates/run/long.yaml +41 -0
- package/templates/run/progression.yaml +49 -0
- package/templates/run/race.5k.yaml +36 -0
- package/templates/run/recovery.yaml +36 -0
- package/templates/run/rest.yaml +16 -0
- package/templates/run/strides.yaml +49 -0
- package/templates/run/tempo.yaml +56 -0
- package/templates/run/threshold.yaml +56 -0
- package/templates/strength/CLAUDE.md +7 -0
- package/templates/strength/core.yaml +56 -0
- package/templates/strength/foundation.yaml +65 -0
- package/templates/strength/full.yaml +73 -0
- package/templates/strength/maintenance.yaml +62 -0
- package/templates/swim/CLAUDE.md +7 -0
- package/templates/swim/aerobic.yaml +67 -0
- package/templates/swim/easy.yaml +51 -0
- package/templates/swim/openwater.yaml +60 -0
- package/templates/swim/rest.yaml +16 -0
- package/templates/swim/technique.yaml +67 -0
- package/templates/swim/threshold.yaml +75 -0
- package/templates/swim/vo2max.yaml +88 -0
|
@@ -10,54 +10,54 @@
|
|
|
10
10
|
href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700&family=JetBrains+Mono:wght@400;500&display=swap"
|
|
11
11
|
rel="stylesheet"
|
|
12
12
|
/>
|
|
13
|
-
<script type="module" crossorigin>(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&n(l)}).observe(document,{childList:!0,subtree:!0});function t(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=t(i);fetch(i.href,a)}})();const On="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(On);const zn=1,Nn=2,xa=4,Wn=8,Un=16,Hn=1,jn=2,ze=Symbol(),Gn="http://www.w3.org/1999/xhtml",Ot=!1;var Zt=Array.isArray,Zn=Array.prototype.indexOf,xt=Array.from,Kn=Object.defineProperty,at=Object.getOwnPropertyDescriptor,qn=Object.getOwnPropertyDescriptors,Vn=Object.prototype,Jn=Array.prototype,Ea=Object.getPrototypeOf,oa=Object.isExtensible;function Yn(e){for(var s=0;s<e.length;s++)e[s]()}function Pa(){var e,s,t=new Promise((n,i)=>{e=n,s=i});return{promise:t,resolve:e,reject:s}}function Ra(e,s){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const t=[];for(const n of e)if(t.push(n),t.length===s)break;return t}const Ne=2,wt=4,Et=8,Ia=1<<24,bs=16,ys=32,Ns=64,Kt=128,ts=512,We=1024,He=2048,gs=4096,Ye=8192,_s=16384,qt=32768,Zs=65536,ra=1<<17,Da=1<<18,Js=1<<19,Xn=1<<20,fs=1<<25,Ms=32768,zt=1<<21,Vt=1<<22,ks=1<<23,Gs=Symbol("$state"),Us=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Qn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function $n(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function ei(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function si(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ti(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function ai(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ni(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function ii(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function li(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function oi(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ri(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function La(e){return e===this.v}function ui(e,s){return e!=e?s==s:e!==s||e!==null&&typeof e=="object"||typeof e=="function"}function Ba(e){return!ui(e,this.v)}let ci=!1,as=null;function Ks(e){as=e}function us(e,s=!1,t){as={p:as,i:!1,c:null,e:null,s:e,x:null,l:null}}function cs(e){var s=as,t=s.e;if(t!==null){s.e=null;for(var n of t)$a(n)}return s.i=!0,as=s.p,{}}function Ma(){return!0}let Ps=[];function Oa(){var e=Ps;Ps=[],Yn(e)}function Ys(e){if(Ps.length===0&&!it){var s=Ps;queueMicrotask(()=>{s===Ps&&Oa()})}Ps.push(e)}function mi(){for(;Ps.length>0;)Oa()}function za(e){var s=Se;if(s===null)return Ae.f|=ks,e;if((s.f&qt)===0){if((s.f&Kt)===0)throw e;s.b.error(e)}else qs(e,s)}function qs(e,s){for(;s!==null;){if((s.f&Kt)!==0)try{s.b.error(e);return}catch(t){e=t}s=s.parent}throw e}const fi=-7169;function Be(e,s){e.f=e.f&fi|s}function Jt(e){(e.f&ts)!==0||e.deps===null?Be(e,We):Be(e,gs)}function Na(e){if(e!==null)for(const s of e)(s.f&Ne)===0||(s.f&Ms)===0||(s.f^=Ms,Na(s.deps))}function Wa(e,s,t){(e.f&He)!==0?s.add(e):(e.f&gs)!==0&&t.add(e),Na(e.deps),Be(e,We)}const ht=new Set;let ke=null,nt=null,ns=null,$e=[],Pt=null,Nt=!1,it=!1;class os{committed=!1;current=new Map;previous=new Map;#s=new Set;#e=new Set;#t=0;#n=0;#l=null;#i=new Set;#a=new Set;skipped_effects=new Set;is_fork=!1;is_deferred(){return this.is_fork||this.#n>0}process(s){$e=[],nt=null,this.apply();var t=[],n=[];for(const i of s)this.#u(i,t,n);this.is_fork||this.#c(),this.is_deferred()?(this.#r(n),this.#r(t)):(nt=this,ke=null,ua(n),ua(t),nt=null,this.#l?.resolve()),ns=null}#u(s,t,n){s.f^=We;for(var i=s.first,a=null;i!==null;){var l=i.f,o=(l&(ys|Ns))!==0,r=o&&(l&We)!==0,m=r||(l&Ye)!==0||this.skipped_effects.has(i);if(!m&&i.fn!==null){o?i.f^=We:a!==null&&(l&(wt|Et|Ia))!==0?a.b.defer_effect(i):(l&wt)!==0?t.push(i):pt(i)&&((l&bs)!==0&&this.#i.add(i),ct(i));var y=i.first;if(y!==null){i=y;continue}}var g=i.parent;for(i=i.next;i===null&&g!==null;)g===a&&(a=null),i=g.next,g=g.parent}}#r(s){for(var t=0;t<s.length;t+=1)Wa(s[t],this.#i,this.#a)}capture(s,t){t!==ze&&!this.previous.has(s)&&this.previous.set(s,t),(s.f&ks)===0&&(this.current.set(s,s.v),ns?.set(s,s.v))}activate(){ke=this,this.apply()}deactivate(){ke===this&&(ke=null,ns=null)}flush(){if(this.activate(),$e.length>0){if(Ua(),ke!==null&&ke!==this)return}else this.#t===0&&this.process([]);this.deactivate()}discard(){for(const s of this.#e)s(this);this.#e.clear()}#c(){if(this.#n===0){for(const s of this.#s)s();this.#s.clear()}this.#t===0&&this.#m()}#m(){if(ht.size>1){this.previous.clear();var s=ns,t=!0;for(const i of ht){if(i===this){t=!1;continue}const a=[];for(const[o,r]of this.current){if(i.current.has(o))if(t&&r!==i.current.get(o))i.current.set(o,r);else continue;a.push(o)}if(a.length===0)continue;const l=[...i.current.keys()].filter(o=>!this.current.has(o));if(l.length>0){var n=$e;$e=[];const o=new Set,r=new Map;for(const m of a)Ha(m,l,o,r);if($e.length>0){ke=i,i.apply();for(const m of $e)i.#u(m,[],[]);i.deactivate()}$e=n}}ke=null,ns=s}this.committed=!0,ht.delete(this)}increment(s){this.#t+=1,s&&(this.#n+=1)}decrement(s){this.#t-=1,s&&(this.#n-=1),this.revive()}revive(){for(const s of this.#i)this.#a.delete(s),Be(s,He),hs(s);for(const s of this.#a)Be(s,gs),hs(s);this.flush()}oncommit(s){this.#s.add(s)}ondiscard(s){this.#e.add(s)}settled(){return(this.#l??=Pa()).promise}static ensure(){if(ke===null){const s=ke=new os;ht.add(ke),it||os.enqueue(()=>{ke===s&&s.flush()})}return ke}static enqueue(s){Ys(s)}apply(){}}function pi(e){var s=it;it=!0;try{for(var t;;){if(mi(),$e.length===0&&(ke?.flush(),$e.length===0))return Pt=null,t;Ua()}}finally{it=s}}function Ua(){var e=Ds;Nt=!0;var s=null;try{var t=0;for(_t(!0);$e.length>0;){var n=os.ensure();if(t++>1e3){var i,a;di()}n.process($e),Ss.clear()}}finally{Nt=!1,_t(e),Pt=null}}function di(){try{ti()}catch(e){qs(e,Pt)}}let ms=null;function ua(e){var s=e.length;if(s!==0){for(var t=0;t<s;){var n=e[t++];if((n.f&(_s|Ye))===0&&pt(n)&&(ms=new Set,ct(n),n.deps===null&&n.first===null&&n.nodes===null&&(n.teardown===null&&n.ac===null?an(n):n.fn=null),ms?.size>0)){Ss.clear();for(const i of ms){if((i.f&(_s|Ye))!==0)continue;const a=[i];let l=i.parent;for(;l!==null;)ms.has(l)&&(ms.delete(l),a.push(l)),l=l.parent;for(let o=a.length-1;o>=0;o--){const r=a[o];(r.f&(_s|Ye))===0&&ct(r)}}ms.clear()}}ms=null}}function Ha(e,s,t,n){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const i of e.reactions){const a=i.f;(a&Ne)!==0?Ha(i,s,t,n):(a&(Vt|bs))!==0&&(a&He)===0&&ja(i,s,n)&&(Be(i,He),hs(i))}}function ja(e,s,t){const n=t.get(e);if(n!==void 0)return n;if(e.deps!==null)for(const i of e.deps){if(s.includes(i))return!0;if((i.f&Ne)!==0&&ja(i,s,t))return t.set(i,!0),!0}return t.set(e,!1),!1}function hs(e){for(var s=Pt=e;s.parent!==null;){s=s.parent;var t=s.f;if(Nt&&s===Se&&(t&bs)!==0&&(t&Da)===0)return;if((t&(Ns|ys))!==0){if((t&We)===0)return;s.f^=We}}$e.push(s)}function hi(e){let s=0,t=Os(0),n;return()=>{Qt()&&(A(t),ea(()=>(s===0&&(n=Ve(()=>e(()=>lt(t)))),s+=1,()=>{Ys(()=>{s-=1,s===0&&(n?.(),n=void 0,lt(t))})})))}}var bi=Zs|Js|Kt;function yi(e,s,t){new gi(e,s,t)}class gi{parent;is_pending=!1;#s;#e=null;#t;#n;#l;#i=null;#a=null;#u=null;#r=null;#c=null;#m=0;#o=0;#f=!1;#d=new Set;#h=new Set;#p=null;#T=hi(()=>(this.#p=Os(this.#m),()=>{this.#p=null}));constructor(s,t,n){this.#s=s,this.#t=t,this.#n=n,this.parent=Se.b,this.is_pending=!!this.#t.pending,this.#l=sa(()=>{Se.b=this;{var i=this.#g();try{this.#i=es(()=>n(i))}catch(a){this.error(a)}this.#o>0?this.#y():this.is_pending=!1}return()=>{this.#c?.remove()}},bi)}#C(){try{this.#i=es(()=>this.#n(this.#s))}catch(s){this.error(s)}}#w(){const s=this.#t.pending;s&&(this.#a=es(()=>s(this.#s)),os.enqueue(()=>{var t=this.#g();this.#i=this.#b(()=>(os.ensure(),es(()=>this.#n(t)))),this.#o>0?this.#y():(Is(this.#a,()=>{this.#a=null}),this.is_pending=!1)}))}#g(){var s=this.#s;return this.is_pending&&(this.#c=xs(),this.#s.before(this.#c),s=this.#c),s}defer_effect(s){Wa(s,this.#d,this.#h)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#t.pending}#b(s){var t=Se,n=Ae,i=as;rs(this.#l),Ge(this.#l),Ks(this.#l.ctx);try{return s()}catch(a){return za(a),null}finally{rs(t),Ge(n),Ks(i)}}#y(){const s=this.#t.pending;this.#i!==null&&(this.#r=document.createDocumentFragment(),this.#r.append(this.#c),on(this.#i,this.#r)),this.#a===null&&(this.#a=es(()=>s(this.#s)))}#v(s){if(!this.has_pending_snippet()){this.parent&&this.parent.#v(s);return}if(this.#o+=s,this.#o===0){this.is_pending=!1;for(const t of this.#d)Be(t,He),hs(t);for(const t of this.#h)Be(t,gs),hs(t);this.#d.clear(),this.#h.clear(),this.#a&&Is(this.#a,()=>{this.#a=null}),this.#r&&(this.#s.before(this.#r),this.#r=null)}}update_pending_count(s){this.#v(s),this.#m+=s,this.#p&&Vs(this.#p,this.#m)}get_effect_pending(){return this.#T(),A(this.#p)}error(s){var t=this.#t.onerror;let n=this.#t.failed;if(this.#f||!t&&!n)throw s;this.#i&&(Ze(this.#i),this.#i=null),this.#a&&(Ze(this.#a),this.#a=null),this.#u&&(Ze(this.#u),this.#u=null);var i=!1,a=!1;const l=()=>{if(i){ri();return}i=!0,a&&li(),os.ensure(),this.#m=0,this.#u!==null&&Is(this.#u,()=>{this.#u=null}),this.is_pending=this.has_pending_snippet(),this.#i=this.#b(()=>(this.#f=!1,es(()=>this.#n(this.#s)))),this.#o>0?this.#y():this.is_pending=!1};var o=Ae;try{Ge(null),a=!0,t?.(s,l),a=!1}catch(r){qs(r,this.#l&&this.#l.parent)}finally{Ge(o)}n&&Ys(()=>{this.#u=this.#b(()=>{os.ensure(),this.#f=!0;try{return es(()=>{n(this.#s,()=>s,()=>l)})}catch(r){return qs(r,this.#l.parent),null}finally{this.#f=!1}})})}}function vi(e,s,t,n){const i=Yt;if(t.length===0&&e.length===0){n(s.map(i));return}var a=ke,l=Se,o=Ti();function r(){Promise.all(t.map(m=>Ci(m))).then(m=>{o();try{n([...s.map(i),...m])}catch(y){(l.f&_s)===0&&qs(y,l)}a?.deactivate(),At()}).catch(m=>{qs(m,l)})}e.length>0?Promise.all(e).then(()=>{o();try{return r()}finally{a?.deactivate(),At()}}):r()}function Ti(){var e=Se,s=Ae,t=as,n=ke;return function(a=!0){rs(e),Ge(s),Ks(t),a&&n?.activate()}}function At(){rs(null),Ge(null),Ks(null)}function Yt(e){var s=Ne|He,t=Ae!==null&&(Ae.f&Ne)!==0?Ae:null;return Se!==null&&(Se.f|=Js),{ctx:as,deps:null,effects:null,equals:La,f:s,fn:e,reactions:null,rv:0,v:ze,wv:0,parent:t??Se,ac:null}}function Ci(e,s,t){let n=Se;n===null&&Qn();var i=n.b,a=void 0,l=Os(ze),o=!Ae,r=new Map;return Di(()=>{var m=Pa();a=m.promise;try{Promise.resolve(e()).then(m.resolve,m.reject).then(()=>{y===ke&&y.committed&&y.deactivate(),At()})}catch(c){m.reject(c),At()}var y=ke;if(o){var g=i.is_rendered();i.update_pending_count(1),y.increment(g),r.get(y)?.reject(Us),r.delete(y),r.set(y,m)}const h=(c,T=void 0)=>{if(y.activate(),T)T!==Us&&(l.f|=ks,Vs(l,T));else{(l.f&ks)!==0&&(l.f^=ks),Vs(l,c);for(const[p,d]of r){if(r.delete(p),p===y)break;d.reject(Us)}}o&&(i.update_pending_count(-1),y.decrement(g))};m.promise.then(h,c=>h(null,c||"unknown"))}),$t(()=>{for(const m of r.values())m.reject(Us)}),new Promise(m=>{function y(g){function h(){g===a?m(l):y(a)}g.then(h,h)}y(a)})}function Re(e){const s=Yt(e);return rn(s),s}function wi(e){const s=Yt(e);return s.equals=Ba,s}function Ga(e){var s=e.effects;if(s!==null){e.effects=null;for(var t=0;t<s.length;t+=1)Ze(s[t])}}function Ai(e){for(var s=e.parent;s!==null;){if((s.f&Ne)===0)return(s.f&_s)===0?s:null;s=s.parent}return null}function Xt(e){var s,t=Se;rs(Ai(e));try{e.f&=~Ms,Ga(e),s=fn(e)}finally{rs(t)}return s}function Za(e){var s=Xt(e);if(!e.equals(s)&&(e.wv=cn(),(!ke?.is_fork||e.deps===null)&&(e.v=s,e.deps===null))){Be(e,We);return}zs||(ns!==null?(Qt()||ke?.is_fork)&&ns.set(e,s):Jt(e))}let Wt=new Set;const Ss=new Map;let Ka=!1;function Os(e,s){var t={f:0,v:e,reactions:null,equals:La,rv:0,wv:0};return t}function we(e,s){const t=Os(e);return rn(t),t}function Fi(e,s=!1,t=!0){const n=Os(e);return s||(n.equals=Ba),n}function ee(e,s,t=!1){Ae!==null&&(!is||(Ae.f&ra)!==0)&&Ma()&&(Ae.f&(Ne|bs|Vt|ra))!==0&&!ps?.includes(e)&&ii();let n=t?De(s):s;return Vs(e,n)}function Vs(e,s){if(!e.equals(s)){var t=e.v;zs?Ss.set(e,s):Ss.set(e,t),e.v=s;var n=os.ensure();if(n.capture(e,t),(e.f&Ne)!==0){const i=e;(e.f&He)!==0&&Xt(i),Jt(i)}e.wv=cn(),qa(e,He),Se!==null&&(Se.f&We)!==0&&(Se.f&(ys|Ns))===0&&(Qe===null?Mi([e]):Qe.push(e)),!n.is_fork&&Wt.size>0&&!Ka&&_i()}return s}function _i(){Ka=!1;var e=Ds;_t(!0);const s=Array.from(Wt);try{for(const t of s)(t.f&We)!==0&&Be(t,gs),pt(t)&&ct(t)}finally{_t(e)}Wt.clear()}function lt(e){ee(e,e.v+1)}function qa(e,s){var t=e.reactions;if(t!==null)for(var n=t.length,i=0;i<n;i++){var a=t[i],l=a.f,o=(l&He)===0;if(o&&Be(a,s),(l&Ne)!==0){var r=a;ns?.delete(r),(l&Ms)===0&&(l&ts&&(a.f|=Ms),qa(r,gs))}else o&&((l&bs)!==0&&ms!==null&&ms.add(a),hs(a))}}function De(e){if(typeof e!="object"||e===null||Gs in e)return e;const s=Ea(e);if(s!==Vn&&s!==Jn)return e;var t=new Map,n=Zt(e),i=we(0),a=Ls,l=o=>{if(Ls===a)return o();var r=Ae,m=Ls;Ge(null),da(a);var y=o();return Ge(r),da(m),y};return n&&t.set("length",we(e.length)),new Proxy(e,{defineProperty(o,r,m){(!("value"in m)||m.configurable===!1||m.enumerable===!1||m.writable===!1)&&ai();var y=t.get(r);return y===void 0?y=l(()=>{var g=we(m.value);return t.set(r,g),g}):ee(y,m.value,!0),!0},deleteProperty(o,r){var m=t.get(r);if(m===void 0){if(r in o){const y=l(()=>we(ze));t.set(r,y),lt(i)}}else ee(m,ze),lt(i);return!0},get(o,r,m){if(r===Gs)return e;var y=t.get(r),g=r in o;if(y===void 0&&(!g||at(o,r)?.writable)&&(y=l(()=>{var c=De(g?o[r]:ze),T=we(c);return T}),t.set(r,y)),y!==void 0){var h=A(y);return h===ze?void 0:h}return Reflect.get(o,r,m)},getOwnPropertyDescriptor(o,r){var m=Reflect.getOwnPropertyDescriptor(o,r);if(m&&"value"in m){var y=t.get(r);y&&(m.value=A(y))}else if(m===void 0){var g=t.get(r),h=g?.v;if(g!==void 0&&h!==ze)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return m},has(o,r){if(r===Gs)return!0;var m=t.get(r),y=m!==void 0&&m.v!==ze||Reflect.has(o,r);if(m!==void 0||Se!==null&&(!y||at(o,r)?.writable)){m===void 0&&(m=l(()=>{var h=y?De(o[r]):ze,c=we(h);return c}),t.set(r,m));var g=A(m);if(g===ze)return!1}return y},set(o,r,m,y){var g=t.get(r),h=r in o;if(n&&r==="length")for(var c=m;c<g.v;c+=1){var T=t.get(c+"");T!==void 0?ee(T,ze):c in o&&(T=l(()=>we(ze)),t.set(c+"",T))}if(g===void 0)(!h||at(o,r)?.writable)&&(g=l(()=>we(void 0)),ee(g,De(m)),t.set(r,g));else{h=g.v!==ze;var p=l(()=>De(m));ee(g,p)}var d=Reflect.getOwnPropertyDescriptor(o,r);if(d?.set&&d.set.call(y,m),!h){if(n&&typeof r=="string"){var b=t.get("length"),w=Number(r);Number.isInteger(w)&&w>=b.v&&ee(b,w+1)}lt(i)}return!0},ownKeys(o){A(i);var r=Reflect.ownKeys(o).filter(g=>{var h=t.get(g);return h===void 0||h.v!==ze});for(var[m,y]of t)y.v!==ze&&!(m in o)&&r.push(m);return r},setPrototypeOf(){ni()}})}function ca(e){try{if(e!==null&&typeof e=="object"&&Gs in e)return e[Gs]}catch{}return e}function ki(e,s){return Object.is(ca(e),ca(s))}var ut,Va,Ja,Ya;function Si(){if(ut===void 0){ut=window,Va=/Firefox/.test(navigator.userAgent);var e=Element.prototype,s=Node.prototype,t=Text.prototype;Ja=at(s,"firstChild").get,Ya=at(s,"nextSibling").get,oa(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),oa(t)&&(t.__t=void 0)}}function xs(e=""){return document.createTextNode(e)}function Ft(e){return Ja.call(e)}function ft(e){return Ya.call(e)}function D(e,s){return Ft(e)}function Je(e,s=!1){{var t=Ft(e);return t instanceof Comment&&t.data===""?ft(t):t}}function I(e,s=1,t=!1){let n=e;for(;s--;)n=ft(n);return n}function xi(e){e.textContent=""}function Xa(){return!1}let ma=!1;function Ei(){ma||(ma=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const s of e.target.elements)s.__on_r?.()})},{capture:!0}))}function Rt(e){var s=Ae,t=Se;Ge(null),rs(null);try{return e()}finally{Ge(s),rs(t)}}function Qa(e,s,t,n=t){e.addEventListener(s,()=>Rt(t));const i=e.__on_r;i?e.__on_r=()=>{i(),n(!0)}:e.__on_r=()=>n(!0),Ei()}function Pi(e){Se===null&&(Ae===null&&si(),ei()),zs&&$n()}function Ri(e,s){var t=s.last;t===null?s.last=s.first=e:(t.next=e,e.prev=t,s.last=e)}function vs(e,s,t){var n=Se;n!==null&&(n.f&Ye)!==0&&(e|=Ye);var i={ctx:as,deps:null,nodes:null,f:e|He|ts,first:null,fn:s,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};if(t)try{ct(i),i.f|=qt}catch(o){throw Ze(i),o}else s!==null&&hs(i);var a=i;if(t&&a.deps===null&&a.teardown===null&&a.nodes===null&&a.first===a.last&&(a.f&Js)===0&&(a=a.first,(e&bs)!==0&&(e&Zs)!==0&&a!==null&&(a.f|=Zs)),a!==null&&(a.parent=n,n!==null&&Ri(a,n),Ae!==null&&(Ae.f&Ne)!==0&&(e&Ns)===0)){var l=Ae;(l.effects??=[]).push(a)}return i}function Qt(){return Ae!==null&&!is}function $t(e){const s=vs(Et,null,!1);return Be(s,We),s.teardown=e,s}function fa(e){Pi();var s=Se.f,t=!Ae&&(s&ys)!==0&&(s&qt)===0;if(t){var n=as;(n.e??=[]).push(e)}else return $a(e)}function $a(e){return vs(wt|Xn,e,!1)}function Ii(e){os.ensure();const s=vs(Ns|Js,e,!0);return(t={})=>new Promise(n=>{t.outro?Is(s,()=>{Ze(s),n(void 0)}):(Ze(s),n(void 0))})}function en(e){return vs(wt,e,!1)}function Di(e){return vs(Vt|Js,e,!0)}function ea(e,s=0){return vs(Et|s,e,!0)}function Fe(e,s=[],t=[],n=[]){vi(n,s,t,i=>{vs(Et,()=>e(...i.map(A)),!0)})}function sa(e,s=0){var t=vs(bs|s,e,!0);return t}function es(e){return vs(ys|Js,e,!0)}function sn(e){var s=e.teardown;if(s!==null){const t=zs,n=Ae;pa(!0),Ge(null);try{s.call(null)}finally{pa(t),Ge(n)}}}function tn(e,s=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const i=t.ac;i!==null&&Rt(()=>{i.abort(Us)});var n=t.next;(t.f&Ns)!==0?t.parent=null:Ze(t,s),t=n}}function Li(e){for(var s=e.first;s!==null;){var t=s.next;(s.f&ys)===0&&Ze(s),s=t}}function Ze(e,s=!0){var t=!1;(s||(e.f&Da)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Bi(e.nodes.start,e.nodes.end),t=!0),tn(e,s&&!t),kt(e,0),Be(e,_s);var n=e.nodes&&e.nodes.t;if(n!==null)for(const a of n)a.stop();sn(e);var i=e.parent;i!==null&&i.first!==null&&an(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Bi(e,s){for(;e!==null;){var t=e===s?null:ft(e);e.remove(),e=t}}function an(e){var s=e.parent,t=e.prev,n=e.next;t!==null&&(t.next=n),n!==null&&(n.prev=t),s!==null&&(s.first===e&&(s.first=n),s.last===e&&(s.last=t))}function Is(e,s,t=!0){var n=[];nn(e,n,!0);var i=()=>{t&&Ze(e),s&&s()},a=n.length;if(a>0){var l=()=>--a||i();for(var o of n)o.out(l)}else i()}function nn(e,s,t){if((e.f&Ye)===0){e.f^=Ye;var n=e.nodes&&e.nodes.t;if(n!==null)for(const o of n)(o.is_global||t)&&s.push(o);for(var i=e.first;i!==null;){var a=i.next,l=(i.f&Zs)!==0||(i.f&ys)!==0&&(e.f&bs)!==0;nn(i,s,l?t:!1),i=a}}}function ta(e){ln(e,!0)}function ln(e,s){if((e.f&Ye)!==0){e.f^=Ye,(e.f&We)===0&&(Be(e,He),hs(e));for(var t=e.first;t!==null;){var n=t.next,i=(t.f&Zs)!==0||(t.f&ys)!==0;ln(t,i?s:!1),t=n}var a=e.nodes&&e.nodes.t;if(a!==null)for(const l of a)(l.is_global||s)&&l.in()}}function on(e,s){if(e.nodes)for(var t=e.nodes.start,n=e.nodes.end;t!==null;){var i=t===n?null:ft(t);s.append(t),t=i}}let Ds=!1;function _t(e){Ds=e}let zs=!1;function pa(e){zs=e}let Ae=null,is=!1;function Ge(e){Ae=e}let Se=null;function rs(e){Se=e}let ps=null;function rn(e){Ae!==null&&(ps===null?ps=[e]:ps.push(e))}let je=null,qe=0,Qe=null;function Mi(e){Qe=e}let un=1,Rs=0,Ls=Rs;function da(e){Ls=e}function cn(){return++un}function pt(e){var s=e.f;if((s&He)!==0)return!0;if(s&Ne&&(e.f&=~Ms),(s&gs)!==0){for(var t=e.deps,n=t.length,i=0;i<n;i++){var a=t[i];if(pt(a)&&Za(a),a.wv>e.wv)return!0}(s&ts)!==0&&ns===null&&Be(e,We)}return!1}function mn(e,s,t=!0){var n=e.reactions;if(n!==null&&!ps?.includes(e))for(var i=0;i<n.length;i++){var a=n[i];(a.f&Ne)!==0?mn(a,s,!1):s===a&&(t?Be(a,He):(a.f&We)!==0&&Be(a,gs),hs(a))}}function fn(e){var s=je,t=qe,n=Qe,i=Ae,a=ps,l=as,o=is,r=Ls,m=e.f;je=null,qe=0,Qe=null,Ae=(m&(ys|Ns))===0?e:null,ps=null,Ks(e.ctx),is=!1,Ls=++Rs,e.ac!==null&&(Rt(()=>{e.ac.abort(Us)}),e.ac=null);try{e.f|=zt;var y=e.fn,g=y(),h=e.deps;if(je!==null){var c;if(kt(e,qe),h!==null&&qe>0)for(h.length=qe+je.length,c=0;c<je.length;c++)h[qe+c]=je[c];else e.deps=h=je;if(Qt()&&(e.f&ts)!==0)for(c=qe;c<h.length;c++)(h[c].reactions??=[]).push(e)}else h!==null&&qe<h.length&&(kt(e,qe),h.length=qe);if(Ma()&&Qe!==null&&!is&&h!==null&&(e.f&(Ne|gs|He))===0)for(c=0;c<Qe.length;c++)mn(Qe[c],e);if(i!==null&&i!==e){if(Rs++,i.deps!==null)for(let T=0;T<t;T+=1)i.deps[T].rv=Rs;if(s!==null)for(const T of s)T.rv=Rs;Qe!==null&&(n===null?n=Qe:n.push(...Qe))}return(e.f&ks)!==0&&(e.f^=ks),g}catch(T){return za(T)}finally{e.f^=zt,je=s,qe=t,Qe=n,Ae=i,ps=a,Ks(l),is=o,Ls=r}}function Oi(e,s){let t=s.reactions;if(t!==null){var n=Zn.call(t,e);if(n!==-1){var i=t.length-1;i===0?t=s.reactions=null:(t[n]=t[i],t.pop())}}if(t===null&&(s.f&Ne)!==0&&(je===null||!je.includes(s))){var a=s;(a.f&ts)!==0&&(a.f^=ts,a.f&=~Ms),Jt(a),Ga(a),kt(a,0)}}function kt(e,s){var t=e.deps;if(t!==null)for(var n=s;n<t.length;n++)Oi(e,t[n])}function ct(e){var s=e.f;if((s&_s)===0){Be(e,We);var t=Se,n=Ds;Se=e,Ds=!0;try{(s&(bs|Ia))!==0?Li(e):tn(e),sn(e);var i=fn(e);e.teardown=typeof i=="function"?i:null,e.wv=un;var a;Ot&&ci&&(e.f&He)!==0&&e.deps}finally{Ds=n,Se=t}}}async function zi(){await Promise.resolve(),pi()}function A(e){var s=e.f,t=(s&Ne)!==0;if(Ae!==null&&!is){var n=Se!==null&&(Se.f&_s)!==0;if(!n&&!ps?.includes(e)){var i=Ae.deps;if((Ae.f&zt)!==0)e.rv<Rs&&(e.rv=Rs,je===null&&i!==null&&i[qe]===e?qe++:je===null?je=[e]:je.push(e));else{(Ae.deps??=[]).push(e);var a=e.reactions;a===null?e.reactions=[Ae]:a.includes(Ae)||a.push(Ae)}}}if(zs&&Ss.has(e))return Ss.get(e);if(t){var l=e;if(zs){var o=l.v;return((l.f&We)===0&&l.reactions!==null||dn(l))&&(o=Xt(l)),Ss.set(l,o),o}var r=(l.f&ts)===0&&!is&&Ae!==null&&(Ds||(Ae.f&ts)!==0),m=l.deps===null;pt(l)&&(r&&(l.f|=ts),Za(l)),r&&!m&&pn(l)}if(ns?.has(e))return ns.get(e);if((e.f&ks)!==0)throw e.v;return e.v}function pn(e){if(e.deps!==null){e.f|=ts;for(const s of e.deps)(s.reactions??=[]).push(e),(s.f&Ne)!==0&&(s.f&ts)===0&&pn(s)}}function dn(e){if(e.v===ze)return!0;if(e.deps===null)return!1;for(const s of e.deps)if(Ss.has(s)||(s.f&Ne)!==0&&dn(s))return!0;return!1}function Ve(e){var s=is;try{return is=!0,e()}finally{is=s}}const hn=new Set,Ut=new Set;function Ni(e,s,t,n={}){function i(a){if(n.capture||st.call(s,a),!a.cancelBubble)return Rt(()=>t?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Ys(()=>{s.addEventListener(e,i,n)}):s.addEventListener(e,i,n),i}function Es(e,s,t,n,i){var a={capture:n,passive:i},l=Ni(e,s,t,a);(s===document.body||s===window||s===document||s instanceof HTMLMediaElement)&&$t(()=>{s.removeEventListener(e,l,a)})}function Ts(e){for(var s=0;s<e.length;s++)hn.add(e[s]);for(var t of Ut)t(e)}let ha=null;function st(e){var s=this,t=s.ownerDocument,n=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;ha=e;var l=0,o=ha===e&&e.__root;if(o){var r=i.indexOf(o);if(r!==-1&&(s===document||s===window)){e.__root=s;return}var m=i.indexOf(s);if(m===-1)return;r<=m&&(l=r)}if(a=i[l]||e.target,a!==s){Kn(e,"currentTarget",{configurable:!0,get(){return a||t}});var y=Ae,g=Se;Ge(null),rs(null);try{for(var h,c=[];a!==null;){var T=a.assignedSlot||a.parentNode||a.host||null;try{var p=a["__"+n];p!=null&&(!a.disabled||e.target===a)&&p.call(a,e)}catch(d){h?c.push(d):h=d}if(e.cancelBubble||T===s||T===null)break;a=T}if(h){for(let d of c)queueMicrotask(()=>{throw d});throw h}}finally{e.__root=s,delete e.currentTarget,Ge(y),rs(g)}}}function Wi(e){var s=document.createElement("template");return s.innerHTML=e.replaceAll("<!>","\x3C!---->"),s.content}function Ht(e,s){var t=Se;t.nodes===null&&(t.nodes={start:e,end:s,a:null,t:null})}function oe(e,s){var t=(s&Hn)!==0,n=(s&jn)!==0,i,a=!e.startsWith("<!>");return()=>{i===void 0&&(i=Wi(a?e:"<!>"+e),t||(i=Ft(i)));var l=n||Va?document.importNode(i,!0):i.cloneNode(!0);if(t){var o=Ft(l),r=l.lastChild;Ht(o,r)}else Ht(l,l);return l}}function ba(){var e=document.createDocumentFragment(),s=document.createComment(""),t=xs();return e.append(s,t),Ht(s,t),e}function ie(e,s){e!==null&&e.before(s)}const Ui=["touchstart","touchmove"];function Hi(e){return Ui.includes(e)}function pe(e,s){var t=s==null?"":typeof s=="object"?s+"":s;t!==(e.__t??=e.nodeValue)&&(e.__t=t,e.nodeValue=t+"")}function ji(e,s){return Gi(e,s)}const Ws=new Map;function Gi(e,{target:s,anchor:t,props:n={},events:i,context:a,intro:l=!0}){Si();var o=new Set,r=g=>{for(var h=0;h<g.length;h++){var c=g[h];if(!o.has(c)){o.add(c);var T=Hi(c);s.addEventListener(c,st,{passive:T});var p=Ws.get(c);p===void 0?(document.addEventListener(c,st,{passive:T}),Ws.set(c,1)):Ws.set(c,p+1)}}};r(xt(hn)),Ut.add(r);var m=void 0,y=Ii(()=>{var g=t??s.appendChild(xs());return yi(g,{pending:()=>{}},h=>{if(a){us({});var c=as;c.c=a}i&&(n.$$events=i),m=e(h,n)||{},a&&cs()}),()=>{for(var h of o){s.removeEventListener(h,st);var c=Ws.get(h);--c===0?(document.removeEventListener(h,st),Ws.delete(h)):Ws.set(h,c)}Ut.delete(r),g!==t&&g.parentNode?.removeChild(g)}});return Zi.set(m,y),m}let Zi=new WeakMap;class Ki{anchor;#s=new Map;#e=new Map;#t=new Map;#n=new Set;#l=!0;constructor(s,t=!0){this.anchor=s,this.#l=t}#i=()=>{var s=ke;if(this.#s.has(s)){var t=this.#s.get(s),n=this.#e.get(t);if(n)ta(n),this.#n.delete(t);else{var i=this.#t.get(t);i&&(this.#e.set(t,i.effect),this.#t.delete(t),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),n=i.effect)}for(const[a,l]of this.#s){if(this.#s.delete(a),a===s)break;const o=this.#t.get(l);o&&(Ze(o.effect),this.#t.delete(l))}for(const[a,l]of this.#e){if(a===t||this.#n.has(a))continue;const o=()=>{if(Array.from(this.#s.values()).includes(a)){var m=document.createDocumentFragment();on(l,m),m.append(xs()),this.#t.set(a,{effect:l,fragment:m})}else Ze(l);this.#n.delete(a),this.#e.delete(a)};this.#l||!n?(this.#n.add(a),Is(l,o,!1)):o()}}};#a=s=>{this.#s.delete(s);const t=Array.from(this.#s.values());for(const[n,i]of this.#t)t.includes(n)||(Ze(i.effect),this.#t.delete(n))};ensure(s,t){var n=ke,i=Xa();if(t&&!this.#e.has(s)&&!this.#t.has(s))if(i){var a=document.createDocumentFragment(),l=xs();a.append(l),this.#t.set(s,{effect:es(()=>t(l)),fragment:a})}else this.#e.set(s,es(()=>t(this.anchor)));if(this.#s.set(n,s),i){for(const[o,r]of this.#e)o===s?n.skipped_effects.delete(r):n.skipped_effects.add(r);for(const[o,r]of this.#t)o===s?n.skipped_effects.delete(r.effect):n.skipped_effects.add(r.effect);n.oncommit(this.#i),n.ondiscard(this.#a)}else this.#i()}}function Ce(e,s,t=!1){var n=new Ki(e),i=t?Zs:0;function a(l,o){n.ensure(l,o)}sa(()=>{var l=!1;s((o,r=!0)=>{l=!0,a(r,o)}),l||a(!1,null)},i)}function ss(e,s){return s}function qi(e,s,t){for(var n=[],i=s.length,a,l=s.length,o=0;o<i;o++){let g=s[o];Is(g,()=>{if(a){if(a.pending.delete(g),a.done.add(g),a.pending.size===0){var h=e.outrogroups;jt(xt(a.done)),h.delete(a),h.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var r=n.length===0&&t!==null;if(r){var m=t,y=m.parentNode;xi(y),y.append(m),e.items.clear()}jt(s,!r)}else a={pending:new Set(s),done:new Set},(e.outrogroups??=new Set).add(a)}function jt(e,s=!0){for(var t=0;t<e.length;t++)Ze(e[t],s)}var ya;function Ue(e,s,t,n,i,a=null){var l=e,o=new Map,r=(s&xa)!==0;if(r){var m=e;l=m.appendChild(xs())}var y=null,g=wi(()=>{var b=t();return Zt(b)?b:b==null?[]:xt(b)}),h,c=!0;function T(){d.fallback=y,Vi(d,h,l,s,n),y!==null&&(h.length===0?(y.f&fs)===0?ta(y):(y.f^=fs,tt(y,null,l)):Is(y,()=>{y=null}))}var p=sa(()=>{h=A(g);for(var b=h.length,w=new Set,k=ke,P=Xa(),_=0;_<b;_+=1){var W=h[_],R=n(W,_),G=c?null:o.get(R);G?(G.v&&Vs(G.v,W),G.i&&Vs(G.i,_),P&&k.skipped_effects.delete(G.e)):(G=Ji(o,c?l:ya??=xs(),W,R,_,i,s,t),c||(G.e.f|=fs),o.set(R,G)),w.add(R)}if(b===0&&a&&!y&&(c?y=es(()=>a(l)):(y=es(()=>a(ya??=xs())),y.f|=fs)),!c)if(P){for(const[O,Y]of o)w.has(O)||k.skipped_effects.add(Y.e);k.oncommit(T),k.ondiscard(()=>{})}else T();A(g)}),d={effect:p,items:o,outrogroups:null,fallback:y};c=!1}function Vi(e,s,t,n,i){var a=(n&Wn)!==0,l=s.length,o=e.items,r=e.effect.first,m,y=null,g,h=[],c=[],T,p,d,b;if(a)for(b=0;b<l;b+=1)T=s[b],p=i(T,b),d=o.get(p).e,(d.f&fs)===0&&(d.nodes?.a?.measure(),(g??=new Set).add(d));for(b=0;b<l;b+=1){if(T=s[b],p=i(T,b),d=o.get(p).e,e.outrogroups!==null)for(const Y of e.outrogroups)Y.pending.delete(d),Y.done.delete(d);if((d.f&fs)!==0)if(d.f^=fs,d===r)tt(d,null,t);else{var w=y?y.next:r;d===e.effect.last&&(e.effect.last=d.prev),d.prev&&(d.prev.next=d.next),d.next&&(d.next.prev=d.prev),As(e,y,d),As(e,d,w),tt(d,w,t),y=d,h=[],c=[],r=y.next;continue}if((d.f&Ye)!==0&&(ta(d),a&&(d.nodes?.a?.unfix(),(g??=new Set).delete(d))),d!==r){if(m!==void 0&&m.has(d)){if(h.length<c.length){var k=c[0],P;y=k.prev;var _=h[0],W=h[h.length-1];for(P=0;P<h.length;P+=1)tt(h[P],k,t);for(P=0;P<c.length;P+=1)m.delete(c[P]);As(e,_.prev,W.next),As(e,y,_),As(e,W,k),r=k,y=W,b-=1,h=[],c=[]}else m.delete(d),tt(d,r,t),As(e,d.prev,d.next),As(e,d,y===null?e.effect.first:y.next),As(e,y,d),y=d;continue}for(h=[],c=[];r!==null&&r!==d;)(m??=new Set).add(r),c.push(r),r=r.next;if(r===null)continue}(d.f&fs)===0&&h.push(d),y=d,r=d.next}if(e.outrogroups!==null){for(const Y of e.outrogroups)Y.pending.size===0&&(jt(xt(Y.done)),e.outrogroups?.delete(Y));e.outrogroups.size===0&&(e.outrogroups=null)}if(r!==null||m!==void 0){var R=[];if(m!==void 0)for(d of m)(d.f&Ye)===0&&R.push(d);for(;r!==null;)(r.f&Ye)===0&&r!==e.fallback&&R.push(r),r=r.next;var G=R.length;if(G>0){var O=(n&xa)!==0&&l===0?t:null;if(a){for(b=0;b<G;b+=1)R[b].nodes?.a?.measure();for(b=0;b<G;b+=1)R[b].nodes?.a?.fix()}qi(e,R,O)}}a&&Ys(()=>{if(g!==void 0)for(d of g)d.nodes?.a?.apply()})}function Ji(e,s,t,n,i,a,l,o){var r=(l&zn)!==0?(l&Un)===0?Fi(t,!1,!1):Os(t):null,m=(l&Nn)!==0?Os(i):null;return{v:r,i:m,e:es(()=>(a(s,r??t,m??i,o),()=>{e.delete(n)}))}}function tt(e,s,t){if(e.nodes)for(var n=e.nodes.start,i=e.nodes.end,a=s&&(s.f&fs)===0?s.nodes.start:t;n!==null;){var l=ft(n);if(a.before(n),n===i)return;n=l}}function As(e,s,t){s===null?e.effect.first=t:s.next=t,t===null?e.effect.last=s:t.prev=s}const ga=[...`
|
|
14
|
-
\r\f \v\uFEFF`];function
|
|
15
|
-
`);const i=
|
|
13
|
+
<script type="module" crossorigin>(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const o of n.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function a(i){if(i.ep)return;i.ep=!0;const n=t(i);fetch(i.href,n)}})();const Dn="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Dn);const Ln=1,Bn=2,Sa=4,Mn=8,On=16,zn=1,Nn=2,ze=Symbol(),Wn="http://www.w3.org/1999/xhtml",Ot=!1;var Zt=Array.isArray,Un=Array.prototype.indexOf,xt=Array.from,Hn=Object.defineProperty,tt=Object.getOwnPropertyDescriptor,jn=Object.getOwnPropertyDescriptors,Gn=Object.prototype,Zn=Array.prototype,xa=Object.getPrototypeOf,la=Object.isExtensible;function Kn(e){for(var s=0;s<e.length;s++)e[s]()}function Ea(){var e,s,t=new Promise((a,i)=>{e=a,s=i});return{promise:t,resolve:e,reject:s}}function Pa(e,s){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const t=[];for(const a of e)if(t.push(a),t.length===s)break;return t}const Oe=2,Kt=4,qt=8,qn=1<<24,bs=16,ys=32,Os=64,Et=128,ns=512,Ne=1024,Ze=2048,rs=4096,Ye=8192,Fs=16384,Vt=32768,js=65536,oa=1<<17,Ra=1<<18,qs=1<<19,Vn=1<<20,ps=1<<25,Ls=32768,zt=1<<21,Jt=1<<22,_s=1<<23,Hs=Symbol("$state"),Ns=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Jn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Yn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Xn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Qn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function $n(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function ei(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function si(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function ti(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function ai(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function ni(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ii(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Ia(e){return e===this.v}function li(e,s){return e!=e?s==s:e!==s||e!==null&&typeof e=="object"||typeof e=="function"}function Da(e){return!li(e,this.v)}let oi=!1,as=null;function Gs(e){as=e}function cs(e,s=!1,t){as={p:as,i:!1,c:null,e:null,s:e,x:null,l:null}}function ms(e){var s=as,t=s.e;if(t!==null){s.e=null;for(var a of t)Ja(a)}return s.i=!0,as=s.p,{}}function La(){return!0}let Es=[];function Ba(){var e=Es;Es=[],Kn(e)}function Vs(e){if(Es.length===0&&!nt){var s=Es;queueMicrotask(()=>{s===Es&&Ba()})}Es.push(e)}function ri(){for(;Es.length>0;)Ba()}function Ma(e){var s=Se;if(s===null)return Fe.f|=_s,e;if((s.f&Vt)===0){if((s.f&Et)===0)throw e;s.b.error(e)}else Zs(e,s)}function Zs(e,s){for(;s!==null;){if((s.f&Et)!==0)try{s.b.error(e);return}catch(t){e=t}s=s.parent}throw e}const bt=new Set;let ke=null,at=null,ts=null,$e=[],Pt=null,Nt=!1,nt=!1;class ls{committed=!1;current=new Map;previous=new Map;#s=new Set;#e=new Set;#t=0;#a=0;#u=null;#i=new Set;#n=new Set;skipped_effects=new Set;is_fork=!1;is_deferred(){return this.is_fork||this.#a>0}process(s){$e=[],at=null,this.apply();var t={parent:null,effect:null,effects:[],render_effects:[]};for(const a of s)this.#l(a,t);this.is_fork||this.#m(),this.is_deferred()?(this.#o(t.effects),this.#o(t.render_effects)):(at=this,ke=null,ra(t.render_effects),ra(t.effects),at=null,this.#u?.resolve()),ts=null}#l(s,t){s.f^=Ne;for(var a=s.first;a!==null;){var i=a.f,n=(i&(ys|Os))!==0,o=n&&(i&Ne)!==0,l=o||(i&Ye)!==0||this.skipped_effects.has(a);if((a.f&Et)!==0&&a.b?.is_pending()&&(t={parent:t,effect:a,effects:[],render_effects:[]}),!l&&a.fn!==null){n?a.f^=Ne:(i&Kt)!==0?t.effects.push(a):dt(a)&&((a.f&bs)!==0&&this.#i.add(a),mt(a));var r=a.first;if(r!==null){a=r;continue}}var m=a.parent;for(a=a.next;a===null&&m!==null;)m===t.effect&&(this.#o(t.effects),this.#o(t.render_effects),t=t.parent),a=m.next,m=m.parent}}#o(s){for(const t of s)(t.f&Ze)!==0?this.#i.add(t):(t.f&rs)!==0&&this.#n.add(t),this.#c(t.deps),We(t,Ne)}#c(s){if(s!==null)for(const t of s)(t.f&Oe)===0||(t.f&Ls)===0||(t.f^=Ls,this.#c(t.deps))}capture(s,t){this.previous.has(s)||this.previous.set(s,t),(s.f&_s)===0&&(this.current.set(s,s.v),ts?.set(s,s.v))}activate(){ke=this,this.apply()}deactivate(){ke===this&&(ke=null,ts=null)}flush(){if(this.activate(),$e.length>0){if(Oa(),ke!==null&&ke!==this)return}else this.#t===0&&this.process([]);this.deactivate()}discard(){for(const s of this.#e)s(this);this.#e.clear()}#m(){if(this.#a===0){for(const s of this.#s)s();this.#s.clear()}this.#t===0&&this.#r()}#r(){if(bt.size>1){this.previous.clear();var s=ts,t=!0,a={parent:null,effect:null,effects:[],render_effects:[]};for(const n of bt){if(n===this){t=!1;continue}const o=[];for(const[r,m]of this.current){if(n.current.has(r))if(t&&m!==n.current.get(r))n.current.set(r,m);else continue;o.push(r)}if(o.length===0)continue;const l=[...n.current.keys()].filter(r=>!this.current.has(r));if(l.length>0){var i=$e;$e=[];const r=new Set,m=new Map;for(const y of o)za(y,l,r,m);if($e.length>0){ke=n,n.apply();for(const y of $e)n.#l(y,a);n.deactivate()}$e=i}}ke=null,ts=s}this.committed=!0,bt.delete(this)}increment(s){this.#t+=1,s&&(this.#a+=1)}decrement(s){this.#t-=1,s&&(this.#a-=1),this.revive()}revive(){for(const s of this.#i)this.#n.delete(s),We(s,Ze),Bs(s);for(const s of this.#n)We(s,rs),Bs(s);this.flush()}oncommit(s){this.#s.add(s)}ondiscard(s){this.#e.add(s)}settled(){return(this.#u??=Ea()).promise}static ensure(){if(ke===null){const s=ke=new ls;bt.add(ke),nt||ls.enqueue(()=>{ke===s&&s.flush()})}return ke}static enqueue(s){Vs(s)}apply(){}}function ui(e){var s=nt;nt=!0;try{for(var t;;){if(ri(),$e.length===0&&(ke?.flush(),$e.length===0))return Pt=null,t;Oa()}}finally{nt=s}}function Oa(){var e=Rs;Nt=!0;var s=null;try{var t=0;for(_t(!0);$e.length>0;){var a=ls.ensure();if(t++>1e3){var i,n;ci()}a.process($e),ks.clear()}}finally{Nt=!1,_t(e),Pt=null}}function ci(){try{$n()}catch(e){Zs(e,Pt)}}let fs=null;function ra(e){var s=e.length;if(s!==0){for(var t=0;t<s;){var a=e[t++];if((a.f&(Fs|Ye))===0&&dt(a)&&(fs=new Set,mt(a),a.deps===null&&a.first===null&&a.nodes===null&&(a.teardown===null&&a.ac===null?$a(a):a.fn=null),fs?.size>0)){ks.clear();for(const i of fs){if((i.f&(Fs|Ye))!==0)continue;const n=[i];let o=i.parent;for(;o!==null;)fs.has(o)&&(fs.delete(o),n.push(o)),o=o.parent;for(let l=n.length-1;l>=0;l--){const r=n[l];(r.f&(Fs|Ye))===0&&mt(r)}}fs.clear()}}fs=null}}function za(e,s,t,a){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const i of e.reactions){const n=i.f;(n&Oe)!==0?za(i,s,t,a):(n&(Jt|bs))!==0&&(n&Ze)===0&&Na(i,s,a)&&(We(i,Ze),Bs(i))}}function Na(e,s,t){const a=t.get(e);if(a!==void 0)return a;if(e.deps!==null)for(const i of e.deps){if(s.includes(i))return!0;if((i.f&Oe)!==0&&Na(i,s,t))return t.set(i,!0),!0}return t.set(e,!1),!1}function Bs(e){for(var s=Pt=e;s.parent!==null;){s=s.parent;var t=s.f;if(Nt&&s===Se&&(t&bs)!==0&&(t&Ra)===0)return;if((t&(Os|ys))!==0){if((t&Ne)===0)return;s.f^=Ne}}$e.push(s)}function mi(e){let s=0,t=Ms(0),a;return()=>{ut()&&(A(t),$t(()=>(s===0&&(a=Ve(()=>e(()=>it(t)))),s+=1,()=>{Vs(()=>{s-=1,s===0&&(a?.(),a=void 0,it(t))})})))}}var fi=js|qs|Et;function pi(e,s,t){new di(e,s,t)}class di{parent;#s=!1;#e;#t=null;#a;#u;#i;#n=null;#l=null;#o=null;#c=null;#m=null;#r=0;#f=0;#d=!1;#p=null;#v=mi(()=>(this.#p=Ms(this.#r),()=>{this.#p=null}));constructor(s,t,a){this.#e=s,this.#a=t,this.#u=a,this.parent=Se.b,this.#s=!!this.#a.pending,this.#i=ea(()=>{Se.b=this;{var i=this.#y();try{this.#n=es(()=>a(i))}catch(n){this.error(n)}this.#f>0?this.#b():this.#s=!1}return()=>{this.#m?.remove()}},fi)}#T(){try{this.#n=es(()=>this.#u(this.#e))}catch(s){this.error(s)}this.#s=!1}#C(){const s=this.#a.pending;s&&(this.#l=es(()=>s(this.#e)),ls.enqueue(()=>{var t=this.#y();this.#n=this.#h(()=>(ls.ensure(),es(()=>this.#u(t)))),this.#f>0?this.#b():(Ps(this.#l,()=>{this.#l=null}),this.#s=!1)}))}#y(){var s=this.#e;return this.#s&&(this.#m=Ss(),this.#e.before(this.#m),s=this.#m),s}is_pending(){return this.#s||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#a.pending}#h(s){var t=Se,a=Fe,i=as;us(this.#i),je(this.#i),Gs(this.#i.ctx);try{return s()}catch(n){return Ma(n),null}finally{us(t),je(a),Gs(i)}}#b(){const s=this.#a.pending;this.#n!==null&&(this.#c=document.createDocumentFragment(),this.#c.append(this.#m),tn(this.#n,this.#c)),this.#l===null&&(this.#l=es(()=>s(this.#e)))}#g(s){if(!this.has_pending_snippet()){this.parent&&this.parent.#g(s);return}this.#f+=s,this.#f===0&&(this.#s=!1,this.#l&&Ps(this.#l,()=>{this.#l=null}),this.#c&&(this.#e.before(this.#c),this.#c=null))}update_pending_count(s){this.#g(s),this.#r+=s,this.#p&&Ks(this.#p,this.#r)}get_effect_pending(){return this.#v(),A(this.#p)}error(s){var t=this.#a.onerror;let a=this.#a.failed;if(this.#d||!t&&!a)throw s;this.#n&&(Ge(this.#n),this.#n=null),this.#l&&(Ge(this.#l),this.#l=null),this.#o&&(Ge(this.#o),this.#o=null);var i=!1,n=!1;const o=()=>{if(i){ii();return}i=!0,n&&ai(),ls.ensure(),this.#r=0,this.#o!==null&&Ps(this.#o,()=>{this.#o=null}),this.#s=this.has_pending_snippet(),this.#n=this.#h(()=>(this.#d=!1,es(()=>this.#u(this.#e)))),this.#f>0?this.#b():this.#s=!1};var l=Fe;try{je(null),n=!0,t?.(s,o),n=!1}catch(r){Zs(r,this.#i&&this.#i.parent)}finally{je(l)}a&&Vs(()=>{this.#o=this.#h(()=>{ls.ensure(),this.#d=!0;try{return es(()=>{a(this.#e,()=>s,()=>o)})}catch(r){return Zs(r,this.#i.parent),null}finally{this.#d=!1}})})}}function hi(e,s,t,a){const i=Yt;if(t.length===0&&e.length===0){a(s.map(i));return}var n=ke,o=Se,l=bi();function r(){Promise.all(t.map(m=>yi(m))).then(m=>{l();try{a([...s.map(i),...m])}catch(y){(o.f&Fs)===0&&Zs(y,o)}n?.deactivate(),At()}).catch(m=>{Zs(m,o)})}e.length>0?Promise.all(e).then(()=>{l();try{return r()}finally{n?.deactivate(),At()}}):r()}function bi(){var e=Se,s=Fe,t=as,a=ke;return function(n=!0){us(e),je(s),Gs(t),n&&a?.activate()}}function At(){us(null),je(null),Gs(null)}function Yt(e){var s=Oe|Ze,t=Fe!==null&&(Fe.f&Oe)!==0?Fe:null;return Se!==null&&(Se.f|=qs),{ctx:as,deps:null,effects:null,equals:Ia,f:s,fn:e,reactions:null,rv:0,v:ze,wv:0,parent:t??Se,ac:null}}function yi(e,s){let t=Se;t===null&&Jn();var a=t.b,i=void 0,n=Ms(ze),o=!Fe,l=new Map;return Ei(()=>{var r=Ea();i=r.promise;try{Promise.resolve(e()).then(r.resolve,r.reject).then(()=>{m===ke&&m.committed&&m.deactivate(),At()})}catch(d){r.reject(d),At()}var m=ke;if(o){var y=!a.is_pending();a.update_pending_count(1),m.increment(y),l.get(m)?.reject(Ns),l.delete(m),l.set(m,r)}const g=(d,c=void 0)=>{if(m.activate(),c)c!==Ns&&(n.f|=_s,Ks(n,c));else{(n.f&_s)!==0&&(n.f^=_s),Ks(n,d);for(const[T,p]of l){if(l.delete(T),T===m)break;p.reject(Ns)}}o&&(a.update_pending_count(-1),m.decrement(y))};r.promise.then(g,d=>g(null,d||"unknown"))}),Qt(()=>{for(const r of l.values())r.reject(Ns)}),new Promise(r=>{function m(y){function g(){y===i?r(n):m(i)}y.then(g,g)}m(i)})}function Re(e){const s=Yt(e);return an(s),s}function gi(e){const s=Yt(e);return s.equals=Da,s}function Wa(e){var s=e.effects;if(s!==null){e.effects=null;for(var t=0;t<s.length;t+=1)Ge(s[t])}}function vi(e){for(var s=e.parent;s!==null;){if((s.f&Oe)===0)return(s.f&Fs)===0?s:null;s=s.parent}return null}function Xt(e){var s,t=Se;us(vi(e));try{e.f&=~Ls,Wa(e),s=rn(e)}finally{us(t)}return s}function Ua(e){var s=Xt(e);if(e.equals(s)||(ke?.is_fork||(e.v=s),e.wv=ln()),!Js)if(ts!==null)(ut()||ke?.is_fork)&&ts.set(e,s);else{var t=(e.f&ns)===0?rs:Ne;We(e,t)}}let Wt=new Set;const ks=new Map;let Ha=!1;function Ms(e,s){var t={f:0,v:e,reactions:null,equals:Ia,rv:0,wv:0};return t}function we(e,s){const t=Ms(e);return an(t),t}function Ti(e,s=!1,t=!0){const a=Ms(e);return s||(a.equals=Da),a}function ee(e,s,t=!1){Fe!==null&&(!os||(Fe.f&oa)!==0)&&La()&&(Fe.f&(Oe|bs|Jt|oa))!==0&&!ds?.includes(e)&&ti();let a=t?De(s):s;return Ks(e,a)}function Ks(e,s){if(!e.equals(s)){var t=e.v;Js?ks.set(e,s):ks.set(e,t),e.v=s;var a=ls.ensure();a.capture(e,t),(e.f&Oe)!==0&&((e.f&Ze)!==0&&Xt(e),We(e,(e.f&ns)!==0?Ne:rs)),e.wv=ln(),ja(e,Ze),Se!==null&&(Se.f&Ne)!==0&&(Se.f&(ys|Os))===0&&(Qe===null?Ii([e]):Qe.push(e)),!a.is_fork&&Wt.size>0&&!Ha&&Ci()}return s}function Ci(){Ha=!1;var e=Rs;_t(!0);const s=Array.from(Wt);try{for(const t of s)(t.f&Ne)!==0&&We(t,rs),dt(t)&&mt(t)}finally{_t(e)}Wt.clear()}function it(e){ee(e,e.v+1)}function ja(e,s){var t=e.reactions;if(t!==null)for(var a=t.length,i=0;i<a;i++){var n=t[i],o=n.f,l=(o&Ze)===0;if(l&&We(n,s),(o&Oe)!==0){var r=n;ts?.delete(r),(o&Ls)===0&&(o&ns&&(n.f|=Ls),ja(r,rs))}else l&&((o&bs)!==0&&fs!==null&&fs.add(n),Bs(n))}}function De(e){if(typeof e!="object"||e===null||Hs in e)return e;const s=xa(e);if(s!==Gn&&s!==Zn)return e;var t=new Map,a=Zt(e),i=we(0),n=Is,o=l=>{if(Is===n)return l();var r=Fe,m=Is;je(null),pa(n);var y=l();return je(r),pa(m),y};return a&&t.set("length",we(e.length)),new Proxy(e,{defineProperty(l,r,m){(!("value"in m)||m.configurable===!1||m.enumerable===!1||m.writable===!1)&&ei();var y=t.get(r);return y===void 0?y=o(()=>{var g=we(m.value);return t.set(r,g),g}):ee(y,m.value,!0),!0},deleteProperty(l,r){var m=t.get(r);if(m===void 0){if(r in l){const y=o(()=>we(ze));t.set(r,y),it(i)}}else ee(m,ze),it(i);return!0},get(l,r,m){if(r===Hs)return e;var y=t.get(r),g=r in l;if(y===void 0&&(!g||tt(l,r)?.writable)&&(y=o(()=>{var c=De(g?l[r]:ze),T=we(c);return T}),t.set(r,y)),y!==void 0){var d=A(y);return d===ze?void 0:d}return Reflect.get(l,r,m)},getOwnPropertyDescriptor(l,r){var m=Reflect.getOwnPropertyDescriptor(l,r);if(m&&"value"in m){var y=t.get(r);y&&(m.value=A(y))}else if(m===void 0){var g=t.get(r),d=g?.v;if(g!==void 0&&d!==ze)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return m},has(l,r){if(r===Hs)return!0;var m=t.get(r),y=m!==void 0&&m.v!==ze||Reflect.has(l,r);if(m!==void 0||Se!==null&&(!y||tt(l,r)?.writable)){m===void 0&&(m=o(()=>{var d=y?De(l[r]):ze,c=we(d);return c}),t.set(r,m));var g=A(m);if(g===ze)return!1}return y},set(l,r,m,y){var g=t.get(r),d=r in l;if(a&&r==="length")for(var c=m;c<g.v;c+=1){var T=t.get(c+"");T!==void 0?ee(T,ze):c in l&&(T=o(()=>we(ze)),t.set(c+"",T))}if(g===void 0)(!d||tt(l,r)?.writable)&&(g=o(()=>we(void 0)),ee(g,De(m)),t.set(r,g));else{d=g.v!==ze;var p=o(()=>De(m));ee(g,p)}var h=Reflect.getOwnPropertyDescriptor(l,r);if(h?.set&&h.set.call(y,m),!d){if(a&&typeof r=="string"){var b=t.get("length"),w=Number(r);Number.isInteger(w)&&w>=b.v&&ee(b,w+1)}it(i)}return!0},ownKeys(l){A(i);var r=Reflect.ownKeys(l).filter(g=>{var d=t.get(g);return d===void 0||d.v!==ze});for(var[m,y]of t)y.v!==ze&&!(m in l)&&r.push(m);return r},setPrototypeOf(){si()}})}function ua(e){try{if(e!==null&&typeof e=="object"&&Hs in e)return e[Hs]}catch{}return e}function wi(e,s){return Object.is(ua(e),ua(s))}var rt,Ga,Za,Ka;function Ai(){if(rt===void 0){rt=window,Ga=/Firefox/.test(navigator.userAgent);var e=Element.prototype,s=Node.prototype,t=Text.prototype;Za=tt(s,"firstChild").get,Ka=tt(s,"nextSibling").get,la(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),la(t)&&(t.__t=void 0)}}function Ss(e=""){return document.createTextNode(e)}function Ft(e){return Za.call(e)}function pt(e){return Ka.call(e)}function D(e,s){return Ft(e)}function Je(e,s=!1){{var t=Ft(e);return t instanceof Comment&&t.data===""?pt(t):t}}function I(e,s=1,t=!1){let a=e;for(;s--;)a=pt(a);return a}function Fi(e){e.textContent=""}function qa(){return!1}let ca=!1;function _i(){ca||(ca=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const s of e.target.elements)s.__on_r?.()})},{capture:!0}))}function Rt(e){var s=Fe,t=Se;je(null),us(null);try{return e()}finally{je(s),us(t)}}function Va(e,s,t,a=t){e.addEventListener(s,()=>Rt(t));const i=e.__on_r;i?e.__on_r=()=>{i(),a(!0)}:e.__on_r=()=>a(!0),_i()}function ki(e){Se===null&&(Fe===null&&Qn(),Xn()),Js&&Yn()}function Si(e,s){var t=s.last;t===null?s.last=s.first=e:(t.next=e,e.prev=t,s.last=e)}function gs(e,s,t){var a=Se;a!==null&&(a.f&Ye)!==0&&(e|=Ye);var i={ctx:as,deps:null,nodes:null,f:e|Ze|ns,first:null,fn:s,last:null,next:null,parent:a,b:a&&a.b,prev:null,teardown:null,wv:0,ac:null};if(t)try{mt(i),i.f|=Vt}catch(l){throw Ge(i),l}else s!==null&&Bs(i);var n=i;if(t&&n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&qs)===0&&(n=n.first,(e&bs)!==0&&(e&js)!==0&&n!==null&&(n.f|=js)),n!==null&&(n.parent=a,a!==null&&Si(n,a),Fe!==null&&(Fe.f&Oe)!==0&&(e&Os)===0)){var o=Fe;(o.effects??=[]).push(n)}return i}function ut(){return Fe!==null&&!os}function Qt(e){const s=gs(qt,null,!1);return We(s,Ne),s.teardown=e,s}function ma(e){ki();var s=Se.f,t=!Fe&&(s&ys)!==0&&(s&Vt)===0;if(t){var a=as;(a.e??=[]).push(e)}else return Ja(e)}function Ja(e){return gs(Kt|Vn,e,!1)}function xi(e){ls.ensure();const s=gs(Os|qs,e,!0);return(t={})=>new Promise(a=>{t.outro?Ps(s,()=>{Ge(s),a(void 0)}):(Ge(s),a(void 0))})}function Ya(e){return gs(Kt,e,!1)}function Ei(e){return gs(Jt|qs,e,!0)}function $t(e,s=0){return gs(qt|s,e,!0)}function Ae(e,s=[],t=[],a=[]){hi(a,s,t,i=>{gs(qt,()=>e(...i.map(A)),!0)})}function ea(e,s=0){var t=gs(bs|s,e,!0);return t}function es(e){return gs(ys|qs,e,!0)}function Xa(e){var s=e.teardown;if(s!==null){const t=Js,a=Fe;fa(!0),je(null);try{s.call(null)}finally{fa(t),je(a)}}}function Qa(e,s=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const i=t.ac;i!==null&&Rt(()=>{i.abort(Ns)});var a=t.next;(t.f&Os)!==0?t.parent=null:Ge(t,s),t=a}}function Pi(e){for(var s=e.first;s!==null;){var t=s.next;(s.f&ys)===0&&Ge(s),s=t}}function Ge(e,s=!0){var t=!1;(s||(e.f&Ra)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Ri(e.nodes.start,e.nodes.end),t=!0),Qa(e,s&&!t),kt(e,0),We(e,Fs);var a=e.nodes&&e.nodes.t;if(a!==null)for(const n of a)n.stop();Xa(e);var i=e.parent;i!==null&&i.first!==null&&$a(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Ri(e,s){for(;e!==null;){var t=e===s?null:pt(e);e.remove(),e=t}}function $a(e){var s=e.parent,t=e.prev,a=e.next;t!==null&&(t.next=a),a!==null&&(a.prev=t),s!==null&&(s.first===e&&(s.first=a),s.last===e&&(s.last=t))}function Ps(e,s,t=!0){var a=[];en(e,a,!0);var i=()=>{t&&Ge(e),s&&s()},n=a.length;if(n>0){var o=()=>--n||i();for(var l of a)l.out(o)}else i()}function en(e,s,t){if((e.f&Ye)===0){e.f^=Ye;var a=e.nodes&&e.nodes.t;if(a!==null)for(const l of a)(l.is_global||t)&&s.push(l);for(var i=e.first;i!==null;){var n=i.next,o=(i.f&js)!==0||(i.f&ys)!==0&&(e.f&bs)!==0;en(i,s,o?t:!1),i=n}}}function sa(e){sn(e,!0)}function sn(e,s){if((e.f&Ye)!==0){e.f^=Ye,(e.f&Ne)===0&&(We(e,Ze),Bs(e));for(var t=e.first;t!==null;){var a=t.next,i=(t.f&js)!==0||(t.f&ys)!==0;sn(t,i?s:!1),t=a}var n=e.nodes&&e.nodes.t;if(n!==null)for(const o of n)(o.is_global||s)&&o.in()}}function tn(e,s){if(e.nodes)for(var t=e.nodes.start,a=e.nodes.end;t!==null;){var i=t===a?null:pt(t);s.append(t),t=i}}let Rs=!1;function _t(e){Rs=e}let Js=!1;function fa(e){Js=e}let Fe=null,os=!1;function je(e){Fe=e}let Se=null;function us(e){Se=e}let ds=null;function an(e){Fe!==null&&(ds===null?ds=[e]:ds.push(e))}let Ue=null,qe=0,Qe=null;function Ii(e){Qe=e}let nn=1,ct=0,Is=ct;function pa(e){Is=e}function ln(){return++nn}function dt(e){var s=e.f;if((s&Ze)!==0)return!0;if(s&Oe&&(e.f&=~Ls),(s&rs)!==0){var t=e.deps;if(t!==null)for(var a=t.length,i=0;i<a;i++){var n=t[i];if(dt(n)&&Ua(n),n.wv>e.wv)return!0}(s&ns)!==0&&ts===null&&We(e,Ne)}return!1}function on(e,s,t=!0){var a=e.reactions;if(a!==null&&!ds?.includes(e))for(var i=0;i<a.length;i++){var n=a[i];(n.f&Oe)!==0?on(n,s,!1):s===n&&(t?We(n,Ze):(n.f&Ne)!==0&&We(n,rs),Bs(n))}}function rn(e){var s=Ue,t=qe,a=Qe,i=Fe,n=ds,o=as,l=os,r=Is,m=e.f;Ue=null,qe=0,Qe=null,Fe=(m&(ys|Os))===0?e:null,ds=null,Gs(e.ctx),os=!1,Is=++ct,e.ac!==null&&(Rt(()=>{e.ac.abort(Ns)}),e.ac=null);try{e.f|=zt;var y=e.fn,g=y(),d=e.deps;if(Ue!==null){var c;if(kt(e,qe),d!==null&&qe>0)for(d.length=qe+Ue.length,c=0;c<Ue.length;c++)d[qe+c]=Ue[c];else e.deps=d=Ue;if(ut()&&(e.f&ns)!==0)for(c=qe;c<d.length;c++)(d[c].reactions??=[]).push(e)}else d!==null&&qe<d.length&&(kt(e,qe),d.length=qe);if(La()&&Qe!==null&&!os&&d!==null&&(e.f&(Oe|rs|Ze))===0)for(c=0;c<Qe.length;c++)on(Qe[c],e);return i!==null&&i!==e&&(ct++,Qe!==null&&(a===null?a=Qe:a.push(...Qe))),(e.f&_s)!==0&&(e.f^=_s),g}catch(T){return Ma(T)}finally{e.f^=zt,Ue=s,qe=t,Qe=a,Fe=i,ds=n,Gs(o),os=l,Is=r}}function Di(e,s){let t=s.reactions;if(t!==null){var a=Un.call(t,e);if(a!==-1){var i=t.length-1;i===0?t=s.reactions=null:(t[a]=t[i],t.pop())}}t===null&&(s.f&Oe)!==0&&(Ue===null||!Ue.includes(s))&&(We(s,rs),(s.f&ns)!==0&&(s.f^=ns,s.f&=~Ls),Wa(s),kt(s,0))}function kt(e,s){var t=e.deps;if(t!==null)for(var a=s;a<t.length;a++)Di(e,t[a])}function mt(e){var s=e.f;if((s&Fs)===0){We(e,Ne);var t=Se,a=Rs;Se=e,Rs=!0;try{(s&(bs|qn))!==0?Pi(e):Qa(e),Xa(e);var i=rn(e);e.teardown=typeof i=="function"?i:null,e.wv=nn;var n;Ot&&oi&&(e.f&Ze)!==0&&e.deps}finally{Rs=a,Se=t}}}async function Li(){await Promise.resolve(),ui()}function A(e){var s=e.f,t=(s&Oe)!==0;if(Fe!==null&&!os){var a=Se!==null&&(Se.f&Fs)!==0;if(!a&&!ds?.includes(e)){var i=Fe.deps;if((Fe.f&zt)!==0)e.rv<ct&&(e.rv=ct,Ue===null&&i!==null&&i[qe]===e?qe++:Ue===null?Ue=[e]:Ue.includes(e)||Ue.push(e));else{(Fe.deps??=[]).push(e);var n=e.reactions;n===null?e.reactions=[Fe]:n.includes(Fe)||n.push(Fe)}}}if(Js){if(ks.has(e))return ks.get(e);if(t){var o=e,l=o.v;return((o.f&Ne)===0&&o.reactions!==null||cn(o))&&(l=Xt(o)),ks.set(o,l),l}}else t&&(!ts?.has(e)||ke?.is_fork&&!ut())&&(o=e,dt(o)&&Ua(o),Rs&&ut()&&(o.f&ns)===0&&un(o));if(ts?.has(e))return ts.get(e);if((e.f&_s)!==0)throw e.v;return e.v}function un(e){if(e.deps!==null){e.f^=ns;for(const s of e.deps)(s.reactions??=[]).push(e),(s.f&Oe)!==0&&(s.f&ns)===0&&un(s)}}function cn(e){if(e.v===ze)return!0;if(e.deps===null)return!1;for(const s of e.deps)if(ks.has(s)||(s.f&Oe)!==0&&cn(s))return!0;return!1}function Ve(e){var s=os;try{return os=!0,e()}finally{os=s}}const Bi=-7169;function We(e,s){e.f=e.f&Bi|s}const mn=new Set,Ut=new Set;function Mi(e,s,t,a={}){function i(n){if(a.capture||et.call(s,n),!n.cancelBubble)return Rt(()=>t?.call(this,n))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Vs(()=>{s.addEventListener(e,i,a)}):s.addEventListener(e,i,a),i}function xs(e,s,t,a,i){var n={capture:a,passive:i},o=Mi(e,s,t,n);(s===document.body||s===window||s===document||s instanceof HTMLMediaElement)&&Qt(()=>{s.removeEventListener(e,o,n)})}function vs(e){for(var s=0;s<e.length;s++)mn.add(e[s]);for(var t of Ut)t(e)}let da=null;function et(e){var s=this,t=s.ownerDocument,a=e.type,i=e.composedPath?.()||[],n=i[0]||e.target;da=e;var o=0,l=da===e&&e.__root;if(l){var r=i.indexOf(l);if(r!==-1&&(s===document||s===window)){e.__root=s;return}var m=i.indexOf(s);if(m===-1)return;r<=m&&(o=r)}if(n=i[o]||e.target,n!==s){Hn(e,"currentTarget",{configurable:!0,get(){return n||t}});var y=Fe,g=Se;je(null),us(null);try{for(var d,c=[];n!==null;){var T=n.assignedSlot||n.parentNode||n.host||null;try{var p=n["__"+a];p!=null&&(!n.disabled||e.target===n)&&p.call(n,e)}catch(h){d?c.push(h):d=h}if(e.cancelBubble||T===s||T===null)break;n=T}if(d){for(let h of c)queueMicrotask(()=>{throw h});throw d}}finally{e.__root=s,delete e.currentTarget,je(y),us(g)}}}function Oi(e){var s=document.createElement("template");return s.innerHTML=e.replaceAll("<!>","\x3C!---->"),s.content}function Ht(e,s){var t=Se;t.nodes===null&&(t.nodes={start:e,end:s,a:null,t:null})}function oe(e,s){var t=(s&zn)!==0,a=(s&Nn)!==0,i,n=!e.startsWith("<!>");return()=>{i===void 0&&(i=Oi(n?e:"<!>"+e),t||(i=Ft(i)));var o=a||Ga?document.importNode(i,!0):i.cloneNode(!0);if(t){var l=Ft(o),r=o.lastChild;Ht(l,r)}else Ht(o,o);return o}}function ha(){var e=document.createDocumentFragment(),s=document.createComment(""),t=Ss();return e.append(s,t),Ht(s,t),e}function ne(e,s){e!==null&&e.before(s)}const zi=["touchstart","touchmove"];function Ni(e){return zi.includes(e)}function pe(e,s){var t=s==null?"":typeof s=="object"?s+"":s;t!==(e.__t??=e.nodeValue)&&(e.__t=t,e.nodeValue=t+"")}function Wi(e,s){return Ui(e,s)}const zs=new Map;function Ui(e,{target:s,anchor:t,props:a={},events:i,context:n,intro:o=!0}){Ai();var l=new Set,r=g=>{for(var d=0;d<g.length;d++){var c=g[d];if(!l.has(c)){l.add(c);var T=Ni(c);s.addEventListener(c,et,{passive:T});var p=zs.get(c);p===void 0?(document.addEventListener(c,et,{passive:T}),zs.set(c,1)):zs.set(c,p+1)}}};r(xt(mn)),Ut.add(r);var m=void 0,y=xi(()=>{var g=t??s.appendChild(Ss());return pi(g,{pending:()=>{}},d=>{if(n){cs({});var c=as;c.c=n}i&&(a.$$events=i),m=e(d,a)||{},n&&ms()}),()=>{for(var d of l){s.removeEventListener(d,et);var c=zs.get(d);--c===0?(document.removeEventListener(d,et),zs.delete(d)):zs.set(d,c)}Ut.delete(r),g!==t&&g.parentNode?.removeChild(g)}});return Hi.set(m,y),m}let Hi=new WeakMap;class ji{anchor;#s=new Map;#e=new Map;#t=new Map;#a=new Set;#u=!0;constructor(s,t=!0){this.anchor=s,this.#u=t}#i=()=>{var s=ke;if(this.#s.has(s)){var t=this.#s.get(s),a=this.#e.get(t);if(a)sa(a),this.#a.delete(t);else{var i=this.#t.get(t);i&&(this.#e.set(t,i.effect),this.#t.delete(t),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),a=i.effect)}for(const[n,o]of this.#s){if(this.#s.delete(n),n===s)break;const l=this.#t.get(o);l&&(Ge(l.effect),this.#t.delete(o))}for(const[n,o]of this.#e){if(n===t||this.#a.has(n))continue;const l=()=>{if(Array.from(this.#s.values()).includes(n)){var m=document.createDocumentFragment();tn(o,m),m.append(Ss()),this.#t.set(n,{effect:o,fragment:m})}else Ge(o);this.#a.delete(n),this.#e.delete(n)};this.#u||!a?(this.#a.add(n),Ps(o,l,!1)):l()}}};#n=s=>{this.#s.delete(s);const t=Array.from(this.#s.values());for(const[a,i]of this.#t)t.includes(a)||(Ge(i.effect),this.#t.delete(a))};ensure(s,t){var a=ke,i=qa();if(t&&!this.#e.has(s)&&!this.#t.has(s))if(i){var n=document.createDocumentFragment(),o=Ss();n.append(o),this.#t.set(s,{effect:es(()=>t(o)),fragment:n})}else this.#e.set(s,es(()=>t(this.anchor)));if(this.#s.set(a,s),i){for(const[l,r]of this.#e)l===s?a.skipped_effects.delete(r):a.skipped_effects.add(r);for(const[l,r]of this.#t)l===s?a.skipped_effects.delete(r.effect):a.skipped_effects.add(r.effect);a.oncommit(this.#i),a.ondiscard(this.#n)}else this.#i()}}function Ce(e,s,t=!1){var a=new ji(e),i=t?js:0;function n(o,l){a.ensure(o,l)}ea(()=>{var o=!1;s((l,r=!0)=>{o=!0,n(r,l)}),o||n(!1,null)},i)}function ss(e,s){return s}function Gi(e,s,t){for(var a=[],i=s.length,n,o=s.length,l=0;l<i;l++){let g=s[l];Ps(g,()=>{if(n){if(n.pending.delete(g),n.done.add(g),n.pending.size===0){var d=e.outrogroups;jt(xt(n.done)),d.delete(n),d.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var r=a.length===0&&t!==null;if(r){var m=t,y=m.parentNode;Fi(y),y.append(m),e.items.clear()}jt(s,!r)}else n={pending:new Set(s),done:new Set},(e.outrogroups??=new Set).add(n)}function jt(e,s=!0){for(var t=0;t<e.length;t++)Ge(e[t],s)}var ba;function He(e,s,t,a,i,n=null){var o=e,l=new Map,r=(s&Sa)!==0;if(r){var m=e;o=m.appendChild(Ss())}var y=null,g=gi(()=>{var b=t();return Zt(b)?b:b==null?[]:xt(b)}),d,c=!0;function T(){h.fallback=y,Zi(h,d,o,s,a),y!==null&&(d.length===0?(y.f&ps)===0?sa(y):(y.f^=ps,st(y,null,o)):Ps(y,()=>{y=null}))}var p=ea(()=>{d=A(g);for(var b=d.length,w=new Set,k=ke,P=qa(),_=0;_<b;_+=1){var W=d[_],R=a(W,_),G=c?null:l.get(R);G?(G.v&&Ks(G.v,W),G.i&&Ks(G.i,_),P&&k.skipped_effects.delete(G.e)):(G=Ki(l,c?o:ba??=Ss(),W,R,_,i,s,t),c||(G.e.f|=ps),l.set(R,G)),w.add(R)}if(b===0&&n&&!y&&(c?y=es(()=>n(o)):(y=es(()=>n(ba??=Ss())),y.f|=ps)),!c)if(P){for(const[O,Y]of l)w.has(O)||k.skipped_effects.add(Y.e);k.oncommit(T),k.ondiscard(()=>{})}else T();A(g)}),h={effect:p,items:l,outrogroups:null,fallback:y};c=!1}function Zi(e,s,t,a,i){var n=(a&Mn)!==0,o=s.length,l=e.items,r=e.effect.first,m,y=null,g,d=[],c=[],T,p,h,b;if(n)for(b=0;b<o;b+=1)T=s[b],p=i(T,b),h=l.get(p).e,(h.f&ps)===0&&(h.nodes?.a?.measure(),(g??=new Set).add(h));for(b=0;b<o;b+=1){if(T=s[b],p=i(T,b),h=l.get(p).e,e.outrogroups!==null)for(const Y of e.outrogroups)Y.pending.delete(h),Y.done.delete(h);if((h.f&ps)!==0)if(h.f^=ps,h===r)st(h,null,t);else{var w=y?y.next:r;h===e.effect.last&&(e.effect.last=h.prev),h.prev&&(h.prev.next=h.next),h.next&&(h.next.prev=h.prev),ws(e,y,h),ws(e,h,w),st(h,w,t),y=h,d=[],c=[],r=y.next;continue}if((h.f&Ye)!==0&&(sa(h),n&&(h.nodes?.a?.unfix(),(g??=new Set).delete(h))),h!==r){if(m!==void 0&&m.has(h)){if(d.length<c.length){var k=c[0],P;y=k.prev;var _=d[0],W=d[d.length-1];for(P=0;P<d.length;P+=1)st(d[P],k,t);for(P=0;P<c.length;P+=1)m.delete(c[P]);ws(e,_.prev,W.next),ws(e,y,_),ws(e,W,k),r=k,y=W,b-=1,d=[],c=[]}else m.delete(h),st(h,r,t),ws(e,h.prev,h.next),ws(e,h,y===null?e.effect.first:y.next),ws(e,y,h),y=h;continue}for(d=[],c=[];r!==null&&r!==h;)(m??=new Set).add(r),c.push(r),r=r.next;if(r===null)continue}(h.f&ps)===0&&d.push(h),y=h,r=h.next}if(e.outrogroups!==null){for(const Y of e.outrogroups)Y.pending.size===0&&(jt(xt(Y.done)),e.outrogroups?.delete(Y));e.outrogroups.size===0&&(e.outrogroups=null)}if(r!==null||m!==void 0){var R=[];if(m!==void 0)for(h of m)(h.f&Ye)===0&&R.push(h);for(;r!==null;)(r.f&Ye)===0&&r!==e.fallback&&R.push(r),r=r.next;var G=R.length;if(G>0){var O=(a&Sa)!==0&&o===0?t:null;if(n){for(b=0;b<G;b+=1)R[b].nodes?.a?.measure();for(b=0;b<G;b+=1)R[b].nodes?.a?.fix()}Gi(e,R,O)}}n&&Vs(()=>{if(g!==void 0)for(h of g)h.nodes?.a?.apply()})}function Ki(e,s,t,a,i,n,o,l){var r=(o&Ln)!==0?(o&On)===0?Ti(t,!1,!1):Ms(t):null,m=(o&Bn)!==0?Ms(i):null;return{v:r,i:m,e:es(()=>(n(s,r??t,m??i,l),()=>{e.delete(a)}))}}function st(e,s,t){if(e.nodes)for(var a=e.nodes.start,i=e.nodes.end,n=s&&(s.f&ps)===0?s.nodes.start:t;a!==null;){var o=pt(a);if(n.before(a),a===i)return;a=o}}function ws(e,s,t){s===null?e.effect.first=t:s.next=t,t===null?e.effect.last=s:t.prev=s}const ya=[...`
|
|
14
|
+
\r\f \v\uFEFF`];function qi(e,s,t){var a=e==null?"":""+e;if(s&&(a=a?a+" "+s:s),t){for(var i in t)if(t[i])a=a?a+" "+i:i;else if(a.length)for(var n=i.length,o=0;(o=a.indexOf(i,o))>=0;){var l=o+n;(o===0||ya.includes(a[o-1]))&&(l===a.length||ya.includes(a[l]))?a=(o===0?"":a.substring(0,o))+a.substring(l+1):o=l}}return a===""?null:a}function Vi(e,s){return e==null?null:String(e)}function Pe(e,s,t,a,i,n){var o=e.__className;if(o!==t||o===void 0){var l=qi(t,a,n);l==null?e.removeAttribute("class"):s?e.className=l:e.setAttribute("class",l),e.__className=t}else if(n&&i!==n)for(var r in n){var m=!!n[r];(i==null||m!==!!i[r])&&e.classList.toggle(r,m)}return n}function ta(e,s,t,a){var i=e.__style;if(i!==s){var n=Vi(s);n==null?e.removeAttribute("style"):e.style.cssText=n,e.__style=s}return a}function fn(e,s,t=!1){if(e.multiple){if(s==null)return;if(!Zt(s))return ni();for(var a of e.options)a.selected=s.includes(lt(a));return}for(a of e.options){var i=lt(a);if(wi(i,s)){a.selected=!0;return}}(!t||s!==void 0)&&(e.selectedIndex=-1)}function Ji(e){var s=new MutationObserver(()=>{fn(e,e.__value)});s.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Qt(()=>{s.disconnect()})}function Ws(e,s,t=s){var a=new WeakSet,i=!0;Va(e,"change",n=>{var o=n?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(o),lt);else{var r=e.querySelector(o)??e.querySelector("option:not([disabled])");l=r&<(r)}t(l),ke!==null&&a.add(ke)}),Ya(()=>{var n=s();if(e===document.activeElement){var o=at??ke;if(a.has(o))return}if(fn(e,n,i),i&&n===void 0){var l=e.querySelector(":checked");l!==null&&(n=lt(l),t(n))}e.__value=n,i=!1}),Ji(e)}function lt(e){return"__value"in e?e.__value:e.value}const Yi=Symbol("is custom element"),Xi=Symbol("is html");function Qi(e,s,t,a){var i=$i(e);i[s]!==(i[s]=t)&&(t==null?e.removeAttribute(s):typeof t!="string"&&el(e).includes(s)?e[s]=t:e.setAttribute(s,t))}function $i(e){return e.__attributes??={[Yi]:e.nodeName.includes("-"),[Xi]:e.namespaceURI===Wn}}var ga=new Map;function el(e){var s=e.getAttribute("is")||e.nodeName,t=ga.get(s);if(t)return t;ga.set(s,t=[]);for(var a,i=e,n=Element.prototype;n!==i;){a=jn(i);for(var o in a)a[o].set&&t.push(o);i=xa(i)}return t}function Ie(e,s,t=s){var a=new WeakSet;Va(e,"input",async i=>{var n=i?e.defaultValue:e.value;if(n=Lt(e)?Bt(n):n,t(n),ke!==null&&a.add(ke),await Li(),n!==(n=s())){var o=e.selectionStart,l=e.selectionEnd,r=e.value.length;if(e.value=n??"",l!==null){var m=e.value.length;o===l&&l===r&&m>r?(e.selectionStart=m,e.selectionEnd=m):(e.selectionStart=o,e.selectionEnd=Math.min(l,m))}}}),Ve(s)==null&&e.value&&(t(Lt(e)?Bt(e.value):e.value),ke!==null&&a.add(ke)),$t(()=>{var i=s();if(e===document.activeElement){var n=at??ke;if(a.has(n))return}Lt(e)&&i===Bt(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i??"")})}function Lt(e){var s=e.type;return s==="number"||s==="range"}function Bt(e){return e===""?null:+e}function va(e,s){return e===s||e?.[Hs]===s}function sl(e={},s,t,a){return Ya(()=>{var i,n;return $t(()=>{i=n,n=[],Ve(()=>{e!==t(...n)&&(s(e,...n),i&&va(t(...i),e)&&s(null,...i))})}),()=>{Vs(()=>{n&&va(t(...n),e)&&s(null,...n)})}}),e}function Ta(e,s,t,a){var i=a,n=!0,o=()=>(n&&(n=!1,i=a),i),l;l=e[s],l===void 0&&a!==void 0&&(l=o());var r;return r=()=>{var m=e[s];return m===void 0?o():(n=!0,m)},r}const tl=.9144,al=1.60934;function aa(e){if(!e)return"";const s=Math.floor(e/60),t=e%60;return s>0?t>0?`${s}h ${t}m`:`${s}h`:`${t}m`}function nl(e,s,t){if(!e)return"";if(s==="swim"){if(t.units.swim==="yards"){const a=e/tl;return`${Math.round(a)}yd`}return`${Math.round(e)}m`}if(s==="bike"||s==="run"){if(t.units[s]==="miles"){const n=e/1e3/al;return n>=10?`${Math.round(n)}mi`:`${n.toFixed(1)}mi`}const i=e/1e3;return i>=10?`${Math.round(i)}km`:`${i.toFixed(1)}km`}return`${Math.round(e)}m`}function Ca(e){return It(e).toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric"})}function il(e){return It(e).toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"})}function ll(e,s,t){if(!s)return"";const a=s.match(/(?:Zone\s*)?(\d)(?:\s*-\s*(\d))?/i);if(!a)return s;const i=parseInt(a[1]),n=a[2]?parseInt(a[2]):i;let o=s;if(e==="run"||e==="bike"){const l=t[e]?.hrZones;if(l&&l[i-1]){const r=l[i-1].low,m=n!==i&&l[n-1]?l[n-1].high:l[i-1].high;o+=` (${r}-${m} bpm)`}}return o}function ol(e){const s=Math.ceil((new Date(e).getTime()-new Date().getTime())/864e5);return Math.max(0,s)}function rl(e){return e==="monday"?["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}function ul(){return pn(new Date)}function pn(e){const s=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${s}-${t}-${a}`}function It(e){if(!e)return new Date;const s=e.split("-").map(Number),t=s[0]??new Date().getFullYear(),a=s[1]??1,i=s[2]??1;return new Date(t,a-1,i)}function dn(e){return{swim:"🏊",bike:"🚴",run:"🏃",strength:"💪",brick:"🔥",race:"🏆",rest:"🛌"}[e]||""}function Ys(e){return e==="bike"||e==="run"}function wa(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function hs(e){return e/100}function ft(e,s){switch(s){case"seconds":return e;case"minutes":return e*60;case"hours":return e*3600;default:return e}}function cl(e){return e==="run"?"run":"bike"}function ml(e){const s=ft(e.duration?.value??0,e.duration?.unit??"minutes"),t=e.intensity?.value??50,a=hs(e.intensity?.valueLow??t*.6),i=hs(e.intensity?.valueHigh??t);return` <Warmup Duration="${s}" PowerLow="${a.toFixed(2)}" PowerHigh="${i.toFixed(2)}"/>`}function fl(e){const s=ft(e.duration?.value??0,e.duration?.unit??"minutes"),t=e.intensity?.value??50,a=hs(e.intensity?.valueHigh??t),i=hs(e.intensity?.valueLow??t*.5);return` <Cooldown Duration="${s}" PowerLow="${i.toFixed(2)}" PowerHigh="${a.toFixed(2)}"/>`}function wt(e,s=!1){const t=ft(e.duration?.value??0,e.duration?.unit??"minutes"),a=hs(e.intensity?.value??50);let i="";if(e.cadence&&(i=` Cadence="${e.cadence.low??90}"`,e.cadence.high!==e.cadence.low&&(i=` CadenceLow="${e.cadence.low??90}" CadenceHigh="${e.cadence.high??100}"`)),s&&e.intensity?.valueLow!==void 0&&e.intensity?.valueHigh!==void 0){const n=hs(e.intensity.valueLow),o=hs(e.intensity.valueHigh);return` <Ramp Duration="${t}" PowerLow="${n.toFixed(2)}" PowerHigh="${o.toFixed(2)}"${i}/>`}return` <SteadyState Duration="${t}" Power="${a.toFixed(2)}"${i}/>`}function pl(e){const s=e.steps??[],t=s.find(m=>m.type==="work"),a=s.find(m=>m.type==="recovery"||m.type==="rest");if(!t)return s.map(m=>wt(m)).join(`
|
|
15
|
+
`);const i=ft(t.duration?.value??0,t.duration?.unit??"minutes"),n=hs(t.intensity?.value??100),o=a?ft(a.duration?.value??0,a.duration?.unit??"minutes"):60,l=a?hs(a.intensity?.value??50):.5;let r="";return t.cadence&&(r=` Cadence="${t.cadence.low??90}"`),` <IntervalsT Repeat="${e.repeats??1}" OnDuration="${i}" OffDuration="${o}" OnPower="${n.toFixed(2)}" OffPower="${l.toFixed(2)}"${r}/>`}function dl(e){const s=[];if(e.warmup&&e.warmup.length>0)for(const t of e.warmup)t.type==="warmup"?s.push(ml(t)):s.push(wt(t));for(const t of e.main)if("repeats"in t)s.push(pl(t));else{const a=t;s.push(wt(a))}if(e.cooldown&&e.cooldown.length>0)for(const t of e.cooldown)t.type==="cooldown"?s.push(fl(t)):s.push(wt(t));return s}function hl(e){const s=[],t=e.durationMinutes||60,a=Math.min(15,Math.max(5,Math.round(t*.1)));s.push(` <Warmup Duration="${a*60}" PowerLow="0.40" PowerHigh="0.65"/>`);let i=.65;switch(e.type){case"recovery":i=.55;break;case"endurance":i=.65;break;case"tempo":i=.8;break;case"threshold":i=.95;break;case"vo2max":i=1.1;break;case"intervals":i=.85;break;case"long":i=.65;break}const n=Math.min(10,Math.max(5,Math.round(t*.1))),o=t-a-n;return s.push(` <SteadyState Duration="${o*60}" Power="${i.toFixed(2)}"/>`),s.push(` <Cooldown Duration="${n*60}" PowerLow="0.40" PowerHigh="0.60"/>`),s}function hn(e,s){if(!Ys(e.sport))throw new Error(`ZWO export not supported for ${e.sport} workouts`);const t=cl(e.sport),a=e.structure?dl(e.structure):hl(e),i=wa((e.description||"")+(e.humanReadable?`
|
|
16
16
|
|
|
17
17
|
${e.humanReadable.replace(/\\n/g,`
|
|
18
18
|
`)}`:""));return`<?xml version="1.0" encoding="UTF-8"?>
|
|
19
19
|
<workout_file>
|
|
20
20
|
<author>Endurance Coach</author>
|
|
21
|
-
<name>${
|
|
21
|
+
<name>${wa(e.name)}</name>
|
|
22
22
|
<description>${i}</description>
|
|
23
23
|
<sportType>${t}</sportType>
|
|
24
24
|
<workout>
|
|
25
|
-
${
|
|
25
|
+
${a.join(`
|
|
26
26
|
`)}
|
|
27
27
|
</workout>
|
|
28
|
-
</workout_file>`}const bt=[0,52225,55297,5120,61441,15360,10240,58369,40961,27648,30720,46081,20480,39937,34817,17408];class St{#s=0;constructor(){}get crc(){return this.#s}#e(s){let t=bt[this.#s&15];return this.#s=this.#s>>4&4095,this.#s=this.#s^t^bt[s&15],t=bt[this.#s&15],this.#s=this.#s>>4&4095,this.#s=this.#s^t^bt[s>>4&15],this.#s}addBytes(s,t,n){for(let i=t;i<n;i++)this.#s=this.#e(s[i]);return this.#s}static calculateCRC(s,t,n){return new St().addBytes(s,t,n)}}const de={ENUM:0,SINT8:1,UINT8:2,SINT16:3,UINT16:4,SINT32:5,UINT32:6,STRING:7,FLOAT32:8,FLOAT64:9,UINT8Z:10,UINT16Z:11,UINT32Z:12,BYTE:13,SINT64:14,UINT64:15,UINT64Z:16},vl=31,Tl={0:{size:1,type:de.ENUM,baseTypeEndianFlag:0,invalid:255},1:{size:1,type:de.SINT8,baseTypeEndianFlag:0,invalid:127},2:{size:1,type:de.UINT8,baseTypeEndianFlag:0,invalid:255},3:{size:2,type:de.SINT16,baseTypeEndianFlag:128,invalid:32767},4:{size:2,type:de.UINT16,baseTypeEndianFlag:128,invalid:65535},5:{size:4,type:de.SINT32,baseTypeEndianFlag:128,invalid:2147483647},6:{size:4,type:de.UINT32,baseTypeEndianFlag:128,invalid:4294967295},7:{size:1,type:de.STRING,baseTypeEndianFlag:0,invalid:0},8:{size:4,type:de.FLOAT32,baseTypeEndianFlag:128,invalid:4294967295},9:{size:8,type:de.FLOAT64,baseTypeEndianFlag:128,invalid:18446744073709552e3},10:{size:1,type:de.UINT8Z,baseTypeEndianFlag:0,invalid:0},11:{size:2,type:de.UINT16Z,baseTypeEndianFlag:128,invalid:0},12:{size:4,type:de.UINT32Z,baseTypeEndianFlag:128,invalid:0},13:{size:1,type:de.BYTE,baseTypeEndianFlag:0,invalid:255},14:{size:8,type:de.SINT64,baseTypeEndianFlag:128,invalid:9223372036854776e3},15:{size:8,type:de.UINT64,baseTypeEndianFlag:128,invalid:18446744073709552e3},16:{size:8,type:de.UINT64Z,baseTypeEndianFlag:128,invalid:0}},Cl=["sint8","uint8","sint16","uint16","sint32","uint32","float32","float64","uint8z","uint16z","uint32z","byte","sint64","uint64","uint64z"],wl=["float32","float64"],Al={enum:de.UINT8,sint8:de.SINT8,uint8:de.UINT8,sint16:de.SINT16,uint16:de.UINT16,sint32:de.SINT32,uint32:de.UINT32,string:de.STRING,float32:de.FLOAT32,float64:de.FLOAT64,uint8z:de.UINT8Z,uint16z:de.UINT16Z,uint32z:de.UINT32Z,byte:de.BYTE,sint64:de.SINT64,uint64:de.UINT64,uint64z:de.UINT64Z},Fl={[de.ENUM]:"enum",[de.SINT8]:"sint8",[de.UINT8]:"uint8",[de.SINT16]:"sint16",[de.UINT16]:"uint16",[de.SINT32]:"sint32",[de.UINT32]:"uint32",[de.STRING]:"string",[de.FLOAT32]:"float32",[de.FLOAT64]:"float64",[de.UINT8Z]:"uint8z",[de.UINT16Z]:"uint16z",[de.UINT32Z]:"uint32z",[de.BYTE]:"byte",[de.SINT64]:"sint64",[de.UINT64]:"uint64",[de.UINT64Z]:"uint64z"},Tn=e=>e==null,_l=e=>typeof e=="object",Cn=e=>typeof e=="boolean",wn=e=>typeof e=="object"&&e instanceof Date,An=e=>typeof e=="string",Fn=e=>!isNaN(parseFloat(e))&&isFinite(e),kl=e=>!_n(e),_n=e=>!(Tn(e)||!wn(e)&&!An(e)&&!Fn(e)&&!Cn(e)),ne={BaseType:de,BaseTypeMask:vl,BaseTypeDefinitions:Tl,NumericFieldTypes:Cl,FloatingPointFieldTypes:wl,FieldTypeToBaseType:Al,BaseTypeToFieldType:Fl,isNullOrUndefined:Tn,isObject:_l,isBoolean:Cn,isDate:wn,isString:An,isNumeric:Fn,isNumberStringDateOrBoolean:_n,isNotNumberStringDateOrBoolean:kl,MAX_FIELD_SIZE:255,FIELD_DEFAULT_SCALE:1,FIELD_DEFAULT_OFFSET:0,MESG_DEFINITION_MASK:64,LOCAL_MESG_NUM_MASK:15,ARCH_LITTLE_ENDIAN:0,DEV_DATA_MASK:32},ia=6310656e5,Sl=e=>new Date((e??0)*1e3+ia),xl=e=>(e.getTime()-ia)/1e3,El={FIT_EPOCH_MS:ia,convertDateTimeToDate:Sl,convertDateToDateTime:xl,FitBaseType:ne.BaseType,BaseTypeToFieldType:ne.BaseTypeToFieldType,FieldTypeToBaseType:ne.FieldTypeToBaseType},Bs={version:{major:21,minor:188,patch:0,type:"Release"},CommonFields:{PartIndex:250,Timestamp:253,MessageIndex:254},messages:{0:{num:0,name:"fileId",messagesKey:"fileIdMesgs",fields:{0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"number",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"productName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},49:{num:49,name:"fileCreator",messagesKey:"fileCreatorMesgs",fields:{0:{num:0,name:"softwareVersion",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hardwareVersion",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},162:{num:162,name:"timestampCorrelation",messagesKey:"timestampCorrelationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"systemTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fractionalSystemTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"systemTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},35:{num:35,name:"software",messagesKey:"softwareMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"version",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"partNumber",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},106:{num:106,name:"slaveDevice",messagesKey:"slaveDeviceMesgs",fields:{0:{num:0,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]}}},1:{num:1,name:"capabilities",messagesKey:"capabilitiesMesgs",fields:{0:{num:0,name:"languages",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sports",type:"sportBits0",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"workoutsSupported",type:"workoutCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"connectivitySupported",type:"connectivityCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},37:{num:37,name:"fileCapabilities",messagesKey:"fileCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"flags",type:"fileFlags",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"directory",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"maxCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"maxSize",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"bytes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},38:{num:38,name:"mesgCapabilities",messagesKey:"mesgCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"file",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"countType",type:"mesgCount",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"count",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"numPerFile",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:0}]},{name:"maxPerFile",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:1}]},{name:"maxPerFileType",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:2}]}]}}},39:{num:39,name:"fieldCapabilities",messagesKey:"fieldCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"file",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"count",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},2:{num:2,name:"deviceSettings",messagesKey:"deviceSettingsMesgs",fields:{0:{num:0,name:"activeTimeZone",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"utcOffset",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"timeOffset",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeMode",type:"timeMode",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timeZoneOffset",type:"sint8",baseType:"sint8",array:!0,scale:4,offset:0,units:"hr",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"backlightMode",type:"backlightMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"activityTrackerEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"clockTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"pagesEnabled",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"moveAlertEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"dateMode",type:"dateMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"displayOrientation",type:"displayOrientation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"mountingSide",type:"side",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"defaultPage",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"autosyncMinSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"steps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"autosyncMinTime",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"lactateThresholdAutodetectEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"bleAutoUploadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"autoSyncFrequency",type:"autoSyncFrequency",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"autoActivityDetect",type:"autoActivityDetect",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"numberOfScreens",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"smartNotificationDisplayOrientation",type:"displayOrientation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},134:{num:134,name:"tapInterface",type:"switch",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},174:{num:174,name:"tapSensitivity",type:"tapSensitivity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},3:{num:3,name:"userProfile",messagesKey:"userProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"friendlyName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"gender",type:"gender",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"age",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"years",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"height",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"language",type:"language",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"elevSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"weightSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"defaultMaxRunningHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"defaultMaxBikingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"defaultMaxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"hrSetting",type:"displayHeart",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"speedSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"distSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"powerSetting",type:"displayPower",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"activityClass",type:"activityClass",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"positionSetting",type:"displayPosition",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"temperatureSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"localId",type:"userLocalId",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"globalId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"wakeTime",type:"localtimeIntoDay",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"sleepTime",type:"localtimeIntoDay",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"heightSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"userRunningStepLength",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"userWalkingStepLength",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"depthSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"diveCount",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},4:{num:4,name:"hrmProfile",messagesKey:"hrmProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hrmAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"logHrv",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"hrmAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},5:{num:5,name:"sdmProfile",messagesKey:"sdmProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sdmAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"sdmCalFactor",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"odometer",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"speedSource",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sdmAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"odometerRollover",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},6:{num:6,name:"bikeProfile",messagesKey:"bikeProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"odometer",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"bikeSpdAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"bikeCadAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"bikeSpdcadAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"bikePowerAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"customWheelsize",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"autoWheelsize",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"bikeWeight",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"powerCalFactor",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"autoWheelCal",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"autoPowerZero",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"id",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"spdEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"cadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"spdcadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"powerEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"crankLength",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:-110,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"bikeSpdAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"bikeCadAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"bikeSpdcadAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"bikePowerAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"odometerRollover",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"frontGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"frontGear",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"rearGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"rearGear",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"shimanoDi2Enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},127:{num:127,name:"connectivity",messagesKey:"connectivityMesgs",fields:{0:{num:0,name:"bluetoothEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"bluetoothLeEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"antEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"liveTrackingEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"weatherConditionsEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"weatherAlertsEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"autoActivityUploadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"courseDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"workoutDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"gpsEphemerisDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"incidentDetectionEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"grouptrackEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},159:{num:159,name:"watchfaceSettings",messagesKey:"watchfaceSettingsMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"mode",type:"watchfaceMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"layout",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"digitalLayout",type:"digitalWatchfaceLayout",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"mode",value:0}]},{name:"analogLayout",type:"analogWatchfaceLayout",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"mode",value:1}]}]}}},188:{num:188,name:"ohrSettings",messagesKey:"ohrSettingsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"switch",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},216:{num:216,name:"timeInZone",messagesKey:"timeInZoneMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"referenceMesg",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"referenceIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"hrZoneHighBoundary",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"speedZoneHighBoundary",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"cadenceZoneHighBondary",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"powerZoneHighBoundary",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"hrCalcType",type:"hrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"thresholdHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"pwrCalcType",type:"pwrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"functionalThresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},7:{num:7,name:"zonesTarget",messagesKey:"zonesTargetMesgs",fields:{1:{num:1,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"thresholdHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"functionalThresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"hrCalcType",type:"hrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"pwrCalcType",type:"pwrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},12:{num:12,name:"sport",messagesKey:"sportMesgs",fields:{0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},8:{num:8,name:"hrZone",messagesKey:"hrZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highBpm",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},53:{num:53,name:"speedZone",messagesKey:"speedZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"highValue",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},131:{num:131,name:"cadenceZone",messagesKey:"cadenceZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"highValue",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},9:{num:9,name:"powerZone",messagesKey:"powerZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highValue",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},10:{num:10,name:"metZone",messagesKey:"metZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highBpm",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kcal / min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fatCalories",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"kcal / min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},13:{num:13,name:"trainingSettings",messagesKey:"trainingSettingsMesgs",fields:{31:{num:31,name:"targetDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"targetSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"targetTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},153:{num:153,name:"preciseTargetSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e6,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},258:{num:258,name:"diveSettings",messagesKey:"diveSettingsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"model",type:"tissueModelType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gfLow",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gfHigh",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"waterType",type:"waterType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"waterDensity",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kg/m^3",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"po2Warn",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"po2Critical",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"po2Deco",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"safetyStopEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"bottomDepth",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"bottomTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"apneaCountdownEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"apneaCountdownTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"backlightMode",type:"diveBacklightMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"backlightBrightness",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"backlightTimeout",type:"backlightTimeout",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"repeatDiveInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"safetyStopTime",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"heartRateSourceType",type:"sourceType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"heartRateSource",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"heartRateAntplusDeviceType",type:"antplusDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"heartRateSourceType",value:1}]},{name:"heartRateLocalDeviceType",type:"localDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"heartRateSourceType",value:5}]}]},21:{num:21,name:"travelGas",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"ccrLowSetpointSwitchMode",type:"ccrSetpointSwitchMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"ccrLowSetpoint",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"ccrLowSetpointDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"ccrHighSetpointSwitchMode",type:"ccrSetpointSwitchMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"ccrHighSetpoint",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"ccrHighSetpointDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"gasConsumptionDisplay",type:"gasConsumptionRateType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"upKeyEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"diveSounds",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"lastStopMultiple",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"noFlyTimeMode",type:"noFlyTimeMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},262:{num:262,name:"diveAlarm",messagesKey:"diveAlarmMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"alarmType",type:"diveAlarmType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sound",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"diveTypes",type:"subSport",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"id",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"popupEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"triggerOnDescent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"triggerOnAscent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"repeating",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"speed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"mps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},393:{num:393,name:"diveApneaAlarm",messagesKey:"diveApneaAlarmMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"alarmType",type:"diveAlarmType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sound",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"diveTypes",type:"subSport",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"id",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"popupEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"triggerOnDescent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"triggerOnAscent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"repeating",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"speed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"mps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},259:{num:259,name:"diveGas",messagesKey:"diveGasMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"heliumContent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"oxygenContent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"status",type:"diveGasStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"mode",type:"diveGasMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},15:{num:15,name:"goal",messagesKey:"goalMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startDate",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endDate",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"type",type:"goal",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"value",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"repeat",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"targetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"recurrence",type:"goalRecurrence",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"recurrenceValue",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"source",type:"goalSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},34:{num:34,name:"activity",messagesKey:"activityMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"numSessions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"type",type:"activity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},18:{num:18,name:"session",messagesKey:"sessionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrides",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strides",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1},{name:"sport",value:11}]},{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2},{name:"sport",value:5},{name:"sport",value:15},{name:"sport",value:37}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["124"],isAccumulated:!1,hasComponents:!0,subFields:[]},15:{num:15,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["125"],isAccumulated:!1,hasComponents:!0,subFields:[]},16:{num:16,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"avgRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},19:{num:19,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"maxRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},20:{num:20,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"totalTrainingEffect",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"firstLapIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"numLaps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"trigger",type:"sessionTrigger",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"necLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"necLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"swcLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"swcLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"numLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"trainingStressScore",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"tss",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"intensityFactor",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"if",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"avgStrokeCount",type:"uint32",baseType:"uint32",array:!1,scale:10,offset:0,units:"strokes/lap",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgStrokeDistance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"swim_stroke",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"thresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"numActiveLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["126"],isAccumulated:!1,hasComponents:!0,subFields:[]},50:{num:50,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["128"],isAccumulated:!1,hasComponents:!0,subFields:[]},51:{num:51,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},63:{num:63,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},64:{num:64,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},66:{num:66,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"avgLapTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"bestLapIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["127"],isAccumulated:!1,hasComponents:!0,subFields:[]},82:{num:82,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"opponentName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"maxBallSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},88:{num:88,name:"avgBallSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"avgVerticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"avgStanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"avgStanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"avgTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},96:{num:96,name:"minTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},97:{num:97,name:"maxTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"avgSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"minSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},100:{num:100,name:"maxSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},101:{num:101,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},102:{num:102,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},103:{num:103,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},104:{num:104,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},105:{num:105,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"sportProfileName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},111:{num:111,name:"sportIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},112:{num:112,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},113:{num:113,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},121:{num:121,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},122:{num:122,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"enhancedAvgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},125:{num:125,name:"enhancedMaxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},126:{num:126,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},127:{num:127,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},128:{num:128,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},129:{num:129,name:"avgLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},130:{num:130,name:"maxLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},131:{num:131,name:"levBatteryConsumption",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},132:{num:132,name:"avgVerticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},133:{num:133,name:"avgStanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},134:{num:134,name:"avgStepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},137:{num:137,name:"totalAnaerobicTrainingEffect",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},139:{num:139,name:"avgVam",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},140:{num:140,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},141:{num:141,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},142:{num:142,name:"surfaceInterval",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},143:{num:143,name:"startCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},144:{num:144,name:"endCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},145:{num:145,name:"startN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},146:{num:146,name:"endN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},147:{num:147,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["169"],isAccumulated:!1,hasComponents:!0,subFields:[]},148:{num:148,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["170"],isAccumulated:!1,hasComponents:!0,subFields:[]},149:{num:149,name:"minRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["180"],isAccumulated:!1,hasComponents:!0,subFields:[]},150:{num:150,name:"minTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},155:{num:155,name:"o2Toxicity",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"OTUs",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},156:{num:156,name:"diveNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},168:{num:168,name:"trainingLoadPeak",type:"sint32",baseType:"sint32",array:!1,scale:65536,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},169:{num:169,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},170:{num:170,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},180:{num:180,name:"enhancedMinRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},181:{num:181,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},182:{num:182,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},183:{num:183,name:"jumpCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},186:{num:186,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},187:{num:187,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},192:{num:192,name:"workoutFeel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},193:{num:193,name:"workoutRpe",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},194:{num:194,name:"avgSpo2",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},195:{num:195,name:"avgStress",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},197:{num:197,name:"sdrrHrv",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"mS",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},198:{num:198,name:"rmssdHrv",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"mS",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},199:{num:199,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},200:{num:200,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},208:{num:208,name:"avgCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},209:{num:209,name:"minCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},210:{num:210,name:"maxCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},19:{num:19,name:"lap",messagesKey:"lapMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrides",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strides",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1},{name:"sport",value:11}]},{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2},{name:"sport",value:5},{name:"sport",value:15},{name:"sport",value:37}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["110"],isAccumulated:!1,hasComponents:!0,subFields:[]},14:{num:14,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["111"],isAccumulated:!1,hasComponents:!0,subFields:[]},15:{num:15,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"avgRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},18:{num:18,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"maxRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},19:{num:19,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"intensity",type:"intensity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"lapTrigger",type:"lapTrigger",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"numLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"firstLengthIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"avgStrokeDistance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"numActiveLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["112"],isAccumulated:!1,hasComponents:!0,subFields:[]},43:{num:43,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["114"],isAccumulated:!1,hasComponents:!0,subFields:[]},44:{num:44,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"repetitionNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["113"],isAccumulated:!1,hasComponents:!0,subFields:[]},63:{num:63,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},75:{num:75,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},76:{num:76,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"avgVerticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"avgStanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},79:{num:79,name:"avgStanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"avgTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"minTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"maxTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"avgSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},88:{num:88,name:"minSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"maxSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},100:{num:100,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},101:{num:101,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},102:{num:102,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},103:{num:103,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},104:{num:104,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},105:{num:105,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},106:{num:106,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},107:{num:107,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},108:{num:108,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},109:{num:109,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"enhancedAvgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},111:{num:111,name:"enhancedMaxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},112:{num:112,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},113:{num:113,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"avgLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"maxLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"levBatteryConsumption",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"avgVerticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"avgStanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"avgStepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},121:{num:121,name:"avgVam",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},122:{num:122,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"minTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},136:{num:136,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},137:{num:137,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},147:{num:147,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["136"],isAccumulated:!1,hasComponents:!0,subFields:[]},148:{num:148,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["137"],isAccumulated:!1,hasComponents:!0,subFields:[]},149:{num:149,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},150:{num:150,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},151:{num:151,name:"jumpCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},153:{num:153,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},154:{num:154,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},156:{num:156,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},157:{num:157,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},158:{num:158,name:"avgCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},159:{num:159,name:"minCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},160:{num:160,name:"maxCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},101:{num:101,name:"length",messagesKey:"lengthMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"totalStrokes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"strokes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"swim_stroke",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"avgSwimmingCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"strokes/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"lengthType",type:"lengthType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["22"],isAccumulated:!1,hasComponents:!0,subFields:[]},25:{num:25,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["23"],isAccumulated:!1,hasComponents:!0,subFields:[]}}},20:{num:20,name:"record",messagesKey:"recordMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"altitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["78"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"cadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},6:{num:6,name:"speed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["73"],isAccumulated:!1,hasComponents:!0,subFields:[]},7:{num:7,name:"power",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"compressedSpeedDistance",type:"byte",baseType:"byte",array:!0,scale:[100,16],offset:[0,0],units:["m/s","m"],bits:[12,12],components:["6","5"],isAccumulated:!1,hasComponents:!0,subFields:[]},9:{num:9,name:"grade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"resistance",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"timeFromCourse",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"cycleLength",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"temperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"speed1s",type:"uint8",baseType:"uint8",array:!0,scale:16,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"cycles",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:["cycles"],bits:[8],components:["19"],isAccumulated:!1,hasComponents:!0,subFields:[]},19:{num:19,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},28:{num:28,name:"compressedAccumulatedPower",type:"uint16",baseType:"uint16",array:!1,scale:[1],offset:[0],units:["watts"],bits:[16],components:["29"],isAccumulated:!1,hasComponents:!0,subFields:[]},29:{num:29,name:"accumulatedPower",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},30:{num:30,name:"leftRightBalance",type:"leftRightBalance",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"verticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"verticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"stanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"stanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"leftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"rightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"leftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"rightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"combinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"time128",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"strokeType",type:"strokeType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"zone",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"ballSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"cadence256",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"fractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"totalHemoglobinConc",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"totalHemoglobinConcMin",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"totalHemoglobinConcMax",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"saturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"saturatedHemoglobinPercentMin",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"saturatedHemoglobinPercentMax",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"leftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"rightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"leftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"leftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"rightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},72:{num:72,name:"rightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},73:{num:73,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"batterySoc",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"motorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"verticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"stanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"stepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"cycleLength16",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"absolutePressure",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"Pa",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"nextStopDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"nextStopTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"timeToSurface",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},96:{num:96,name:"ndlTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},97:{num:97,name:"cnsLoad",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"n2Load",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"respirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:["s"],bits:[8],components:["108"],isAccumulated:!1,hasComponents:!0,subFields:[]},108:{num:108,name:"enhancedRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"grit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"flow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"currentStress",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"ebikeTravelRange",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"km",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"ebikeBatteryLevel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"ebikeAssistMode",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"depends on sensor",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"ebikeAssistLevelPercent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"airTimeRemaining",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"pressureSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},125:{num:125,name:"volumeSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},126:{num:126,name:"rmv",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},127:{num:127,name:"ascentRate",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},129:{num:129,name:"po2",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},139:{num:139,name:"coreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},21:{num:21,name:"event",messagesKey:"eventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"data16",type:"uint16",baseType:"uint16",array:!1,scale:[1],offset:[0],units:[""],bits:[16],components:["3"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"data",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"timerTrigger",type:"timerTrigger",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:0}]},{name:"coursePointIndex",type:"messageIndex",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:10}]},{name:"batteryLevel",type:"uint16",baseType:"uint16",scale:1e3,offset:0,units:"V",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:11}]},{name:"virtualPartnerSpeed",type:"uint16",baseType:"uint16",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:12}]},{name:"hrHighAlert",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"bpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:13}]},{name:"hrLowAlert",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"bpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:14}]},{name:"speedHighAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:15}]},{name:"speedLowAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:16}]},{name:"cadHighAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:17}]},{name:"cadLowAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:18}]},{name:"powerHighAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"watts",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:19}]},{name:"powerLowAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"watts",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:20}]},{name:"timeDurationAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:23}]},{name:"distanceDurationAlert",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:24}]},{name:"calorieDurationAlert",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:25}]},{name:"fitnessEquipmentState",type:"fitnessEquipmentState",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:27}]},{name:"sportPoint",type:"uint32",baseType:"uint32",scale:[1,1],offset:[0,0],units:["",""],bits:[16,16],components:["7","8"],hasComponents:!0,map:[{name:"event",value:33}]},{name:"gearChangeData",type:"uint32",baseType:"uint32",scale:[1,1,1,1],offset:[0,0,0,0],units:["","","",""],bits:[8,8,8,8],components:["11","12","9","10"],hasComponents:!0,map:[{name:"event",value:42},{name:"event",value:43}]},{name:"riderPosition",type:"riderPositionType",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:44}]},{name:"commTimeout",type:"commTimeoutType",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:47}]},{name:"diveAlert",type:"diveAlert",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:56}]},{name:"autoActivityDetectDuration",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"min",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:54}]},{name:"radarThreatAlert",type:"uint32",baseType:"uint32",scale:[1,1,10,10],offset:[0,0,0,0],units:["","","",""],bits:[8,8,8,8],components:["21","22","23","24"],hasComponents:!0,map:[{name:"event",value:75}]}]},4:{num:4,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"score",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"frontGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"frontGear",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"rearGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"rearGear",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"autoActivityDetectStartTimestamp",type:"dateTime",baseType:"uint32",scale:1,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:54}]}]},21:{num:21,name:"radarThreatLevelMax",type:"radarThreatLevelType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"radarThreatCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"radarThreatAvgApproachSpeed",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"radarThreatMaxApproachSpeed",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},23:{num:23,name:"deviceInfo",messagesKey:"deviceInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"deviceType",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"bleDeviceType",type:"bleDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:3}]},{name:"antplusDeviceType",type:"antplusDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:1}]},{name:"antDeviceType",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:0}]},{name:"localDeviceType",type:"localDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:5}]}]},2:{num:2,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},5:{num:5,name:"softwareVersion",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"hardwareVersion",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"cumOperatingTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"batteryVoltage",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"V",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"batteryStatus",type:"batteryStatus",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"sensorPosition",type:"bodyLocation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"descriptor",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"antTransmissionType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"antDeviceNumber",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"antNetwork",type:"antNetwork",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"sourceType",type:"sourceType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"productName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"batteryLevel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},375:{num:375,name:"deviceAuxBatteryInfo",messagesKey:"deviceAuxBatteryInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"batteryVoltage",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"V",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"batteryStatus",type:"batteryStatus",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"batteryIdentifier",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},72:{num:72,name:"trainingFile",messagesKey:"trainingFileMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},128:{num:128,name:"weatherConditions",messagesKey:"weatherConditionsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weatherReport",type:"weatherReport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"temperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"condition",type:"weatherStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"windDirection",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"windSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"precipitationProbability",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"temperatureFeelsLike",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"relativeHumidity",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"location",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"observedAtTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"observedLocationLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"observedLocationLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"dayOfWeek",type:"dayOfWeek",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"highTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"lowTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},129:{num:129,name:"weatherAlert",messagesKey:"weatherAlertMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"reportId",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"issueTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"expireTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"severity",type:"weatherSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"type",type:"weatherSevereType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},160:{num:160,name:"gpsMetadata",messagesKey:"gpsMetadataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"heading",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"utcTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"velocity",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},161:{num:161,name:"cameraEvent",messagesKey:"cameraEventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"cameraEventType",type:"cameraEventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"cameraFileUuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cameraOrientation",type:"cameraOrientationType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},164:{num:164,name:"gyroscopeData",messagesKey:"gyroscopeDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gyroX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gyroY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gyroZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedGyroX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedGyroY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedGyroZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},165:{num:165,name:"accelerometerData",messagesKey:"accelerometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"accelX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"accelY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedAccelX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedAccelY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedAccelZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"compressedCalibratedAccelX",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"compressedCalibratedAccelY",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"compressedCalibratedAccelZ",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},208:{num:208,name:"magnetometerData",messagesKey:"magnetometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"magX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"magY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"magZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedMagX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedMagY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedMagZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},209:{num:209,name:"barometerData",messagesKey:"barometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"baroPres",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"Pa",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},167:{num:167,name:"threeDSensorCalibration",messagesKey:"threeDSensorCalibrationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensorType",type:"sensorType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calibrationFactor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"accelCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"g",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:0}]},{name:"gyroCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"deg/s",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:1}]}]},2:{num:2,name:"calibrationDivisor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"levelShift",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"offsetCal",type:"sint32",baseType:"sint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"orientationMatrix",type:"sint32",baseType:"sint32",array:!0,scale:65535,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},210:{num:210,name:"oneDSensorCalibration",messagesKey:"oneDSensorCalibrationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensorType",type:"sensorType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calibrationFactor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"baroCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"Pa",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:3}]}]},2:{num:2,name:"calibrationDivisor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"levelShift",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"offsetCal",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},169:{num:169,name:"videoFrame",messagesKey:"videoFrameMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"frameNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},174:{num:174,name:"obdiiData",messagesKey:"obdiiDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"timeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"pid",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"rawData",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"pidDataSize",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"systemTime",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"startTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},177:{num:177,name:"nmeaSentence",messagesKey:"nmeaSentenceMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sentence",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},178:{num:178,name:"aviationAttitude",messagesKey:"aviationAttitudeMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"systemTime",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"pitch",type:"sint16",baseType:"sint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"roll",type:"sint16",baseType:"sint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelLateral",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"accelNormal",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"turnRate",type:"sint16",baseType:"sint16",array:!0,scale:1024,offset:0,units:"radians/second",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"stage",type:"attitudeStage",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"attitudeStageComplete",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"track",type:"uint16",baseType:"uint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"validity",type:"attitudeValidity",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},184:{num:184,name:"video",messagesKey:"videoMesgs",fields:{0:{num:0,name:"url",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hostingProvider",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},185:{num:185,name:"videoTitle",messagesKey:"videoTitleMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"messageCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"text",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},186:{num:186,name:"videoDescription",messagesKey:"videoDescriptionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"messageCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"text",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},187:{num:187,name:"videoClip",messagesKey:"videoClipMesgs",fields:{0:{num:0,name:"clipNumber",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"endTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"clipStart",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"clipEnd",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},225:{num:225,name:"set",messagesKey:"setMesgs",fields:{254:{num:254,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"repetitions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:16,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"setType",type:"setType",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"category",type:"exerciseCategory",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"categorySubtype",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"weightDisplayUnit",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},285:{num:285,name:"jump",messagesKey:"jumpMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"distance",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"height",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"rotations",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"hangTime",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"score",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"speed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["8"],isAccumulated:!1,hasComponents:!0,subFields:[]},8:{num:8,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},312:{num:312,name:"split",messagesKey:"splitMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"splitType",type:"splitType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"avgVertSpeed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"endTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"totalCalories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"startElevation",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},313:{num:313,name:"splitSummary",messagesKey:"splitSummaryMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"splitType",type:"splitType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"numSplits",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"avgVertSpeed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalCalories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},317:{num:317,name:"climbPro",messagesKey:"climbProMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"climbProEvent",type:"climbProEvent",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"climbNumber",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"climbCategory",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"currentDist",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},206:{num:206,name:"fieldDescription",messagesKey:"fieldDescriptionMesgs",fields:{0:{num:0,name:"developerDataIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fieldDefinitionNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fitBaseTypeId",type:"fitBaseType",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fieldName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"array",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"components",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scale",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"offset",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"units",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"bits",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"accumulate",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"fitBaseUnitId",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"nativeMesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"nativeFieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},207:{num:207,name:"developerDataId",messagesKey:"developerDataIdMesgs",fields:{0:{num:0,name:"developerId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"applicationId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"manufacturerId",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"developerDataIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"applicationVersion",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},31:{num:31,name:"course",messagesKey:"courseMesgs",fields:{4:{num:4,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"capabilities",type:"courseCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},32:{num:32,name:"coursePoint",messagesKey:"coursePointMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"type",type:"coursePoint",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"favorite",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},148:{num:148,name:"segmentId",messagesKey:"segmentIdMesgs",fields:{0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"uuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"userProfilePrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"deviceId",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"defaultRaceLeader",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"deleteStatus",type:"segmentDeleteStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"selectionType",type:"segmentSelectionType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},149:{num:149,name:"segmentLeaderboardEntry",messagesKey:"segmentLeaderboardEntryMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"type",type:"segmentLeaderboardType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"groupPrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"activityId",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"segmentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"activityIdString",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},150:{num:150,name:"segmentPoint",messagesKey:"segmentPointMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"altitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["6"],isAccumulated:!1,hasComponents:!0,subFields:[]},5:{num:5,name:"leaderTime",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},142:{num:142,name:"segmentLap",messagesKey:"segmentLapMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"necLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"necLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"swcLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"swcLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["91"],isAccumulated:!1,hasComponents:!0,subFields:[]},35:{num:35,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["92"],isAccumulated:!1,hasComponents:!0,subFields:[]},36:{num:36,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"repetitionNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["93"],isAccumulated:!1,hasComponents:!0,subFields:[]},55:{num:55,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"sportEvent",type:"sportEvent",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},63:{num:63,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},64:{num:64,name:"status",type:"segmentLapStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"uuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},66:{num:66,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"frontGearShiftCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"rearGearShiftCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},72:{num:72,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},73:{num:73,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},75:{num:75,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},76:{num:76,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},79:{num:79,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},151:{num:151,name:"segmentFile",messagesKey:"segmentFileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fileUuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"userProfilePrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"leaderType",type:"segmentLeaderboardType",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"leaderGroupPrimaryKey",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"leaderActivityId",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"leaderActivityIdString",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"defaultRaceLeader",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},26:{num:26,name:"workout",messagesKey:"workoutMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"capabilities",type:"workoutCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"numValidSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"wktName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"wktDescription",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},158:{num:158,name:"workoutSession",messagesKey:"workoutSessionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"numValidSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"firstStepIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},27:{num:27,name:"workoutStep",messagesKey:"workoutStepMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"wktStepName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"durationType",type:"wktStepDuration",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"durationValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"durationTime",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:0},{name:"durationType",value:28}]},{name:"durationDistance",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:1}]},{name:"durationHr",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:2},{name:"durationType",value:3}]},{name:"durationCalories",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:4}]},{name:"durationStep",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:6},{name:"durationType",value:7},{name:"durationType",value:8},{name:"durationType",value:9},{name:"durationType",value:10},{name:"durationType",value:11},{name:"durationType",value:12},{name:"durationType",value:13}]},{name:"durationPower",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:14},{name:"durationType",value:15}]},{name:"durationReps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:29}]}]},3:{num:3,name:"targetType",type:"wktStepTarget",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"targetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"targetSpeedZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"targetHrZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"targetCadenceZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"targetPowerZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]},{name:"repeatSteps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:6}]},{name:"repeatTime",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:7}]},{name:"repeatDistance",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:8}]},{name:"repeatCalories",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:9}]},{name:"repeatHr",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:10},{name:"durationType",value:11}]},{name:"repeatPower",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:12},{name:"durationType",value:13}]},{name:"targetStrokeType",type:"swimStroke",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:11}]}]},5:{num:5,name:"customTargetValueLow",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"customTargetSpeedLow",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"customTargetHeartRateLow",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"customTargetCadenceLow",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"customTargetPowerLow",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]}]},6:{num:6,name:"customTargetValueHigh",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"customTargetSpeedHigh",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"customTargetHeartRateHigh",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"customTargetCadenceHigh",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"customTargetPowerHigh",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]}]},7:{num:7,name:"intensity",type:"intensity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"notes",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"equipment",type:"workoutEquipment",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"exerciseCategory",type:"exerciseCategory",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"exerciseName",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"exerciseWeight",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"weightDisplayUnit",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"secondaryTargetType",type:"wktStepTarget",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"secondaryTargetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryTargetSpeedZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryTargetHrZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryTargetCadenceZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryTargetPowerZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]},{name:"secondaryTargetStrokeType",type:"swimStroke",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:11}]}]},21:{num:21,name:"secondaryCustomTargetValueLow",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryCustomTargetSpeedLow",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryCustomTargetHeartRateLow",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryCustomTargetCadenceLow",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryCustomTargetPowerLow",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]}]},22:{num:22,name:"secondaryCustomTargetValueHigh",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryCustomTargetSpeedHigh",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryCustomTargetHeartRateHigh",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryCustomTargetCadenceHigh",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryCustomTargetPowerHigh",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]}]}}},264:{num:264,name:"exerciseTitle",messagesKey:"exerciseTitleMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"exerciseCategory",type:"exerciseCategory",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"exerciseName",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"wktStepName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},28:{num:28,name:"schedule",messagesKey:"scheduleMesgs",fields:{0:{num:0,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},2:{num:2,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"completed",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"type",type:"schedule",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scheduledTime",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},33:{num:33,name:"totals",messagesKey:"totalsMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timerTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"calories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"elapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sessions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"sportIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},30:{num:30,name:"weightScale",messagesKey:"weightScaleMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weight",type:"weight",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"percentFat",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"percentHydration",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"visceralFatMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"boneMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"muscleMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"basalMet",type:"uint16",baseType:"uint16",array:!1,scale:4,offset:0,units:"kcal/day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"physiqueRating",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"activeMet",type:"uint16",baseType:"uint16",array:!1,scale:4,offset:0,units:"kcal/day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"metabolicAge",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"years",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"visceralFatRating",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"userProfileIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"bmi",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg/m^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},51:{num:51,name:"bloodPressure",messagesKey:"bloodPressureMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"systolicPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"diastolicPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"meanArterialPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"map3SampleMean",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"mapMorningValues",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"mapEveningValues",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"heartRateType",type:"hrType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"status",type:"bpStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"userProfileIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},103:{num:103,name:"monitoringInfo",messagesKey:"monitoringInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"activityType",type:"activityType",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cyclesToDistance",type:"uint16",baseType:"uint16",array:!0,scale:5e3,offset:0,units:"m/cycle",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"cyclesToCalories",type:"uint16",baseType:"uint16",array:!0,scale:5e3,offset:0,units:"kcal/cycle",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"restingMetabolicRate",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal / day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},55:{num:55,name:"monitoring",messagesKey:"monitoringMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cycles",type:"uint32",baseType:"uint32",array:!1,scale:2,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"steps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"steps",bits:[],components:[],hasComponents:!1,map:[{name:"activityType",value:6},{name:"activityType",value:1}]},{name:"strokes",type:"uint32",baseType:"uint32",scale:2,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"activityType",value:2},{name:"activityType",value:5}]}]},4:{num:4,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"activitySubtype",type:"activitySubtype",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"activityLevel",type:"activityLevel",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"distance16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"100 * m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"cycles16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"2 * cycles (steps)",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"activeTime16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"temperature",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"temperatureMin",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"temperatureMax",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"activityTime",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"activeCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"currentActivityTypeIntensity",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[5,3],components:["5","28"],isAccumulated:!1,hasComponents:!0,subFields:[]},25:{num:25,name:"timestampMin8",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"timestamp16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"intensity",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"durationMin",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"ascent",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"descent",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"moderateActivityMinutes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"vigorousActivityMinutes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},211:{num:211,name:"monitoringHrData",messagesKey:"monitoringHrDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"currentDayRestingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},269:{num:269,name:"spo2Data",messagesKey:"spo2DataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"readingSpo2",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"readingConfidence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mode",type:"spo2MeasurementType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},132:{num:132,name:"hr",messagesKey:"hrMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time256",type:"uint8",baseType:"uint8",array:!1,scale:[256],offset:[0],units:["s"],bits:[8],components:["0"],isAccumulated:!1,hasComponents:!0,subFields:[]},6:{num:6,name:"filteredBpm",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"eventTimestamp",type:"uint32",baseType:"uint32",array:!0,scale:1024,offset:0,units:"s",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},10:{num:10,name:"eventTimestamp12",type:"byte",baseType:"byte",array:!0,scale:[1024,1024,1024,1024,1024,1024,1024,1024,1024,1024],offset:[0,0,0,0,0,0,0,0,0,0],units:["s","","","","","","","","",""],bits:[12,12,12,12,12,12,12,12,12,12],components:["9","9","9","9","9","9","9","9","9","9"],isAccumulated:!1,hasComponents:!0,subFields:[]}}},227:{num:227,name:"stressLevel",messagesKey:"stressLevelMesgs",fields:{0:{num:0,name:"stressLevelValue",type:"sint16",baseType:"sint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"stressLevelTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},229:{num:229,name:"maxMetData",messagesKey:"maxMetDataMesgs",fields:{0:{num:0,name:"updateTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"vo2Max",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mL/kg/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"maxMetCategory",type:"maxMetCategory",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"calibratedData",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"hrSource",type:"maxMetHeartRateSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"speedSource",type:"maxMetSpeedSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},314:{num:314,name:"hsaBodyBatteryData",messagesKey:"hsaBodyBatteryDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"level",type:"sint8",baseType:"sint8",array:!0,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"charged",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"uncharged",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},315:{num:315,name:"hsaEvent",messagesKey:"hsaEventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"eventId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},302:{num:302,name:"hsaAccelerometerData",messagesKey:"hsaAccelerometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"samplingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"accelX",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"accelY",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelZ",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timestamp32k",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},376:{num:376,name:"hsaGyroscopeData",messagesKey:"hsaGyroscopeDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"samplingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"1/32768 s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gyroX",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gyroY",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gyroZ",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timestamp32k",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"1/32768 s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},304:{num:304,name:"hsaStepData",messagesKey:"hsaStepDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"steps",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"steps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},305:{num:305,name:"hsaSpo2Data",messagesKey:"hsaSpo2DataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"readingSpo2",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"confidence",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},306:{num:306,name:"hsaStressData",messagesKey:"hsaStressDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"stressLevel",type:"sint8",baseType:"sint8",array:!0,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},307:{num:307,name:"hsaRespirationData",messagesKey:"hsaRespirationDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"respirationRate",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},308:{num:308,name:"hsaHeartRateData",messagesKey:"hsaHeartRateDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"status",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"heartRate",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},389:{num:389,name:"hsaConfigurationData",messagesKey:"hsaConfigurationDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"dataSize",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},409:{num:409,name:"hsaWristTemperatureData",messagesKey:"hsaWristTemperatureDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"value",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"degC",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},145:{num:145,name:"memoGlob",messagesKey:"memoGlobMesgs",fields:{250:{num:250,name:"partIndex",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"memo",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"parentIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},275:{num:275,name:"sleepLevel",messagesKey:"sleepLevelMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sleepLevel",type:"sleepLevel",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},82:{num:82,name:"antChannelId",messagesKey:"antChannelIdMesgs",fields:{0:{num:0,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"deviceType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"deviceNumber",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"transmissionType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},80:{num:80,name:"antRx",messagesKey:"antRxMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgId",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mesgData",type:"byte",baseType:"byte",array:!0,scale:[1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0],units:["","","","","","","","",""],bits:[8,8,8,8,8,8,8,8,8],components:["3","4","4","4","4","4","4","4","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},81:{num:81,name:"antTx",messagesKey:"antTxMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgId",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mesgData",type:"byte",baseType:"byte",array:!0,scale:[1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0],units:["","","","","","","","",""],bits:[8,8,8,8,8,8,8,8,8],components:["3","4","4","4","4","4","4","4","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},200:{num:200,name:"exdScreenConfiguration",messagesKey:"exdScreenConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fieldCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"layout",type:"exdLayout",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"screenEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},201:{num:201,name:"exdDataFieldConfiguration",messagesKey:"exdDataFieldConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"conceptField",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[4,4],components:["2","3"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"fieldId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"conceptCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"displayType",type:"exdDisplayType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"title",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},202:{num:202,name:"exdDataConceptConfiguration",messagesKey:"exdDataConceptConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"conceptField",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[4,4],components:["2","3"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"fieldId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"conceptIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"dataPage",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"conceptKey",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scaling",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"dataUnits",type:"exdDataUnits",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"qualifier",type:"exdQualifiers",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"descriptor",type:"exdDescriptors",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"isSigned",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},268:{num:268,name:"diveSummary",messagesKey:"diveSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"referenceMesg",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"referenceIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"surfaceInterval",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"startCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"startN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"endN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"o2Toxicity",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"OTUs",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"diveNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"bottomTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"avgPressureSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgVolumeSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"avgRmv",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"descentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"ascentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgAscentRate",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"avgDescentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"maxAscentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"maxDescentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"hangTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},289:{num:289,name:"aadAccelFeatures",messagesKey:"aadAccelFeaturesMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"time",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"energyTotal",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"zeroCrossCnt",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"instance",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeAboveThreshold",type:"uint16",baseType:"uint16",array:!1,scale:25,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},78:{num:78,name:"hrv",messagesKey:"hrvMesgs",fields:{0:{num:0,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},290:{num:290,name:"beatIntervals",messagesKey:"beatIntervalsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},370:{num:370,name:"hrvStatusSummary",messagesKey:"hrvStatusSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weeklyAverage",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"lastNightAverage",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"lastNight5MinHigh",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"baselineLowUpper",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"baselineBalancedLower",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"baselineBalancedUpper",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"status",type:"hrvStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},371:{num:371,name:"hrvValue",messagesKey:"hrvValueMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"value",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},372:{num:372,name:"rawBbi",messagesKey:"rawBbiMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"data",type:"uint16",baseType:"uint16",array:!0,scale:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],units:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],bits:[14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1],components:["2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"quality",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gap",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},297:{num:297,name:"respirationRate",messagesKey:"respirationRateMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"respirationRate",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},387:{num:387,name:"chronoShotSession",messagesKey:"chronoShotSessionMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"minSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"shotCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"projectileType",type:"projectileType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"grainWeight",type:"uint32",baseType:"uint32",array:!1,scale:10,offset:0,units:"gr",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"standardDeviation",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},388:{num:388,name:"chronoShotData",messagesKey:"chronoShotDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"shotSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"shotNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},319:{num:319,name:"tankUpdate",messagesKey:"tankUpdateMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensor",type:"antChannelId",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"pressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},323:{num:323,name:"tankSummary",messagesKey:"tankSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensor",type:"antChannelId",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startPressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"endPressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"volumeUsed",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"L",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},346:{num:346,name:"sleepAssessment",messagesKey:"sleepAssessmentMesgs",fields:{0:{num:0,name:"combinedAwakeScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"awakeTimeScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"awakeningsCountScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"deepSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sleepDurationScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"lightSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"overallSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"sleepQualityScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"sleepRecoveryScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"remSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"sleepRestlessnessScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"awakeningsCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"interruptionsScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"averageStressDuringSleep",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},470:{num:470,name:"sleepDisruptionSeverityPeriod",messagesKey:"sleepDisruptionSeverityPeriodMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"severity",type:"sleepDisruptionSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},471:{num:471,name:"sleepDisruptionOvernightSeverity",messagesKey:"sleepDisruptionOvernightSeverityMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"severity",type:"sleepDisruptionSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},398:{num:398,name:"skinTempOvernight",messagesKey:"skinTempOvernightMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"averageDeviation",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"average7DayDeviation",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"nightlyValue",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},105:{num:105,name:"pad",messagesKey:"padMesgs",fields:{}}},types:{file:{1:"device",2:"settings",3:"sport",4:"activity",5:"workout",6:"course",7:"schedules",9:"weight",10:"totals",11:"goals",14:"bloodPressure",15:"monitoringA",20:"activitySummary",28:"monitoringDaily",32:"monitoringB",34:"segment",35:"segmentList",40:"exdConfiguration",247:"mfgRangeMin",254:"mfgRangeMax"},mesgNum:{0:"fileId",1:"capabilities",2:"deviceSettings",3:"userProfile",4:"hrmProfile",5:"sdmProfile",6:"bikeProfile",7:"zonesTarget",8:"hrZone",9:"powerZone",10:"metZone",12:"sport",13:"trainingSettings",15:"goal",18:"session",19:"lap",20:"record",21:"event",23:"deviceInfo",26:"workout",27:"workoutStep",28:"schedule",30:"weightScale",31:"course",32:"coursePoint",33:"totals",34:"activity",35:"software",37:"fileCapabilities",38:"mesgCapabilities",39:"fieldCapabilities",49:"fileCreator",51:"bloodPressure",53:"speedZone",55:"monitoring",72:"trainingFile",78:"hrv",80:"antRx",81:"antTx",82:"antChannelId",101:"length",103:"monitoringInfo",105:"pad",106:"slaveDevice",127:"connectivity",128:"weatherConditions",129:"weatherAlert",131:"cadenceZone",132:"hr",142:"segmentLap",145:"memoGlob",148:"segmentId",149:"segmentLeaderboardEntry",150:"segmentPoint",151:"segmentFile",158:"workoutSession",159:"watchfaceSettings",160:"gpsMetadata",161:"cameraEvent",162:"timestampCorrelation",164:"gyroscopeData",165:"accelerometerData",167:"threeDSensorCalibration",169:"videoFrame",174:"obdiiData",177:"nmeaSentence",178:"aviationAttitude",184:"video",185:"videoTitle",186:"videoDescription",187:"videoClip",188:"ohrSettings",200:"exdScreenConfiguration",201:"exdDataFieldConfiguration",202:"exdDataConceptConfiguration",206:"fieldDescription",207:"developerDataId",208:"magnetometerData",209:"barometerData",210:"oneDSensorCalibration",211:"monitoringHrData",216:"timeInZone",225:"set",227:"stressLevel",229:"maxMetData",258:"diveSettings",259:"diveGas",262:"diveAlarm",264:"exerciseTitle",268:"diveSummary",269:"spo2Data",275:"sleepLevel",285:"jump",289:"aadAccelFeatures",290:"beatIntervals",297:"respirationRate",302:"hsaAccelerometerData",304:"hsaStepData",305:"hsaSpo2Data",306:"hsaStressData",307:"hsaRespirationData",308:"hsaHeartRateData",312:"split",313:"splitSummary",314:"hsaBodyBatteryData",315:"hsaEvent",317:"climbPro",319:"tankUpdate",323:"tankSummary",346:"sleepAssessment",370:"hrvStatusSummary",371:"hrvValue",372:"rawBbi",375:"deviceAuxBatteryInfo",376:"hsaGyroscopeData",387:"chronoShotSession",388:"chronoShotData",389:"hsaConfigurationData",393:"diveApneaAlarm",398:"skinTempOvernight",409:"hsaWristTemperatureData",470:"sleepDisruptionSeverityPeriod",471:"sleepDisruptionOvernightSeverity",65280:"mfgRangeMin",65534:"mfgRangeMax"},checksum:{0:"clear",1:"ok"},fileFlags:{2:"read",4:"write",8:"erase"},mesgCount:{0:"numPerFile",1:"maxPerFile",2:"maxPerFileType"},dateTime:{268435456:"min"},localDateTime:{268435456:"min"},messageIndex:{32768:"selected",28672:"reserved",4095:"mask"},deviceIndex:{0:"creator"},gender:{0:"female",1:"male"},language:{0:"english",1:"french",2:"italian",3:"german",4:"spanish",5:"croatian",6:"czech",7:"danish",8:"dutch",9:"finnish",10:"greek",11:"hungarian",12:"norwegian",13:"polish",14:"portuguese",15:"slovakian",16:"slovenian",17:"swedish",18:"russian",19:"turkish",20:"latvian",21:"ukrainian",22:"arabic",23:"farsi",24:"bulgarian",25:"romanian",26:"chinese",27:"japanese",28:"korean",29:"taiwanese",30:"thai",31:"hebrew",32:"brazilianPortuguese",33:"indonesian",34:"malaysian",35:"vietnamese",36:"burmese",37:"mongolian",254:"custom"},languageBits0:{1:"english",2:"french",4:"italian",8:"german",16:"spanish",32:"croatian",64:"czech",128:"danish"},languageBits1:{1:"dutch",2:"finnish",4:"greek",8:"hungarian",16:"norwegian",32:"polish",64:"portuguese",128:"slovakian"},languageBits2:{1:"slovenian",2:"swedish",4:"russian",8:"turkish",16:"latvian",32:"ukrainian",64:"arabic",128:"farsi"},languageBits3:{1:"bulgarian",2:"romanian",4:"chinese",8:"japanese",16:"korean",32:"taiwanese",64:"thai",128:"hebrew"},languageBits4:{1:"brazilianPortuguese",2:"indonesian",4:"malaysian",8:"vietnamese",16:"burmese",32:"mongolian"},timeZone:{0:"almaty",1:"bangkok",2:"bombay",3:"brasilia",4:"cairo",5:"capeVerdeIs",6:"darwin",7:"eniwetok",8:"fiji",9:"hongKong",10:"islamabad",11:"kabul",12:"magadan",13:"midAtlantic",14:"moscow",15:"muscat",16:"newfoundland",17:"samoa",18:"sydney",19:"tehran",20:"tokyo",21:"usAlaska",22:"usAtlantic",23:"usCentral",24:"usEastern",25:"usHawaii",26:"usMountain",27:"usPacific",28:"other",29:"auckland",30:"kathmandu",31:"europeWesternWet",32:"europeCentralCet",33:"europeEasternEet",34:"jakarta",35:"perth",36:"adelaide",37:"brisbane",38:"tasmania",39:"iceland",40:"amsterdam",41:"athens",42:"barcelona",43:"berlin",44:"brussels",45:"budapest",46:"copenhagen",47:"dublin",48:"helsinki",49:"lisbon",50:"london",51:"madrid",52:"munich",53:"oslo",54:"paris",55:"prague",56:"reykjavik",57:"rome",58:"stockholm",59:"vienna",60:"warsaw",61:"zurich",62:"quebec",63:"ontario",64:"manitoba",65:"saskatchewan",66:"alberta",67:"britishColumbia",68:"boise",69:"boston",70:"chicago",71:"dallas",72:"denver",73:"kansasCity",74:"lasVegas",75:"losAngeles",76:"miami",77:"minneapolis",78:"newYork",79:"newOrleans",80:"phoenix",81:"santaFe",82:"seattle",83:"washingtonDc",84:"usArizona",85:"chita",86:"ekaterinburg",87:"irkutsk",88:"kaliningrad",89:"krasnoyarsk",90:"novosibirsk",91:"petropavlovskKamchatskiy",92:"samara",93:"vladivostok",94:"mexicoCentral",95:"mexicoMountain",96:"mexicoPacific",97:"capeTown",98:"winkhoek",99:"lagos",100:"riyahd",101:"venezuela",102:"australiaLh",103:"santiago",253:"manual",254:"automatic"},displayMeasure:{0:"metric",1:"statute",2:"nautical"},displayHeart:{0:"bpm",1:"max",2:"reserve"},displayPower:{0:"watts",1:"percentFtp"},displayPosition:{0:"degree",1:"degreeMinute",2:"degreeMinuteSecond",3:"austrianGrid",4:"britishGrid",5:"dutchGrid",6:"hungarianGrid",7:"finnishGrid",8:"germanGrid",9:"icelandicGrid",10:"indonesianEquatorial",11:"indonesianIrian",12:"indonesianSouthern",13:"indiaZone0",14:"indiaZoneIA",15:"indiaZoneIB",16:"indiaZoneIIA",17:"indiaZoneIIB",18:"indiaZoneIIIA",19:"indiaZoneIIIB",20:"indiaZoneIVA",21:"indiaZoneIVB",22:"irishTransverse",23:"irishGrid",24:"loran",25:"maidenheadGrid",26:"mgrsGrid",27:"newZealandGrid",28:"newZealandTransverse",29:"qatarGrid",30:"modifiedSwedishGrid",31:"swedishGrid",32:"southAfricanGrid",33:"swissGrid",34:"taiwanGrid",35:"unitedStatesGrid",36:"utmUpsGrid",37:"westMalayan",38:"borneoRso",39:"estonianGrid",40:"latvianGrid",41:"swedishRef99Grid"},switch:{0:"off",1:"on",2:"auto"},sport:{0:"generic",1:"running",2:"cycling",3:"transition",4:"fitnessEquipment",5:"swimming",6:"basketball",7:"soccer",8:"tennis",9:"americanFootball",10:"training",11:"walking",12:"crossCountrySkiing",13:"alpineSkiing",14:"snowboarding",15:"rowing",16:"mountaineering",17:"hiking",18:"multisport",19:"paddling",20:"flying",21:"eBiking",22:"motorcycling",23:"boating",24:"driving",25:"golf",26:"hangGliding",27:"horsebackRiding",28:"hunting",29:"fishing",30:"inlineSkating",31:"rockClimbing",32:"sailing",33:"iceSkating",34:"skyDiving",35:"snowshoeing",36:"snowmobiling",37:"standUpPaddleboarding",38:"surfing",39:"wakeboarding",40:"waterSkiing",41:"kayaking",42:"rafting",43:"windsurfing",44:"kitesurfing",45:"tactical",46:"jumpmaster",47:"boxing",48:"floorClimbing",49:"baseball",53:"diving",62:"hiit",64:"racket",65:"wheelchairPushWalk",66:"wheelchairPushRun",67:"meditation",69:"discGolf",71:"cricket",72:"rugby",73:"hockey",74:"lacrosse",75:"volleyball",76:"waterTubing",77:"wakesurfing",80:"mixedMartialArts",82:"snorkeling",83:"dance",84:"jumpRope",254:"all"},sportBits0:{1:"generic",2:"running",4:"cycling",8:"transition",16:"fitnessEquipment",32:"swimming",64:"basketball",128:"soccer"},sportBits1:{1:"tennis",2:"americanFootball",4:"training",8:"walking",16:"crossCountrySkiing",32:"alpineSkiing",64:"snowboarding",128:"rowing"},sportBits2:{1:"mountaineering",2:"hiking",4:"multisport",8:"paddling",16:"flying",32:"eBiking",64:"motorcycling",128:"boating"},sportBits3:{1:"driving",2:"golf",4:"hangGliding",8:"horsebackRiding",16:"hunting",32:"fishing",64:"inlineSkating",128:"rockClimbing"},sportBits4:{1:"sailing",2:"iceSkating",4:"skyDiving",8:"snowshoeing",16:"snowmobiling",32:"standUpPaddleboarding",64:"surfing",128:"wakeboarding"},sportBits5:{1:"waterSkiing",2:"kayaking",4:"rafting",8:"windsurfing",16:"kitesurfing",32:"tactical",64:"jumpmaster",128:"boxing"},sportBits6:{1:"floorClimbing"},subSport:{0:"generic",1:"treadmill",2:"street",3:"trail",4:"track",5:"spin",6:"indoorCycling",7:"road",8:"mountain",9:"downhill",10:"recumbent",11:"cyclocross",12:"handCycling",13:"trackCycling",14:"indoorRowing",15:"elliptical",16:"stairClimbing",17:"lapSwimming",18:"openWater",19:"flexibilityTraining",20:"strengthTraining",21:"warmUp",22:"match",23:"exercise",24:"challenge",25:"indoorSkiing",26:"cardioTraining",27:"indoorWalking",28:"eBikeFitness",29:"bmx",30:"casualWalking",31:"speedWalking",32:"bikeToRunTransition",33:"runToBikeTransition",34:"swimToBikeTransition",35:"atv",36:"motocross",37:"backcountry",38:"resort",39:"rcDrone",40:"wingsuit",41:"whitewater",42:"skateSkiing",43:"yoga",44:"pilates",45:"indoorRunning",46:"gravelCycling",47:"eBikeMountain",48:"commuting",49:"mixedSurface",50:"navigate",51:"trackMe",52:"map",53:"singleGasDiving",54:"multiGasDiving",55:"gaugeDiving",56:"apneaDiving",57:"apneaHunting",58:"virtualActivity",59:"obstacle",62:"breathing",65:"sailRace",67:"ultra",68:"indoorClimbing",69:"bouldering",70:"hiit",73:"amrap",74:"emom",75:"tabata",84:"pickleball",85:"padel",86:"indoorWheelchairWalk",87:"indoorWheelchairRun",88:"indoorHandCycling",94:"squash",95:"badminton",96:"racquetball",97:"tableTennis",110:"flyCanopy",111:"flyParaglide",112:"flyParamotor",113:"flyPressurized",114:"flyNavigate",115:"flyTimer",116:"flyAltimeter",117:"flyWx",118:"flyVfr",119:"flyIfr",254:"all"},sportEvent:{0:"uncategorized",1:"geocaching",2:"fitness",3:"recreation",4:"race",5:"specialEvent",6:"training",7:"transportation",8:"touring"},activity:{0:"manual",1:"autoMultiSport"},intensity:{0:"active",1:"rest",2:"warmup",3:"cooldown",4:"recovery",5:"interval",6:"other"},sessionTrigger:{0:"activityEnd",1:"manual",2:"autoMultiSport",3:"fitnessEquipment"},autolapTrigger:{0:"time",1:"distance",2:"positionStart",3:"positionLap",4:"positionWaypoint",5:"positionMarked",6:"off",13:"autoSelect"},lapTrigger:{0:"manual",1:"time",2:"distance",3:"positionStart",4:"positionLap",5:"positionWaypoint",6:"positionMarked",7:"sessionEnd",8:"fitnessEquipment"},timeMode:{0:"hour12",1:"hour24",2:"military",3:"hour12WithSeconds",4:"hour24WithSeconds",5:"utc"},backlightMode:{0:"off",1:"manual",2:"keyAndMessages",3:"autoBrightness",4:"smartNotifications",5:"keyAndMessagesNight",6:"keyAndMessagesAndSmartNotifications"},dateMode:{0:"dayMonth",1:"monthDay"},backlightTimeout:{0:"infinite"},event:{0:"timer",3:"workout",4:"workoutStep",5:"powerDown",6:"powerUp",7:"offCourse",8:"session",9:"lap",10:"coursePoint",11:"battery",12:"virtualPartnerPace",13:"hrHighAlert",14:"hrLowAlert",15:"speedHighAlert",16:"speedLowAlert",17:"cadHighAlert",18:"cadLowAlert",19:"powerHighAlert",20:"powerLowAlert",21:"recoveryHr",22:"batteryLow",23:"timeDurationAlert",24:"distanceDurationAlert",25:"calorieDurationAlert",26:"activity",27:"fitnessEquipment",28:"length",32:"userMarker",33:"sportPoint",36:"calibration",42:"frontGearChange",43:"rearGearChange",44:"riderPositionChange",45:"elevHighAlert",46:"elevLowAlert",47:"commTimeout",54:"autoActivityDetect",56:"diveAlert",57:"diveGasSwitched",71:"tankPressureReserve",72:"tankPressureCritical",73:"tankLost",75:"radarThreatAlert",76:"tankBatteryLow",81:"tankPodConnected",82:"tankPodDisconnected"},eventType:{0:"start",1:"stop",2:"consecutiveDepreciated",3:"marker",4:"stopAll",5:"beginDepreciated",6:"endDepreciated",7:"endAllDepreciated",8:"stopDisable",9:"stopDisableAll"},timerTrigger:{0:"manual",1:"auto",2:"fitnessEquipment"},fitnessEquipmentState:{0:"ready",1:"inUse",2:"paused",3:"unknown"},tone:{0:"off",1:"tone",2:"vibrate",3:"toneAndVibrate"},autoscroll:{0:"none",1:"slow",2:"medium",3:"fast"},activityClass:{127:"level",100:"levelMax",128:"athlete"},hrZoneCalc:{0:"custom",1:"percentMaxHr",2:"percentHrr",3:"percentLthr"},pwrZoneCalc:{0:"custom",1:"percentFtp"},wktStepDuration:{0:"time",1:"distance",2:"hrLessThan",3:"hrGreaterThan",4:"calories",5:"open",6:"repeatUntilStepsCmplt",7:"repeatUntilTime",8:"repeatUntilDistance",9:"repeatUntilCalories",10:"repeatUntilHrLessThan",11:"repeatUntilHrGreaterThan",12:"repeatUntilPowerLessThan",13:"repeatUntilPowerGreaterThan",14:"powerLessThan",15:"powerGreaterThan",16:"trainingPeaksTss",17:"repeatUntilPowerLastLapLessThan",18:"repeatUntilMaxPowerLastLapLessThan",19:"power3sLessThan",20:"power10sLessThan",21:"power30sLessThan",22:"power3sGreaterThan",23:"power10sGreaterThan",24:"power30sGreaterThan",25:"powerLapLessThan",26:"powerLapGreaterThan",27:"repeatUntilTrainingPeaksTss",28:"repetitionTime",29:"reps",31:"timeOnly"},wktStepTarget:{0:"speed",1:"heartRate",2:"open",3:"cadence",4:"power",5:"grade",6:"resistance",7:"power3s",8:"power10s",9:"power30s",10:"powerLap",11:"swimStroke",12:"speedLap",13:"heartRateLap"},goal:{0:"time",1:"distance",2:"calories",3:"frequency",4:"steps",5:"ascent",6:"activeMinutes"},goalRecurrence:{0:"off",1:"daily",2:"weekly",3:"monthly",4:"yearly",5:"custom"},goalSource:{0:"auto",1:"community",2:"user"},schedule:{0:"workout",1:"course"},coursePoint:{0:"generic",1:"summit",2:"valley",3:"water",4:"food",5:"danger",6:"left",7:"right",8:"straight",9:"firstAid",10:"fourthCategory",11:"thirdCategory",12:"secondCategory",13:"firstCategory",14:"horsCategory",15:"sprint",16:"leftFork",17:"rightFork",18:"middleFork",19:"slightLeft",20:"sharpLeft",21:"slightRight",22:"sharpRight",23:"uTurn",24:"segmentStart",25:"segmentEnd",27:"campsite",28:"aidStation",29:"restArea",30:"generalDistance",31:"service",32:"energyGel",33:"sportsDrink",34:"mileMarker",35:"checkpoint",36:"shelter",37:"meetingSpot",38:"overlook",39:"toilet",40:"shower",41:"gear",42:"sharpCurve",43:"steepIncline",44:"tunnel",45:"bridge",46:"obstacle",47:"crossing",48:"store",49:"transition",50:"navaid",51:"transport",52:"alert",53:"info"},manufacturer:{1:"garmin",2:"garminFr405Antfs",3:"zephyr",4:"dayton",5:"idt",6:"srm",7:"quarq",8:"ibike",9:"saris",10:"sparkHk",11:"tanita",12:"echowell",13:"dynastreamOem",14:"nautilus",15:"dynastream",16:"timex",17:"metrigear",18:"xelic",19:"beurer",20:"cardiosport",21:"aAndD",22:"hmm",23:"suunto",24:"thitaElektronik",25:"gpulse",26:"cleanMobile",27:"pedalBrain",28:"peaksware",29:"saxonar",30:"lemondFitness",31:"dexcom",32:"wahooFitness",33:"octaneFitness",34:"archinoetics",35:"theHurtBox",36:"citizenSystems",37:"magellan",38:"osynce",39:"holux",40:"concept2",41:"shimano",42:"oneGiantLeap",43:"aceSensor",44:"brimBrothers",45:"xplova",46:"perceptionDigital",47:"bf1systems",48:"pioneer",49:"spantec",50:"metalogics",51:"4iiiis",52:"seikoEpson",53:"seikoEpsonOem",54:"iforPowell",55:"maxwellGuider",56:"starTrac",57:"breakaway",58:"alatechTechnologyLtd",59:"mioTechnologyEurope",60:"rotor",61:"geonaute",62:"idBike",63:"specialized",64:"wtek",65:"physicalEnterprises",66:"northPoleEngineering",67:"bkool",68:"cateye",69:"stagesCycling",70:"sigmasport",71:"tomtom",72:"peripedal",73:"wattbike",76:"moxy",77:"ciclosport",78:"powerbahn",79:"acornProjectsAps",80:"lifebeam",81:"bontrager",82:"wellgo",83:"scosche",84:"magura",85:"woodway",86:"elite",87:"nielsenKellerman",88:"dkCity",89:"tacx",90:"directionTechnology",91:"magtonic",92:"1partcarbon",93:"insideRideTechnologies",94:"soundOfMotion",95:"stryd",96:"icg",97:"miPulse",98:"bsxAthletics",99:"look",100:"campagnoloSrl",101:"bodyBikeSmart",102:"praxisworks",103:"limitsTechnology",104:"topactionTechnology",105:"cosinuss",106:"fitcare",107:"magene",108:"giantManufacturingCo",109:"tigrasport",110:"salutron",111:"technogym",112:"brytonSensors",113:"latitudeLimited",114:"soaringTechnology",115:"igpsport",116:"thinkrider",117:"gopherSport",118:"waterrower",119:"orangetheory",120:"inpeak",121:"kinetic",122:"johnsonHealthTech",123:"polarElectro",124:"seesense",125:"nciTechnology",126:"iqsquare",127:"leomo",128:"ifitCom",129:"corosByte",130:"versaDesign",131:"chileaf",132:"cycplus",133:"gravaaByte",134:"sigeyi",135:"coospo",136:"geoid",137:"bosch",138:"kyto",139:"kineticSports",140:"decathlonByte",141:"tqSystems",142:"tagHeuer",143:"keiserFitness",144:"zwiftByte",145:"porscheEp",146:"blackbird",147:"meilanByte",148:"ezon",149:"laisi",150:"myzone",151:"abawo",152:"bafang",153:"luhongTechnology",255:"development",257:"healthandlife",258:"lezyne",259:"scribeLabs",260:"zwift",261:"watteam",262:"recon",263:"faveroElectronics",264:"dynovelo",265:"strava",266:"precor",267:"bryton",268:"sram",269:"navman",270:"cobi",271:"spivi",272:"mioMagellan",273:"evesports",274:"sensitivusGauge",275:"podoon",276:"lifeTimeFitness",277:"falcoEMotors",278:"minoura",279:"cycliq",280:"luxottica",281:"trainerRoad",282:"theSufferfest",283:"fullspeedahead",284:"virtualtraining",285:"feedbacksports",286:"omata",287:"vdo",288:"magneticdays",289:"hammerhead",290:"kineticByKurt",291:"shapelog",292:"dabuziduo",293:"jetblack",294:"coros",295:"virtugo",296:"velosense",297:"cycligentinc",298:"trailforks",299:"mahleEbikemotion",300:"nurvv",301:"microprogram",302:"zone5cloud",303:"greenteg",304:"yamahaMotors",305:"whoop",306:"gravaa",307:"onelap",308:"monarkExercise",309:"form",310:"decathlon",311:"syncros",312:"heatup",313:"cannondale",314:"trueFitness",315:"rGTCycling",316:"vasa",317:"raceRepublic",318:"fazua",319:"orekaTraining",320:"lsec",321:"lululemonStudio",322:"shanyue",323:"spinningMda",324:"hilldating",325:"aeroSensor",326:"nike",327:"magicshine",328:"ictrainer",329:"absoluteCycling",330:"eoSwimbetter",331:"mywhoosh",332:"ravemen",333:"tektroRacingProducts",334:"daradInnovationCorporation",335:"cycloptim",337:"runna",5759:"actigraphcorp"},garminProduct:{1:"hrm1",2:"axh01",3:"axb01",4:"axb02",5:"hrm2ss",6:"dsiAlf02",7:"hrm3ss",8:"hrmRunSingleByteProductId",9:"bsm",10:"bcm",11:"axs01",12:"hrmTriSingleByteProductId",13:"hrm4RunSingleByteProductId",14:"fr225SingleByteProductId",15:"gen3BsmSingleByteProductId",16:"gen3BcmSingleByteProductId",22:"hrmFitSingleByteProductId",255:"oHR",473:"fr301China",474:"fr301Japan",475:"fr301Korea",494:"fr301Taiwan",717:"fr405",782:"fr50",987:"fr405Japan",988:"fr60",1011:"dsiAlf01",1018:"fr310xt",1036:"edge500",1124:"fr110",1169:"edge800",1199:"edge500Taiwan",1213:"edge500Japan",1253:"chirp",1274:"fr110Japan",1325:"edge200",1328:"fr910xt",1333:"edge800Taiwan",1334:"edge800Japan",1341:"alf04",1345:"fr610",1360:"fr210Japan",1380:"vectorSs",1381:"vectorCp",1386:"edge800China",1387:"edge500China",1405:"approachG10",1410:"fr610Japan",1422:"edge500Korea",1436:"fr70",1446:"fr310xt4t",1461:"amx",1482:"fr10",1497:"edge800Korea",1499:"swim",1537:"fr910xtChina",1551:"fenix",1555:"edge200Taiwan",1561:"edge510",1567:"edge810",1570:"tempe",1600:"fr910xtJapan",1623:"fr620",1632:"fr220",1664:"fr910xtKorea",1688:"fr10Japan",1721:"edge810Japan",1735:"virbElite",1736:"edgeTouring",1742:"edge510Japan",1743:"hrmTri",1752:"hrmRun",1765:"fr920xt",1821:"edge510Asia",1822:"edge810China",1823:"edge810Taiwan",1836:"edge1000",1837:"vivoFit",1853:"virbRemote",1885:"vivoKi",1903:"fr15",1907:"vivoActive",1918:"edge510Korea",1928:"fr620Japan",1929:"fr620China",1930:"fr220Japan",1931:"fr220China",1936:"approachS6",1956:"vivoSmart",1967:"fenix2",1988:"epix",2050:"fenix3",2052:"edge1000Taiwan",2053:"edge1000Japan",2061:"fr15Japan",2067:"edge520",2070:"edge1000China",2072:"fr620Russia",2073:"fr220Russia",2079:"vectorS",2100:"edge1000Korea",2130:"fr920xtTaiwan",2131:"fr920xtChina",2132:"fr920xtJapan",2134:"virbx",2135:"vivoSmartApac",2140:"etrexTouch",2147:"edge25",2148:"fr25",2150:"vivoFit2",2153:"fr225",2156:"fr630",2157:"fr230",2158:"fr735xt",2160:"vivoActiveApac",2161:"vector2",2162:"vector2s",2172:"virbxe",2173:"fr620Taiwan",2174:"fr220Taiwan",2175:"truswing",2187:"d2airvenu",2188:"fenix3China",2189:"fenix3Twn",2192:"variaHeadlight",2193:"variaTaillightOld",2204:"edgeExplore1000",2219:"fr225Asia",2225:"variaRadarTaillight",2226:"variaRadarDisplay",2238:"edge20",2260:"edge520Asia",2261:"edge520Japan",2262:"d2Bravo",2266:"approachS20",2271:"vivoSmart2",2274:"edge1000Thai",2276:"variaRemote",2288:"edge25Asia",2289:"edge25Jpn",2290:"edge20Asia",2292:"approachX40",2293:"fenix3Japan",2294:"vivoSmartEmea",2310:"fr630Asia",2311:"fr630Jpn",2313:"fr230Jpn",2327:"hrm4Run",2332:"epixJapan",2337:"vivoActiveHr",2347:"vivoSmartGpsHr",2348:"vivoSmartHr",2361:"vivoSmartHrAsia",2362:"vivoSmartGpsHrAsia",2368:"vivoMove",2379:"variaTaillight",2396:"fr235Asia",2397:"fr235Japan",2398:"variaVision",2406:"vivoFit3",2407:"fenix3Korea",2408:"fenix3Sea",2413:"fenix3Hr",2417:"virbUltra30",2429:"indexSmartScale",2431:"fr235",2432:"fenix3Chronos",2441:"oregon7xx",2444:"rino7xx",2457:"epixKorea",2473:"fenix3HrChn",2474:"fenix3HrTwn",2475:"fenix3HrJpn",2476:"fenix3HrSea",2477:"fenix3HrKor",2496:"nautix",2497:"vivoActiveHrApac",2503:"fr35",2512:"oregon7xxWw",2530:"edge820",2531:"edgeExplore820",2533:"fr735xtApac",2534:"fr735xtJapan",2544:"fenix5s",2547:"d2BravoTitanium",2567:"variaUt800",2593:"runningDynamicsPod",2599:"edge820China",2600:"edge820Japan",2604:"fenix5x",2606:"vivoFitJr",2622:"vivoSmart3",2623:"vivoSport",2628:"edge820Taiwan",2629:"edge820Korea",2630:"edge820Sea",2650:"fr35Hebrew",2656:"approachS60",2667:"fr35Apac",2668:"fr35Japan",2675:"fenix3ChronosAsia",2687:"virb360",2691:"fr935",2697:"fenix5",2700:"vivoactive3",2733:"fr235ChinaNfc",2769:"foretrex601_701",2772:"vivoMoveHr",2713:"edge1030",2727:"fr35Sea",2787:"vector3",2796:"fenix5Asia",2797:"fenix5sAsia",2798:"fenix5xAsia",2806:"approachZ80",2814:"fr35Korea",2819:"d2charlie",2831:"vivoSmart3Apac",2832:"vivoSportApac",2833:"fr935Asia",2859:"descent",2878:"vivoFit4",2886:"fr645",2888:"fr645m",2891:"fr30",2900:"fenix5sPlus",2909:"edge130",2924:"edge1030Asia",2927:"vivosmart4",2945:"vivoMoveHrAsia",2962:"approachX10",2977:"fr30Asia",2988:"vivoactive3mW",3003:"fr645Asia",3004:"fr645mAsia",3011:"edgeExplore",3028:"gpsmap66",3049:"approachS10",3066:"vivoactive3mL",3076:"fr245",3077:"fr245Music",3085:"approachG80",3092:"edge130Asia",3095:"edge1030Bontrager",3110:"fenix5Plus",3111:"fenix5xPlus",3112:"edge520Plus",3113:"fr945",3121:"edge530",3122:"edge830",3126:"instinctEsports",3134:"fenix5sPlusApac",3135:"fenix5xPlusApac",3142:"edge520PlusApac",3143:"descentT1",3144:"fr235lAsia",3145:"fr245Asia",3163:"vivoActive3mApac",3192:"gen3Bsm",3193:"gen3Bcm",3218:"vivoSmart4Asia",3224:"vivoactive4Small",3225:"vivoactive4Large",3226:"venu",3246:"marqDriver",3247:"marqAviator",3248:"marqCaptain",3249:"marqCommander",3250:"marqExpedition",3251:"marqAthlete",3258:"descentMk2",3282:"fr45",3284:"gpsmap66i",3287:"fenix6SSport",3288:"fenix6S",3289:"fenix6Sport",3290:"fenix6",3291:"fenix6x",3299:"hrmDual",3300:"hrmPro",3308:"vivoMove3Premium",3314:"approachS40",3321:"fr245mAsia",3349:"edge530Apac",3350:"edge830Apac",3378:"vivoMove3",3387:"vivoActive4SmallAsia",3388:"vivoActive4LargeAsia",3389:"vivoActive4OledAsia",3405:"swim2",3420:"marqDriverAsia",3421:"marqAviatorAsia",3422:"vivoMove3Asia",3441:"fr945Asia",3446:"vivoActive3tChn",3448:"marqCaptainAsia",3449:"marqCommanderAsia",3450:"marqExpeditionAsia",3451:"marqAthleteAsia",3461:"indexSmartScale2",3466:"instinctSolar",3469:"fr45Asia",3473:"vivoactive3Daimler",3498:"legacyRey",3499:"legacyDarthVader",3500:"legacyCaptainMarvel",3501:"legacyFirstAvenger",3512:"fenix6sSportAsia",3513:"fenix6sAsia",3514:"fenix6SportAsia",3515:"fenix6Asia",3516:"fenix6xAsia",3535:"legacyCaptainMarvelAsia",3536:"legacyFirstAvengerAsia",3537:"legacyReyAsia",3538:"legacyDarthVaderAsia",3542:"descentMk2s",3558:"edge130Plus",3570:"edge1030Plus",3578:"rally200",3589:"fr745",3596:"venusqMusic",3599:"venusqMusicV2",3600:"venusq",3615:"lily",3624:"marqAdventurer",3638:"enduro",3639:"swim2Apac",3648:"marqAdventurerAsia",3652:"fr945Lte",3702:"descentMk2Asia",3703:"venu2",3704:"venu2s",3737:"venuDaimlerAsia",3739:"marqGolfer",3740:"venuDaimler",3794:"fr745Asia",3808:"variaRct715",3809:"lilyAsia",3812:"edge1030PlusAsia",3813:"edge130PlusAsia",3823:"approachS12",3872:"enduroAsia",3837:"venusqAsia",3843:"edge1040",3850:"marqGolferAsia",3851:"venu2Plus",3865:"gnss",3869:"fr55",3888:"instinct2",3889:"instinct2s",3905:"fenix7s",3906:"fenix7",3907:"fenix7x",3908:"fenix7sApac",3909:"fenix7Apac",3910:"fenix7xApac",3927:"approachG12",3930:"descentMk2sAsia",3934:"approachS42",3943:"epixGen2",3944:"epixGen2Apac",3949:"venu2sAsia",3950:"venu2Asia",3978:"fr945LteAsia",3982:"vivoMoveSport",3983:"vivomoveTrend",3986:"approachS12Asia",3990:"fr255Music",3991:"fr255SmallMusic",3992:"fr255",3993:"fr255Small",4001:"approachG12Asia",4002:"approachS42Asia",4005:"descentG1",4017:"venu2PlusAsia",4024:"fr955",4033:"fr55Asia",4061:"edge540",4062:"edge840",4063:"vivosmart5",4071:"instinct2Asia",4105:"marqGen2",4115:"venusq2",4116:"venusq2music",4124:"marqGen2Aviator",4125:"d2AirX10",4130:"hrmProPlus",4132:"descentG1Asia",4135:"tactix7",4155:"instinctCrossover",4169:"edgeExplore2",4222:"descentMk3",4223:"descentMk3i",4233:"approachS70",4257:"fr265Large",4258:"fr265Small",4260:"venu3",4261:"venu3s",4265:"tacxNeoSmart",4266:"tacxNeo2Smart",4267:"tacxNeo2TSmart",4268:"tacxNeoSmartBike",4269:"tacxSatoriSmart",4270:"tacxFlowSmart",4271:"tacxVortexSmart",4272:"tacxBushidoSmart",4273:"tacxGeniusSmart",4274:"tacxFluxFluxSSmart",4275:"tacxFlux2Smart",4276:"tacxMagnum",4305:"edge1040Asia",4312:"epixGen2Pro42",4313:"epixGen2Pro47",4314:"epixGen2Pro51",4315:"fr965",4341:"enduro2",4374:"fenix7sProSolar",4375:"fenix7ProSolar",4376:"fenix7xProSolar",4380:"lily2",4394:"instinct2x",4426:"vivoactive5",4432:"fr165",4433:"fr165Music",4440:"edge1050",4442:"descentT2",4446:"hrmFit",4472:"marqGen2Commander",4477:"lilyAthlete",4525:"rallyX10",4532:"fenix8Solar",4533:"fenix8SolarLarge",4534:"fenix8Small",4536:"fenix8",4556:"d2Mach1Pro",4575:"enduro3",4583:"instinctE40mm",4584:"instinctE45mm",4585:"instinct3Solar45mm",4586:"instinct3Amoled45mm",4587:"instinct3Amoled50mm",4588:"descentG2",4603:"venuX1",4606:"hrm200",4625:"vivoactive6",4631:"fenix8Pro",4633:"edge550",4634:"edge850",4643:"venu4",4644:"venu4s",4647:"approachS44",4655:"edgeMtb",4656:"approachS50",4666:"fenixE",4745:"bounce2",4759:"instinct3Solar50mm",4775:"tactix8Amoled",4776:"tactix8Solar",4879:"d2Mach2",4678:"instinctCrossoverAmoled",4944:"d2AirX15",10007:"sdm4",10014:"edgeRemote",20533:"tacxTrainingAppWin",20534:"tacxTrainingAppMac",20565:"tacxTrainingAppMacCatalyst",20119:"trainingCenter",30045:"tacxTrainingAppAndroid",30046:"tacxTrainingAppIos",30047:"tacxTrainingAppLegacy",65531:"connectiqSimulator",65532:"androidAntplusPlugin",65534:"connect"},antplusDeviceType:{1:"antfs",11:"bikePower",12:"environmentSensorLegacy",15:"multiSportSpeedDistance",16:"control",17:"fitnessEquipment",18:"bloodPressure",19:"geocacheNode",20:"lightElectricVehicle",25:"envSensor",26:"racquet",27:"controlHub",31:"muscleOxygen",34:"shifting",35:"bikeLightMain",36:"bikeLightShared",38:"exd",40:"bikeRadar",46:"bikeAero",119:"weightScale",120:"heartRate",121:"bikeSpeedCadence",122:"bikeCadence",123:"bikeSpeed",124:"strideSpeedDistance"},antNetwork:{0:"public",1:"antplus",2:"antfs",3:"private"},workoutCapabilities:{1:"interval",2:"custom",4:"fitnessEquipment",8:"firstbeat",16:"newLeaf",32:"tcx",128:"speed",256:"heartRate",512:"distance",1024:"cadence",2048:"power",4096:"grade",8192:"resistance",16384:"protected"},batteryStatus:{1:"new",2:"good",3:"ok",4:"low",5:"critical",6:"charging",7:"unknown"},hrType:{0:"normal",1:"irregular"},courseCapabilities:{1:"processed",2:"valid",4:"time",8:"distance",16:"position",32:"heartRate",64:"power",128:"cadence",256:"training",512:"navigation",1024:"bikeway",4096:"aviation"},weight:{65534:"calculating"},workoutHr:{100:"bpmOffset"},workoutPower:{1e3:"wattsOffset"},bpStatus:{0:"noError",1:"errorIncompleteData",2:"errorNoMeasurement",3:"errorDataOutOfRange",4:"errorIrregularHeartRate"},userLocalId:{0:"localMin",15:"localMax",16:"stationaryMin",255:"stationaryMax",256:"portableMin",65534:"portableMax"},swimStroke:{0:"freestyle",1:"backstroke",2:"breaststroke",3:"butterfly",4:"drill",5:"mixed",6:"im",7:"imByRound",8:"rimo"},activityType:{0:"generic",1:"running",2:"cycling",3:"transition",4:"fitnessEquipment",5:"swimming",6:"walking",8:"sedentary",254:"all"},activitySubtype:{0:"generic",1:"treadmill",2:"street",3:"trail",4:"track",5:"spin",6:"indoorCycling",7:"road",8:"mountain",9:"downhill",10:"recumbent",11:"cyclocross",12:"handCycling",13:"trackCycling",14:"indoorRowing",15:"elliptical",16:"stairClimbing",17:"lapSwimming",18:"openWater",254:"all"},activityLevel:{0:"low",1:"medium",2:"high"},side:{0:"right",1:"left"},leftRightBalance:{127:"mask",128:"right"},leftRightBalance100:{16383:"mask",32768:"right"},lengthType:{0:"idle",1:"active"},dayOfWeek:{0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"},connectivityCapabilities:{1:"bluetooth",2:"bluetoothLe",4:"ant",8:"activityUpload",16:"courseDownload",32:"workoutDownload",64:"liveTrack",128:"weatherConditions",256:"weatherAlerts",512:"gpsEphemerisDownload",1024:"explicitArchive",2048:"setupIncomplete",4096:"continueSyncAfterSoftwareUpdate",8192:"connectIqAppDownload",16384:"golfCourseDownload",32768:"deviceInitiatesSync",65536:"connectIqWatchAppDownload",131072:"connectIqWidgetDownload",262144:"connectIqWatchFaceDownload",524288:"connectIqDataFieldDownload",1048576:"connectIqAppManagment",2097152:"swingSensor",4194304:"swingSensorRemote",8388608:"incidentDetection",16777216:"audioPrompts",33554432:"wifiVerification",67108864:"trueUp",134217728:"findMyWatch",268435456:"remoteManualSync",536870912:"liveTrackAutoStart",1073741824:"liveTrackMessaging",2147483648:"instantInput"},weatherReport:{0:"current",1:"forecast",1:"hourlyForecast",2:"dailyForecast"},weatherStatus:{0:"clear",1:"partlyCloudy",2:"mostlyCloudy",3:"rain",4:"snow",5:"windy",6:"thunderstorms",7:"wintryMix",8:"fog",11:"hazy",12:"hail",13:"scatteredShowers",14:"scatteredThunderstorms",15:"unknownPrecipitation",16:"lightRain",17:"heavyRain",18:"lightSnow",19:"heavySnow",20:"lightRainSnow",21:"heavyRainSnow",22:"cloudy"},weatherSeverity:{0:"unknown",1:"warning",2:"watch",3:"advisory",4:"statement"},weatherSevereType:{0:"unspecified",1:"tornado",2:"tsunami",3:"hurricane",4:"extremeWind",5:"typhoon",6:"inlandHurricane",7:"hurricaneForceWind",8:"waterspout",9:"severeThunderstorm",10:"wreckhouseWinds",11:"lesSuetesWind",12:"avalanche",13:"flashFlood",14:"tropicalStorm",15:"inlandTropicalStorm",16:"blizzard",17:"iceStorm",18:"freezingRain",19:"debrisFlow",20:"flashFreeze",21:"dustStorm",22:"highWind",23:"winterStorm",24:"heavyFreezingSpray",25:"extremeCold",26:"windChill",27:"coldWave",28:"heavySnowAlert",29:"lakeEffectBlowingSnow",30:"snowSquall",31:"lakeEffectSnow",32:"winterWeather",33:"sleet",34:"snowfall",35:"snowAndBlowingSnow",36:"blowingSnow",37:"snowAlert",38:"arcticOutflow",39:"freezingDrizzle",40:"storm",41:"stormSurge",42:"rainfall",43:"arealFlood",44:"coastalFlood",45:"lakeshoreFlood",46:"excessiveHeat",47:"heat",48:"weather",49:"highHeatAndHumidity",50:"humidexAndHealth",51:"humidex",52:"gale",53:"freezingSpray",54:"specialMarine",55:"squall",56:"strongWind",57:"lakeWind",58:"marineWeather",59:"wind",60:"smallCraftHazardousSeas",61:"hazardousSeas",62:"smallCraft",63:"smallCraftWinds",64:"smallCraftRoughBar",65:"highWaterLevel",66:"ashfall",67:"freezingFog",68:"denseFog",69:"denseSmoke",70:"blowingDust",71:"hardFreeze",72:"freeze",73:"frost",74:"fireWeather",75:"flood",76:"ripTide",77:"highSurf",78:"smog",79:"airQuality",80:"briskWind",81:"airStagnation",82:"lowWater",83:"hydrological",84:"specialWeather"},timeIntoDay:{},localtimeIntoDay:{},strokeType:{0:"noEvent",1:"other",2:"serve",3:"forehand",4:"backhand",5:"smash"},bodyLocation:{0:"leftLeg",1:"leftCalf",2:"leftShin",3:"leftHamstring",4:"leftQuad",5:"leftGlute",6:"rightLeg",7:"rightCalf",8:"rightShin",9:"rightHamstring",10:"rightQuad",11:"rightGlute",12:"torsoBack",13:"leftLowerBack",14:"leftUpperBack",15:"rightLowerBack",16:"rightUpperBack",17:"torsoFront",18:"leftAbdomen",19:"leftChest",20:"rightAbdomen",21:"rightChest",22:"leftArm",23:"leftShoulder",24:"leftBicep",25:"leftTricep",26:"leftBrachioradialis",27:"leftForearmExtensors",28:"rightArm",29:"rightShoulder",30:"rightBicep",31:"rightTricep",32:"rightBrachioradialis",33:"rightForearmExtensors",34:"neck",35:"throat",36:"waistMidBack",37:"waistFront",38:"waistLeft",39:"waistRight"},segmentLapStatus:{0:"end",1:"fail"},segmentLeaderboardType:{0:"overall",1:"personalBest",2:"connections",3:"group",4:"challenger",5:"kom",6:"qom",7:"pr",8:"goal",9:"carrot",10:"clubLeader",11:"rival",12:"last",13:"recentBest",14:"courseRecord"},segmentDeleteStatus:{0:"doNotDelete",1:"deleteOne",2:"deleteAll"},segmentSelectionType:{0:"starred",1:"suggested"},sourceType:{0:"ant",1:"antplus",2:"bluetooth",3:"bluetoothLowEnergy",4:"wifi",5:"local"},localDeviceType:{0:"gps",1:"glonass",2:"gpsGlonass",3:"accelerometer",4:"barometer",5:"temperature",10:"whr",12:"sensorHub"},bleDeviceType:{0:"connectedGps",1:"heartRate",2:"bikePower",3:"bikeSpeedCadence",4:"bikeSpeed",5:"bikeCadence",6:"footpod",7:"bikeTrainer"},antChannelId:{4026531840:"antExtendedDeviceNumberUpperNibble",251658240:"antTransmissionTypeLowerNibble",16711680:"antDeviceType",65535:"antDeviceNumber"},displayOrientation:{0:"auto",1:"portrait",2:"landscape",3:"portraitFlipped",4:"landscapeFlipped"},workoutEquipment:{0:"none",1:"swimFins",2:"swimKickboard",3:"swimPaddles",4:"swimPullBuoy",5:"swimSnorkel"},watchfaceMode:{0:"digital",1:"analog",2:"connectIq",3:"disabled"},digitalWatchfaceLayout:{0:"traditional",1:"modern",2:"bold"},analogWatchfaceLayout:{0:"minimal",1:"traditional",2:"modern"},riderPositionType:{0:"seated",1:"standing",2:"transitionToSeated",3:"transitionToStanding"},powerPhaseType:{0:"powerPhaseStartAngle",1:"powerPhaseEndAngle",2:"powerPhaseArcLength",3:"powerPhaseCenter"},cameraEventType:{0:"videoStart",1:"videoSplit",2:"videoEnd",3:"photoTaken",4:"videoSecondStreamStart",5:"videoSecondStreamSplit",6:"videoSecondStreamEnd",7:"videoSplitStart",8:"videoSecondStreamSplitStart",11:"videoPause",12:"videoSecondStreamPause",13:"videoResume",14:"videoSecondStreamResume"},sensorType:{0:"accelerometer",1:"gyroscope",2:"compass",3:"barometer"},bikeLightNetworkConfigType:{0:"auto",4:"individual",5:"highVisibility",6:"trail"},commTimeoutType:{0:"wildcardPairingTimeout",1:"pairingTimeout",2:"connectionLost",3:"connectionTimeout"},cameraOrientationType:{0:"cameraOrientation0",1:"cameraOrientation90",2:"cameraOrientation180",3:"cameraOrientation270"},attitudeStage:{0:"failed",1:"aligning",2:"degraded",3:"valid"},attitudeValidity:{1:"trackAngleHeadingValid",2:"pitchValid",4:"rollValid",8:"lateralBodyAccelValid",16:"normalBodyAccelValid",32:"turnRateValid",64:"hwFail",128:"magInvalid",256:"noGps",512:"gpsInvalid",1024:"solutionCoasting",2048:"trueTrackAngle",4096:"magneticHeading"},autoSyncFrequency:{0:"never",1:"occasionally",2:"frequent",3:"onceADay",4:"remote"},exdLayout:{0:"fullScreen",1:"halfVertical",2:"halfHorizontal",3:"halfVerticalRightSplit",4:"halfHorizontalBottomSplit",5:"fullQuarterSplit",6:"halfVerticalLeftSplit",7:"halfHorizontalTopSplit",8:"dynamic"},exdDisplayType:{0:"numerical",1:"simple",2:"graph",3:"bar",4:"circleGraph",5:"virtualPartner",6:"balance",7:"stringList",8:"string",9:"simpleDynamicIcon",10:"gauge"},exdDataUnits:{0:"noUnits",1:"laps",2:"milesPerHour",3:"kilometersPerHour",4:"feetPerHour",5:"metersPerHour",6:"degreesCelsius",7:"degreesFarenheit",8:"zone",9:"gear",10:"rpm",11:"bpm",12:"degrees",13:"millimeters",14:"meters",15:"kilometers",16:"feet",17:"yards",18:"kilofeet",19:"miles",20:"time",21:"enumTurnType",22:"percent",23:"watts",24:"wattsPerKilogram",25:"enumBatteryStatus",26:"enumBikeLightBeamAngleMode",27:"enumBikeLightBatteryStatus",28:"enumBikeLightNetworkConfigType",29:"lights",30:"seconds",31:"minutes",32:"hours",33:"calories",34:"kilojoules",35:"milliseconds",36:"secondPerMile",37:"secondPerKilometer",38:"centimeter",39:"enumCoursePoint",40:"bradians",41:"enumSport",42:"inchesHg",43:"mmHg",44:"mbars",45:"hectoPascals",46:"feetPerMin",47:"metersPerMin",48:"metersPerSec",49:"eightCardinal"},exdQualifiers:{0:"noQualifier",1:"instantaneous",2:"average",3:"lap",4:"maximum",5:"maximumAverage",6:"maximumLap",7:"lastLap",8:"averageLap",9:"toDestination",10:"toGo",11:"toNext",12:"nextCoursePoint",13:"total",14:"threeSecondAverage",15:"tenSecondAverage",16:"thirtySecondAverage",17:"percentMaximum",18:"percentMaximumAverage",19:"lapPercentMaximum",20:"elapsed",21:"sunrise",22:"sunset",23:"comparedToVirtualPartner",24:"maximum24h",25:"minimum24h",26:"minimum",27:"first",28:"second",29:"third",30:"shifter",31:"lastSport",32:"moving",33:"stopped",34:"estimatedTotal",242:"zone9",243:"zone8",244:"zone7",245:"zone6",246:"zone5",247:"zone4",248:"zone3",249:"zone2",250:"zone1"},exdDescriptors:{0:"bikeLightBatteryStatus",1:"beamAngleStatus",2:"bateryLevel",3:"lightNetworkMode",4:"numberLightsConnected",5:"cadence",6:"distance",7:"estimatedTimeOfArrival",8:"heading",9:"time",10:"batteryLevel",11:"trainerResistance",12:"trainerTargetPower",13:"timeSeated",14:"timeStanding",15:"elevation",16:"grade",17:"ascent",18:"descent",19:"verticalSpeed",20:"di2BatteryLevel",21:"frontGear",22:"rearGear",23:"gearRatio",24:"heartRate",25:"heartRateZone",26:"timeInHeartRateZone",27:"heartRateReserve",28:"calories",29:"gpsAccuracy",30:"gpsSignalStrength",31:"temperature",32:"timeOfDay",33:"balance",34:"pedalSmoothness",35:"power",36:"functionalThresholdPower",37:"intensityFactor",38:"work",39:"powerRatio",40:"normalizedPower",41:"trainingStressScore",42:"timeOnZone",43:"speed",44:"laps",45:"reps",46:"workoutStep",47:"courseDistance",48:"navigationDistance",49:"courseEstimatedTimeOfArrival",50:"navigationEstimatedTimeOfArrival",51:"courseTime",52:"navigationTime",53:"courseHeading",54:"navigationHeading",55:"powerZone",56:"torqueEffectiveness",57:"timerTime",58:"powerWeightRatio",59:"leftPlatformCenterOffset",60:"rightPlatformCenterOffset",61:"leftPowerPhaseStartAngle",62:"rightPowerPhaseStartAngle",63:"leftPowerPhaseFinishAngle",64:"rightPowerPhaseFinishAngle",65:"gears",66:"pace",67:"trainingEffect",68:"verticalOscillation",69:"verticalRatio",70:"groundContactTime",71:"leftGroundContactTimeBalance",72:"rightGroundContactTimeBalance",73:"strideLength",74:"runningCadence",75:"performanceCondition",76:"courseType",77:"timeInPowerZone",78:"navigationTurn",79:"courseLocation",80:"navigationLocation",81:"compass",82:"gearCombo",83:"muscleOxygen",84:"icon",85:"compassHeading",86:"gpsHeading",87:"gpsElevation",88:"anaerobicTrainingEffect",89:"course",90:"offCourse",91:"glideRatio",92:"verticalDistance",93:"vmg",94:"ambientPressure",95:"pressure",96:"vam"},autoActivityDetect:{0:"none",1:"running",2:"cycling",4:"swimming",8:"walking",32:"elliptical",1024:"sedentary"},supportedExdScreenLayouts:{1:"fullScreen",2:"halfVertical",4:"halfHorizontal",8:"halfVerticalRightSplit",16:"halfHorizontalBottomSplit",32:"fullQuarterSplit",64:"halfVerticalLeftSplit",128:"halfHorizontalTopSplit"},fitBaseType:{0:"enum",1:"sint8",2:"uint8",131:"sint16",132:"uint16",133:"sint32",134:"uint32",7:"string",136:"float32",137:"float64",10:"uint8z",139:"uint16z",140:"uint32z",13:"byte",142:"sint64",143:"uint64",144:"uint64z"},turnType:{0:"arrivingIdx",1:"arrivingLeftIdx",2:"arrivingRightIdx",3:"arrivingViaIdx",4:"arrivingViaLeftIdx",5:"arrivingViaRightIdx",6:"bearKeepLeftIdx",7:"bearKeepRightIdx",8:"continueIdx",9:"exitLeftIdx",10:"exitRightIdx",11:"ferryIdx",12:"roundabout45Idx",13:"roundabout90Idx",14:"roundabout135Idx",15:"roundabout180Idx",16:"roundabout225Idx",17:"roundabout270Idx",18:"roundabout315Idx",19:"roundabout360Idx",20:"roundaboutNeg45Idx",21:"roundaboutNeg90Idx",22:"roundaboutNeg135Idx",23:"roundaboutNeg180Idx",24:"roundaboutNeg225Idx",25:"roundaboutNeg270Idx",26:"roundaboutNeg315Idx",27:"roundaboutNeg360Idx",28:"roundaboutGenericIdx",29:"roundaboutNegGenericIdx",30:"sharpTurnLeftIdx",31:"sharpTurnRightIdx",32:"turnLeftIdx",33:"turnRightIdx",34:"uturnLeftIdx",35:"uturnRightIdx",36:"iconInvIdx",37:"iconIdxCnt"},bikeLightBeamAngleMode:{0:"manual",1:"auto"},fitBaseUnit:{0:"other",1:"kilogram",2:"pound"},setType:{0:"rest",1:"active"},maxMetCategory:{0:"generic",1:"cycling"},exerciseCategory:{0:"benchPress",1:"calfRaise",2:"cardio",3:"carry",4:"chop",5:"core",6:"crunch",7:"curl",8:"deadlift",9:"flye",10:"hipRaise",11:"hipStability",12:"hipSwing",13:"hyperextension",14:"lateralRaise",15:"legCurl",16:"legRaise",17:"lunge",18:"olympicLift",19:"plank",20:"plyo",21:"pullUp",22:"pushUp",23:"row",24:"shoulderPress",25:"shoulderStability",26:"shrug",27:"sitUp",28:"squat",29:"totalBody",30:"tricepsExtension",31:"warmUp",32:"run",33:"bike",34:"cardioSensors",35:"move",36:"pose",37:"bandedExercises",38:"battleRope",39:"elliptical",40:"floorClimb",41:"indoorBike",42:"indoorRow",43:"ladder",44:"sandbag",45:"sled",46:"sledgeHammer",47:"stairStepper",49:"suspension",50:"tire",52:"runIndoor",53:"bikeOutdoor",65534:"unknown"},benchPressExerciseName:{0:"alternatingDumbbellChestPressOnSwissBall",1:"barbellBenchPress",2:"barbellBoardBenchPress",3:"barbellFloorPress",4:"closeGripBarbellBenchPress",5:"declineDumbbellBenchPress",6:"dumbbellBenchPress",7:"dumbbellFloorPress",8:"inclineBarbellBenchPress",9:"inclineDumbbellBenchPress",10:"inclineSmithMachineBenchPress",11:"isometricBarbellBenchPress",12:"kettlebellChestPress",13:"neutralGripDumbbellBenchPress",14:"neutralGripDumbbellInclineBenchPress",15:"oneArmFloorPress",16:"weightedOneArmFloorPress",17:"partialLockout",18:"reverseGripBarbellBenchPress",19:"reverseGripInclineBenchPress",20:"singleArmCableChestPress",21:"singleArmDumbbellBenchPress",22:"smithMachineBenchPress",23:"swissBallDumbbellChestPress",24:"tripleStopBarbellBenchPress",25:"wideGripBarbellBenchPress",26:"alternatingDumbbellChestPress"},calfRaiseExerciseName:{0:"3WayCalfRaise",1:"3WayWeightedCalfRaise",2:"3WaySingleLegCalfRaise",3:"3WayWeightedSingleLegCalfRaise",4:"donkeyCalfRaise",5:"weightedDonkeyCalfRaise",6:"seatedCalfRaise",7:"weightedSeatedCalfRaise",8:"seatedDumbbellToeRaise",9:"singleLegBentKneeCalfRaise",10:"weightedSingleLegBentKneeCalfRaise",11:"singleLegDeclinePushUp",12:"singleLegDonkeyCalfRaise",13:"weightedSingleLegDonkeyCalfRaise",14:"singleLegHipRaiseWithKneeHold",15:"singleLegStandingCalfRaise",16:"singleLegStandingDumbbellCalfRaise",17:"standingBarbellCalfRaise",18:"standingCalfRaise",19:"weightedStandingCalfRaise",20:"standingDumbbellCalfRaise"},cardioExerciseName:{0:"bobAndWeaveCircle",1:"weightedBobAndWeaveCircle",2:"cardioCoreCrawl",3:"weightedCardioCoreCrawl",4:"doubleUnder",5:"weightedDoubleUnder",6:"jumpRope",7:"weightedJumpRope",8:"jumpRopeCrossover",9:"weightedJumpRopeCrossover",10:"jumpRopeJog",11:"weightedJumpRopeJog",12:"jumpingJacks",13:"weightedJumpingJacks",14:"skiMoguls",15:"weightedSkiMoguls",16:"splitJacks",17:"weightedSplitJacks",18:"squatJacks",19:"weightedSquatJacks",20:"tripleUnder",21:"weightedTripleUnder",22:"elliptical",23:"spinning",24:"polePaddleForwardWheelchair",25:"polePaddleBackwardWheelchair",26:"poleHandcycleForwardWheelchair",27:"poleHandcycleBackwardWheelchair",28:"poleRainbowWheelchair",29:"doublePunchForwardWheelchair",30:"doublePunchDownWheelchair",31:"doublePunchSidewaysWheelchair",32:"doublePunchUpWheelchair",33:"sitSkiWheelchair",34:"sittingJacksWheelchair",35:"punchForwardWheelchair",36:"punchDownWheelchair",37:"punchSidewaysWheelchair",38:"punchUpWheelchair",39:"punchBagWheelchair",40:"poleDdFfUuWheelchair",41:"butterflyArmsWheelchair",42:"punch"},carryExerciseName:{0:"barHolds",1:"farmersWalk",2:"farmersWalkOnToes",3:"hexDumbbellHold",4:"overheadCarry",5:"dumbbellWaiterCarry",6:"farmersCarryWalkLunge",7:"farmersCarry",8:"farmersCarryOnToes"},chopExerciseName:{0:"cablePullThrough",1:"cableRotationalLift",2:"cableWoodchop",3:"crossChopToKnee",4:"weightedCrossChopToKnee",5:"dumbbellChop",6:"halfKneelingRotation",7:"weightedHalfKneelingRotation",8:"halfKneelingRotationalChop",9:"halfKneelingRotationalReverseChop",10:"halfKneelingStabilityChop",11:"halfKneelingStabilityReverseChop",12:"kneelingRotationalChop",13:"kneelingRotationalReverseChop",14:"kneelingStabilityChop",15:"kneelingWoodchopper",16:"medicineBallWoodChops",17:"powerSquatChops",18:"weightedPowerSquatChops",19:"standingRotationalChop",20:"standingSplitRotationalChop",21:"standingSplitRotationalReverseChop",22:"standingStabilityReverseChop"},coreExerciseName:{0:"absJabs",1:"weightedAbsJabs",2:"alternatingPlateReach",3:"barbellRollout",4:"weightedBarbellRollout",5:"bodyBarObliqueTwist",6:"cableCorePress",7:"cableSideBend",8:"sideBend",9:"weightedSideBend",10:"crescentCircle",11:"weightedCrescentCircle",12:"cyclingRussianTwist",13:"weightedCyclingRussianTwist",14:"elevatedFeetRussianTwist",15:"weightedElevatedFeetRussianTwist",16:"halfTurkishGetUp",17:"kettlebellWindmill",18:"kneelingAbWheel",19:"weightedKneelingAbWheel",20:"modifiedFrontLever",21:"openKneeTucks",22:"weightedOpenKneeTucks",23:"sideAbsLegLift",24:"weightedSideAbsLegLift",25:"swissBallJackknife",26:"weightedSwissBallJackknife",27:"swissBallPike",28:"weightedSwissBallPike",29:"swissBallRollout",30:"weightedSwissBallRollout",31:"triangleHipPress",32:"weightedTriangleHipPress",33:"trxSuspendedJackknife",34:"weightedTrxSuspendedJackknife",35:"uBoat",36:"weightedUBoat",37:"windmillSwitches",38:"weightedWindmillSwitches",39:"alternatingSlideOut",40:"weightedAlternatingSlideOut",41:"ghdBackExtensions",42:"weightedGhdBackExtensions",43:"overheadWalk",44:"inchworm",45:"weightedModifiedFrontLever",46:"russianTwist",47:"abdominalLegRotations",48:"armAndLegExtensionOnKnees",49:"bicycle",50:"bicepCurlWithLegExtension",51:"catCow",52:"corkscrew",53:"crissCross",54:"crissCrossWithBall",55:"doubleLegStretch",56:"kneeFolds",57:"lowerLift",58:"neckPull",59:"pelvicClocks",60:"rollOver",61:"rollUp",62:"rolling",63:"rowing1",64:"rowing2",65:"scissors",66:"singleLegCircles",67:"singleLegStretch",68:"snakeTwist1And2",69:"swan",70:"swimming",71:"teaser",72:"theHundred",73:"bicepCurlWithLegExtensionWithWeights",75:"hangingLSit",77:"lowerLiftWithWeights",79:"ringLSit",80:"rowing1WithWeights",81:"rowing2WithWeights",82:"scissorsWithWeights",83:"singleLegStretchWithWeights",84:"toesToElbows",85:"weightedCrissCross",86:"weightedDoubleLegStretch",87:"weightedTheHundred",88:"lSit",89:"turkishGetUp",90:"weightedRingLSit",91:"weightedHangingLSit",92:"weightedLSit",93:"sideBendLowWheelchair",94:"sideBendMidWheelchair",95:"sideBendHighWheelchair",96:"seatedSideBend"},crunchExerciseName:{0:"bicycleCrunch",1:"cableCrunch",2:"circularArmCrunch",3:"crossedArmsCrunch",4:"weightedCrossedArmsCrunch",5:"crossLegReverseCrunch",6:"weightedCrossLegReverseCrunch",7:"crunchChop",8:"weightedCrunchChop",9:"doubleCrunch",10:"weightedDoubleCrunch",11:"elbowToKneeCrunch",12:"weightedElbowToKneeCrunch",13:"flutterKicks",14:"weightedFlutterKicks",15:"foamRollerReverseCrunchOnBench",16:"weightedFoamRollerReverseCrunchOnBench",17:"foamRollerReverseCrunchWithDumbbell",18:"foamRollerReverseCrunchWithMedicineBall",19:"frogPress",20:"hangingKneeRaiseObliqueCrunch",21:"weightedHangingKneeRaiseObliqueCrunch",22:"hipCrossover",23:"weightedHipCrossover",24:"hollowRock",25:"weightedHollowRock",26:"inclineReverseCrunch",27:"weightedInclineReverseCrunch",28:"kneelingCableCrunch",29:"kneelingCrossCrunch",30:"weightedKneelingCrossCrunch",31:"kneelingObliqueCableCrunch",32:"kneesToElbow",33:"legExtensions",34:"weightedLegExtensions",35:"legLevers",36:"mcgillCurlUp",37:"weightedMcgillCurlUp",38:"modifiedPilatesRollUpWithBall",39:"weightedModifiedPilatesRollUpWithBall",40:"pilatesCrunch",41:"weightedPilatesCrunch",42:"pilatesRollUpWithBall",43:"weightedPilatesRollUpWithBall",44:"raisedLegsCrunch",45:"weightedRaisedLegsCrunch",46:"reverseCrunch",47:"weightedReverseCrunch",48:"reverseCrunchOnABench",49:"weightedReverseCrunchOnABench",50:"reverseCurlAndLift",51:"weightedReverseCurlAndLift",52:"rotationalLift",53:"weightedRotationalLift",54:"seatedAlternatingReverseCrunch",55:"weightedSeatedAlternatingReverseCrunch",56:"seatedLegU",57:"weightedSeatedLegU",58:"sideToSideCrunchAndWeave",59:"weightedSideToSideCrunchAndWeave",60:"singleLegReverseCrunch",61:"weightedSingleLegReverseCrunch",62:"skaterCrunchCross",63:"weightedSkaterCrunchCross",64:"standingCableCrunch",65:"standingSideCrunch",66:"stepClimb",67:"weightedStepClimb",68:"swissBallCrunch",69:"swissBallReverseCrunch",70:"weightedSwissBallReverseCrunch",71:"swissBallRussianTwist",72:"weightedSwissBallRussianTwist",73:"swissBallSideCrunch",74:"weightedSwissBallSideCrunch",75:"thoracicCrunchesOnFoamRoller",76:"weightedThoracicCrunchesOnFoamRoller",77:"tricepsCrunch",78:"weightedBicycleCrunch",79:"weightedCrunch",80:"weightedSwissBallCrunch",81:"toesToBar",82:"weightedToesToBar",83:"crunch",84:"straightLegCrunchWithBall",86:"legClimbCrunch"},curlExerciseName:{0:"alternatingDumbbellBicepsCurl",1:"alternatingDumbbellBicepsCurlOnSwissBall",2:"alternatingInclineDumbbellBicepsCurl",3:"barbellBicepsCurl",4:"barbellReverseWristCurl",5:"barbellWristCurl",6:"behindTheBackBarbellReverseWristCurl",7:"behindTheBackOneArmCableCurl",8:"cableBicepsCurl",9:"cableHammerCurl",10:"cheatingBarbellBicepsCurl",11:"closeGripEzBarBicepsCurl",12:"crossBodyDumbbellHammerCurl",13:"deadHangBicepsCurl",14:"declineHammerCurl",15:"dumbbellBicepsCurlWithStaticHold",16:"dumbbellHammerCurl",17:"dumbbellReverseWristCurl",18:"dumbbellWristCurl",19:"ezBarPreacherCurl",20:"forwardBendBicepsCurl",21:"hammerCurlToPress",22:"inclineDumbbellBicepsCurl",23:"inclineOffsetThumbDumbbellCurl",24:"kettlebellBicepsCurl",25:"lyingConcentrationCableCurl",26:"oneArmPreacherCurl",27:"platePinchCurl",28:"preacherCurlWithCable",29:"reverseEzBarCurl",30:"reverseGripWristCurl",31:"reverseGripBarbellBicepsCurl",32:"seatedAlternatingDumbbellBicepsCurl",33:"seatedDumbbellBicepsCurl",34:"seatedReverseDumbbellCurl",35:"splitStanceOffsetPinkyDumbbellCurl",36:"standingAlternatingDumbbellCurls",37:"standingDumbbellBicepsCurl",38:"standingEzBarBicepsCurl",39:"staticCurl",40:"swissBallDumbbellOverheadTricepsExtension",41:"swissBallEzBarPreacherCurl",42:"twistingStandingDumbbellBicepsCurl",43:"wideGripEzBarBicepsCurl",44:"oneArmConcentrationCurl",45:"standingZottmanBicepsCurl",46:"dumbbellBicepsCurl",47:"dragCurlWheelchair",48:"dumbbellBicepsCurlWheelchair",49:"bottleCurl",50:"seatedBottleCurl"},deadliftExerciseName:{0:"barbellDeadlift",1:"barbellStraightLegDeadlift",2:"dumbbellDeadlift",3:"dumbbellSingleLegDeadliftToRow",4:"dumbbellStraightLegDeadlift",5:"kettlebellFloorToShelf",6:"oneArmOneLegDeadlift",7:"rackPull",8:"rotationalDumbbellStraightLegDeadlift",9:"singleArmDeadlift",10:"singleLegBarbellDeadlift",11:"singleLegBarbellStraightLegDeadlift",12:"singleLegDeadliftWithBarbell",13:"singleLegRdlCircuit",14:"singleLegRomanianDeadliftWithDumbbell",15:"sumoDeadlift",16:"sumoDeadliftHighPull",17:"trapBarDeadlift",18:"wideGripBarbellDeadlift",20:"kettlebellDeadlift",21:"kettlebellSumoDeadlift",23:"romanianDeadlift",24:"singleLegRomanianDeadliftCircuit",25:"straightLegDeadlift"},flyeExerciseName:{0:"cableCrossover",1:"declineDumbbellFlye",2:"dumbbellFlye",3:"inclineDumbbellFlye",4:"kettlebellFlye",5:"kneelingRearFlye",6:"singleArmStandingCableReverseFlye",7:"swissBallDumbbellFlye",8:"armRotations",9:"hugATree",10:"faceDownInclineReverseFlye",11:"inclineReverseFlye",12:"rearDeltFlyWheelchair"},hipRaiseExerciseName:{0:"barbellHipThrustOnFloor",1:"barbellHipThrustWithBench",2:"bentKneeSwissBallReverseHipRaise",3:"weightedBentKneeSwissBallReverseHipRaise",4:"bridgeWithLegExtension",5:"weightedBridgeWithLegExtension",6:"clamBridge",7:"frontKickTabletop",8:"weightedFrontKickTabletop",9:"hipExtensionAndCross",10:"weightedHipExtensionAndCross",11:"hipRaise",12:"weightedHipRaise",13:"hipRaiseWithFeetOnSwissBall",14:"weightedHipRaiseWithFeetOnSwissBall",15:"hipRaiseWithHeadOnBosuBall",16:"weightedHipRaiseWithHeadOnBosuBall",17:"hipRaiseWithHeadOnSwissBall",18:"weightedHipRaiseWithHeadOnSwissBall",19:"hipRaiseWithKneeSqueeze",20:"weightedHipRaiseWithKneeSqueeze",21:"inclineRearLegExtension",22:"weightedInclineRearLegExtension",23:"kettlebellSwing",24:"marchingHipRaise",25:"weightedMarchingHipRaise",26:"marchingHipRaiseWithFeetOnASwissBall",27:"weightedMarchingHipRaiseWithFeetOnASwissBall",28:"reverseHipRaise",29:"weightedReverseHipRaise",30:"singleLegHipRaise",31:"weightedSingleLegHipRaise",32:"singleLegHipRaiseWithFootOnBench",33:"weightedSingleLegHipRaiseWithFootOnBench",34:"singleLegHipRaiseWithFootOnBosuBall",35:"weightedSingleLegHipRaiseWithFootOnBosuBall",36:"singleLegHipRaiseWithFootOnFoamRoller",37:"weightedSingleLegHipRaiseWithFootOnFoamRoller",38:"singleLegHipRaiseWithFootOnMedicineBall",39:"weightedSingleLegHipRaiseWithFootOnMedicineBall",40:"singleLegHipRaiseWithHeadOnBosuBall",41:"weightedSingleLegHipRaiseWithHeadOnBosuBall",42:"weightedClamBridge",43:"singleLegSwissBallHipRaiseAndLegCurl",44:"clams",45:"innerThighCircles",46:"innerThighSideLift",47:"legCircles",48:"legLift",49:"legLiftInExternalRotation"},hipStabilityExerciseName:{0:"bandSideLyingLegRaise",1:"deadBug",2:"weightedDeadBug",3:"externalHipRaise",4:"weightedExternalHipRaise",5:"fireHydrantKicks",6:"weightedFireHydrantKicks",7:"hipCircles",8:"weightedHipCircles",9:"innerThighLift",10:"weightedInnerThighLift",11:"lateralWalksWithBandAtAnkles",12:"pretzelSideKick",13:"weightedPretzelSideKick",14:"proneHipInternalRotation",15:"weightedProneHipInternalRotation",16:"quadruped",17:"quadrupedHipExtension",18:"weightedQuadrupedHipExtension",19:"quadrupedWithLegLift",20:"weightedQuadrupedWithLegLift",21:"sideLyingLegRaise",22:"weightedSideLyingLegRaise",23:"slidingHipAdduction",24:"weightedSlidingHipAdduction",25:"standingAdduction",26:"weightedStandingAdduction",27:"standingCableHipAbduction",28:"standingHipAbduction",29:"weightedStandingHipAbduction",30:"standingRearLegRaise",31:"weightedStandingRearLegRaise",32:"supineHipInternalRotation",33:"weightedSupineHipInternalRotation",34:"lyingAbductionStretch"},hipSwingExerciseName:{0:"singleArmKettlebellSwing",1:"singleArmDumbbellSwing",2:"stepOutSwing",3:"oneArmSwing"},hyperextensionExerciseName:{0:"backExtensionWithOppositeArmAndLegReach",1:"weightedBackExtensionWithOppositeArmAndLegReach",2:"baseRotations",3:"weightedBaseRotations",4:"bentKneeReverseHyperextension",5:"weightedBentKneeReverseHyperextension",6:"hollowHoldAndRoll",7:"weightedHollowHoldAndRoll",8:"kicks",9:"weightedKicks",10:"kneeRaises",11:"weightedKneeRaises",12:"kneelingSuperman",13:"weightedKneelingSuperman",14:"latPullDownWithRow",15:"medicineBallDeadliftToReach",16:"oneArmOneLegRow",17:"oneArmRowWithBand",18:"overheadLungeWithMedicineBall",19:"plankKneeTucks",20:"weightedPlankKneeTucks",21:"sideStep",22:"weightedSideStep",23:"singleLegBackExtension",24:"weightedSingleLegBackExtension",25:"spineExtension",26:"weightedSpineExtension",27:"staticBackExtension",28:"weightedStaticBackExtension",29:"supermanFromFloor",30:"weightedSupermanFromFloor",31:"swissBallBackExtension",32:"weightedSwissBallBackExtension",33:"swissBallHyperextension",34:"weightedSwissBallHyperextension",35:"swissBallOppositeArmAndLegLift",36:"weightedSwissBallOppositeArmAndLegLift",37:"supermanOnSwissBall",38:"cobra",39:"supineFloorBarre"},lateralRaiseExerciseName:{0:"45DegreeCableExternalRotation",1:"alternatingLateralRaiseWithStaticHold",2:"barMuscleUp",3:"bentOverLateralRaise",4:"cableDiagonalRaise",5:"cableFrontRaise",6:"calorieRow",7:"comboShoulderRaise",8:"dumbbellDiagonalRaise",9:"dumbbellVRaise",10:"frontRaise",11:"leaningDumbbellLateralRaise",12:"lyingDumbbellRaise",13:"muscleUp",14:"oneArmCableLateralRaise",15:"overhandGripRearLateralRaise",16:"plateRaises",17:"ringDip",18:"weightedRingDip",19:"ringMuscleUp",20:"weightedRingMuscleUp",21:"ropeClimb",22:"weightedRopeClimb",23:"scaption",24:"seatedLateralRaise",25:"seatedRearLateralRaise",26:"sideLyingLateralRaise",27:"standingLift",28:"suspendedRow",29:"underhandGripRearLateralRaise",30:"wallSlide",31:"weightedWallSlide",32:"armCircles",33:"shavingTheHead",34:"dumbbellLateralRaise",36:"ringDipKipping",37:"wallWalk",38:"dumbbellFrontRaiseWheelchair",39:"dumbbellLateralRaiseWheelchair",40:"poleDoubleArmOverheadAndForwardWheelchair",41:"poleStraightArmOverheadWheelchair"},legCurlExerciseName:{0:"legCurl",1:"weightedLegCurl",2:"goodMorning",3:"seatedBarbellGoodMorning",4:"singleLegBarbellGoodMorning",5:"singleLegSlidingLegCurl",6:"slidingLegCurl",7:"splitBarbellGoodMorning",8:"splitStanceExtension",9:"staggeredStanceGoodMorning",10:"swissBallHipRaiseAndLegCurl",11:"zercherGoodMorning",12:"bandGoodMorning",13:"barGoodMorning"},legRaiseExerciseName:{0:"hangingKneeRaise",1:"hangingLegRaise",2:"weightedHangingLegRaise",3:"hangingSingleLegRaise",4:"weightedHangingSingleLegRaise",5:"kettlebellLegRaises",6:"legLoweringDrill",7:"weightedLegLoweringDrill",8:"lyingStraightLegRaise",9:"weightedLyingStraightLegRaise",10:"medicineBallLegDrops",11:"quadrupedLegRaise",12:"weightedQuadrupedLegRaise",13:"reverseLegRaise",14:"weightedReverseLegRaise",15:"reverseLegRaiseOnSwissBall",16:"weightedReverseLegRaiseOnSwissBall",17:"singleLegLoweringDrill",18:"weightedSingleLegLoweringDrill",19:"weightedHangingKneeRaise",20:"lateralStepover",21:"weightedLateralStepover"},lungeExerciseName:{0:"overheadLunge",1:"lungeMatrix",2:"weightedLungeMatrix",3:"alternatingBarbellForwardLunge",4:"alternatingDumbbellLungeWithReach",5:"backFootElevatedDumbbellSplitSquat",6:"barbellBoxLunge",7:"barbellBulgarianSplitSquat",8:"barbellCrossoverLunge",9:"barbellFrontSplitSquat",10:"barbellLunge",11:"barbellReverseLunge",12:"barbellSideLunge",13:"barbellSplitSquat",14:"coreControlRearLunge",15:"diagonalLunge",16:"dropLunge",17:"dumbbellBoxLunge",18:"dumbbellBulgarianSplitSquat",19:"dumbbellCrossoverLunge",20:"dumbbellDiagonalLunge",21:"dumbbellLunge",22:"dumbbellLungeAndRotation",23:"dumbbellOverheadBulgarianSplitSquat",24:"dumbbellReverseLungeToHighKneeAndPress",25:"dumbbellSideLunge",26:"elevatedFrontFootBarbellSplitSquat",27:"frontFootElevatedDumbbellSplitSquat",28:"gunslingerLunge",29:"lawnmowerLunge",30:"lowLungeWithIsometricAdduction",31:"lowSideToSideLunge",32:"lunge",33:"weightedLunge",34:"lungeWithArmReach",35:"lungeWithDiagonalReach",36:"lungeWithSideBend",37:"offsetDumbbellLunge",38:"offsetDumbbellReverseLunge",39:"overheadBulgarianSplitSquat",40:"overheadDumbbellReverseLunge",41:"overheadDumbbellSplitSquat",42:"overheadLungeWithRotation",43:"reverseBarbellBoxLunge",44:"reverseBoxLunge",45:"reverseDumbbellBoxLunge",46:"reverseDumbbellCrossoverLunge",47:"reverseDumbbellDiagonalLunge",48:"reverseLungeWithReachBack",49:"weightedReverseLungeWithReachBack",50:"reverseLungeWithTwistAndOverheadReach",51:"weightedReverseLungeWithTwistAndOverheadReach",52:"reverseSlidingBoxLunge",53:"weightedReverseSlidingBoxLunge",54:"reverseSlidingLunge",55:"weightedReverseSlidingLunge",56:"runnersLungeToBalance",57:"weightedRunnersLungeToBalance",58:"shiftingSideLunge",59:"sideAndCrossoverLunge",60:"weightedSideAndCrossoverLunge",61:"sideLunge",62:"weightedSideLunge",63:"sideLungeAndPress",64:"sideLungeJumpOff",65:"sideLungeSweep",66:"weightedSideLungeSweep",67:"sideLungeToCrossoverTap",68:"weightedSideLungeToCrossoverTap",69:"sideToSideLungeChops",70:"weightedSideToSideLungeChops",71:"siffJumpLunge",72:"weightedSiffJumpLunge",73:"singleArmReverseLungeAndPress",74:"slidingLateralLunge",75:"weightedSlidingLateralLunge",76:"walkingBarbellLunge",77:"walkingDumbbellLunge",78:"walkingLunge",79:"weightedWalkingLunge",80:"wideGripOverheadBarbellSplitSquat",81:"alternatingDumbbellLunge",82:"dumbbellReverseLunge",83:"overheadDumbbellLunge",84:"scissorPowerSwitch",85:"dumbbellOverheadWalkingLunge",86:"curtsyLunge",87:"weightedCurtsyLunge",88:"weightedShiftingSideLunge",89:"weightedSideLungeAndPress",90:"weightedSideLungeJumpOff"},olympicLiftExerciseName:{0:"barbellHangPowerClean",1:"barbellHangSquatClean",2:"barbellPowerClean",3:"barbellPowerSnatch",4:"barbellSquatClean",5:"cleanAndJerk",6:"barbellHangPowerSnatch",7:"barbellHangPull",8:"barbellHighPull",9:"barbellSnatch",10:"barbellSplitJerk",11:"clean",12:"dumbbellClean",13:"dumbbellHangPull",14:"oneHandDumbbellSplitSnatch",15:"pushJerk",16:"singleArmDumbbellSnatch",17:"singleArmHangSnatch",18:"singleArmKettlebellSnatch",19:"splitJerk",20:"squatCleanAndJerk",21:"dumbbellHangSnatch",22:"dumbbellPowerCleanAndJerk",23:"dumbbellPowerCleanAndPushPress",24:"dumbbellPowerCleanAndStrictPress",25:"dumbbellSnatch",26:"medicineBallClean",27:"cleanAndPress",28:"snatch"},plankExerciseName:{0:"45DegreePlank",1:"weighted45DegreePlank",2:"90DegreeStaticHold",3:"weighted90DegreeStaticHold",4:"bearCrawl",5:"weightedBearCrawl",6:"crossBodyMountainClimber",7:"weightedCrossBodyMountainClimber",8:"elbowPlankPikeJacks",9:"weightedElbowPlankPikeJacks",10:"elevatedFeetPlank",11:"weightedElevatedFeetPlank",12:"elevatorAbs",13:"weightedElevatorAbs",14:"extendedPlank",15:"weightedExtendedPlank",16:"fullPlankPasseTwist",17:"weightedFullPlankPasseTwist",18:"inchingElbowPlank",19:"weightedInchingElbowPlank",20:"inchwormToSidePlank",21:"weightedInchwormToSidePlank",22:"kneelingPlank",23:"weightedKneelingPlank",24:"kneelingSidePlankWithLegLift",25:"weightedKneelingSidePlankWithLegLift",26:"lateralRoll",27:"weightedLateralRoll",28:"lyingReversePlank",29:"weightedLyingReversePlank",30:"medicineBallMountainClimber",31:"weightedMedicineBallMountainClimber",32:"modifiedMountainClimberAndExtension",33:"weightedModifiedMountainClimberAndExtension",34:"mountainClimber",35:"weightedMountainClimber",36:"mountainClimberOnSlidingDiscs",37:"weightedMountainClimberOnSlidingDiscs",38:"mountainClimberWithFeetOnBosuBall",39:"weightedMountainClimberWithFeetOnBosuBall",40:"mountainClimberWithHandsOnBench",41:"mountainClimberWithHandsOnSwissBall",42:"weightedMountainClimberWithHandsOnSwissBall",43:"plank",44:"plankJacksWithFeetOnSlidingDiscs",45:"weightedPlankJacksWithFeetOnSlidingDiscs",46:"plankKneeTwist",47:"weightedPlankKneeTwist",48:"plankPikeJumps",49:"weightedPlankPikeJumps",50:"plankPikes",51:"weightedPlankPikes",52:"plankToStandUp",53:"weightedPlankToStandUp",54:"plankWithArmRaise",55:"weightedPlankWithArmRaise",56:"plankWithKneeToElbow",57:"weightedPlankWithKneeToElbow",58:"plankWithObliqueCrunch",59:"weightedPlankWithObliqueCrunch",60:"plyometricSidePlank",61:"weightedPlyometricSidePlank",62:"rollingSidePlank",63:"weightedRollingSidePlank",64:"sideKickPlank",65:"weightedSideKickPlank",66:"sidePlank",67:"weightedSidePlank",68:"sidePlankAndRow",69:"weightedSidePlankAndRow",70:"sidePlankLift",71:"weightedSidePlankLift",72:"sidePlankWithElbowOnBosuBall",73:"weightedSidePlankWithElbowOnBosuBall",74:"sidePlankWithFeetOnBench",75:"weightedSidePlankWithFeetOnBench",76:"sidePlankWithKneeCircle",77:"weightedSidePlankWithKneeCircle",78:"sidePlankWithKneeTuck",79:"weightedSidePlankWithKneeTuck",80:"sidePlankWithLegLift",81:"weightedSidePlankWithLegLift",82:"sidePlankWithReachUnder",83:"weightedSidePlankWithReachUnder",84:"singleLegElevatedFeetPlank",85:"weightedSingleLegElevatedFeetPlank",86:"singleLegFlexAndExtend",87:"weightedSingleLegFlexAndExtend",88:"singleLegSidePlank",89:"weightedSingleLegSidePlank",90:"spidermanPlank",91:"weightedSpidermanPlank",92:"straightArmPlank",93:"weightedStraightArmPlank",94:"straightArmPlankWithShoulderTouch",95:"weightedStraightArmPlankWithShoulderTouch",96:"swissBallPlank",97:"weightedSwissBallPlank",98:"swissBallPlankLegLift",99:"weightedSwissBallPlankLegLift",100:"swissBallPlankLegLiftAndHold",101:"swissBallPlankWithFeetOnBench",102:"weightedSwissBallPlankWithFeetOnBench",103:"swissBallProneJackknife",104:"weightedSwissBallProneJackknife",105:"swissBallSidePlank",106:"weightedSwissBallSidePlank",107:"threeWayPlank",108:"weightedThreeWayPlank",109:"towelPlankAndKneeIn",110:"weightedTowelPlankAndKneeIn",111:"tStabilization",112:"weightedTStabilization",113:"turkishGetUpToSidePlank",114:"weightedTurkishGetUpToSidePlank",115:"twoPointPlank",116:"weightedTwoPointPlank",117:"weightedPlank",118:"wideStancePlankWithDiagonalArmLift",119:"weightedWideStancePlankWithDiagonalArmLift",120:"wideStancePlankWithDiagonalLegLift",121:"weightedWideStancePlankWithDiagonalLegLift",122:"wideStancePlankWithLegLift",123:"weightedWideStancePlankWithLegLift",124:"wideStancePlankWithOppositeArmAndLegLift",125:"weightedMountainClimberWithHandsOnBench",126:"weightedSwissBallPlankLegLiftAndHold",127:"weightedWideStancePlankWithOppositeArmAndLegLift",128:"plankWithFeetOnSwissBall",129:"sidePlankToPlankWithReachUnder",130:"bridgeWithGluteLowerLift",131:"bridgeOneLegBridge",132:"plankWithArmVariations",133:"plankWithLegLift",134:"reversePlankWithLegPull",135:"ringPlankSprawls"},plyoExerciseName:{0:"alternatingJumpLunge",1:"weightedAlternatingJumpLunge",2:"barbellJumpSquat",3:"bodyWeightJumpSquat",4:"weightedJumpSquat",5:"crossKneeStrike",6:"weightedCrossKneeStrike",7:"depthJump",8:"weightedDepthJump",9:"dumbbellJumpSquat",10:"dumbbellSplitJump",11:"frontKneeStrike",12:"weightedFrontKneeStrike",13:"highBoxJump",14:"weightedHighBoxJump",15:"isometricExplosiveBodyWeightJumpSquat",16:"weightedIsometricExplosiveJumpSquat",17:"lateralLeapAndHop",18:"weightedLateralLeapAndHop",19:"lateralPlyoSquats",20:"weightedLateralPlyoSquats",21:"lateralSlide",22:"weightedLateralSlide",23:"medicineBallOverheadThrows",24:"medicineBallSideThrow",25:"medicineBallSlam",26:"sideToSideMedicineBallThrows",27:"sideToSideShuffleJump",28:"weightedSideToSideShuffleJump",29:"squatJumpOntoBox",30:"weightedSquatJumpOntoBox",31:"squatJumpsInAndOut",32:"weightedSquatJumpsInAndOut",33:"boxJump",34:"boxJumpOvers",35:"boxJumpOversOverTheBox",36:"starJumpSquats",37:"jumpSquat"},pullUpExerciseName:{0:"bandedPullUps",1:"30DegreeLatPulldown",2:"bandAssistedChinUp",3:"closeGripChinUp",4:"weightedCloseGripChinUp",5:"closeGripLatPulldown",6:"crossoverChinUp",7:"weightedCrossoverChinUp",8:"ezBarPullover",9:"hangingHurdle",10:"weightedHangingHurdle",11:"kneelingLatPulldown",12:"kneelingUnderhandGripLatPulldown",13:"latPulldown",14:"mixedGripChinUp",15:"weightedMixedGripChinUp",16:"mixedGripPullUp",17:"weightedMixedGripPullUp",18:"reverseGripPulldown",19:"standingCablePullover",20:"straightArmPulldown",21:"swissBallEzBarPullover",22:"towelPullUp",23:"weightedTowelPullUp",24:"weightedPullUp",25:"wideGripLatPulldown",26:"wideGripPullUp",27:"weightedWideGripPullUp",28:"burpeePullUp",29:"weightedBurpeePullUp",30:"jumpingPullUps",31:"weightedJumpingPullUps",32:"kippingPullUp",33:"weightedKippingPullUp",34:"lPullUp",35:"weightedLPullUp",36:"suspendedChinUp",37:"weightedSuspendedChinUp",38:"pullUp",39:"chinUp",40:"neutralGripChinUp",41:"weightedChinUp",42:"bandAssistedPullUp",43:"neutralGripPullUp",44:"weightedNeutralGripChinUp",45:"weightedNeutralGripPullUp"},pushUpExerciseName:{0:"chestPressWithBand",1:"alternatingStaggeredPushUp",2:"weightedAlternatingStaggeredPushUp",3:"alternatingHandsMedicineBallPushUp",4:"weightedAlternatingHandsMedicineBallPushUp",5:"bosuBallPushUp",6:"weightedBosuBallPushUp",7:"clappingPushUp",8:"weightedClappingPushUp",9:"closeGripMedicineBallPushUp",10:"weightedCloseGripMedicineBallPushUp",11:"closeHandsPushUp",12:"weightedCloseHandsPushUp",13:"declinePushUp",14:"weightedDeclinePushUp",15:"diamondPushUp",16:"weightedDiamondPushUp",17:"explosiveCrossoverPushUp",18:"weightedExplosiveCrossoverPushUp",19:"explosivePushUp",20:"weightedExplosivePushUp",21:"feetElevatedSideToSidePushUp",22:"weightedFeetElevatedSideToSidePushUp",23:"handReleasePushUp",24:"weightedHandReleasePushUp",25:"handstandPushUp",26:"weightedHandstandPushUp",27:"inclinePushUp",28:"weightedInclinePushUp",29:"isometricExplosivePushUp",30:"weightedIsometricExplosivePushUp",31:"judoPushUp",32:"weightedJudoPushUp",33:"kneelingPushUp",34:"weightedKneelingPushUp",35:"medicineBallChestPass",36:"medicineBallPushUp",37:"weightedMedicineBallPushUp",38:"oneArmPushUp",39:"weightedOneArmPushUp",40:"weightedPushUp",41:"pushUpAndRow",42:"weightedPushUpAndRow",43:"pushUpPlus",44:"weightedPushUpPlus",45:"pushUpWithFeetOnSwissBall",46:"weightedPushUpWithFeetOnSwissBall",47:"pushUpWithOneHandOnMedicineBall",48:"weightedPushUpWithOneHandOnMedicineBall",49:"shoulderPushUp",50:"weightedShoulderPushUp",51:"singleArmMedicineBallPushUp",52:"weightedSingleArmMedicineBallPushUp",53:"spidermanPushUp",54:"weightedSpidermanPushUp",55:"stackedFeetPushUp",56:"weightedStackedFeetPushUp",57:"staggeredHandsPushUp",58:"weightedStaggeredHandsPushUp",59:"suspendedPushUp",60:"weightedSuspendedPushUp",61:"swissBallPushUp",62:"weightedSwissBallPushUp",63:"swissBallPushUpPlus",64:"weightedSwissBallPushUpPlus",65:"tPushUp",66:"weightedTPushUp",67:"tripleStopPushUp",68:"weightedTripleStopPushUp",69:"wideHandsPushUp",70:"weightedWideHandsPushUp",71:"paralletteHandstandPushUp",72:"weightedParalletteHandstandPushUp",73:"ringHandstandPushUp",74:"weightedRingHandstandPushUp",75:"ringPushUp",76:"weightedRingPushUp",77:"pushUp",78:"pilatesPushup",79:"dynamicPushUp",80:"kippingHandstandPushUp",81:"shoulderTappingPushUp",82:"bicepsPushUp",83:"hinduPushUp",84:"pikePushUp",85:"wideGripPushUp",86:"weightedBicepsPushUp",87:"weightedHinduPushUp",88:"weightedPikePushUp",89:"kippingParalletteHandstandPushUp",90:"wallPushUp"},rowExerciseName:{0:"barbellStraightLegDeadliftToRow",1:"cableRowStanding",2:"dumbbellRow",3:"elevatedFeetInvertedRow",4:"weightedElevatedFeetInvertedRow",5:"facePull",6:"facePullWithExternalRotation",7:"invertedRowWithFeetOnSwissBall",8:"weightedInvertedRowWithFeetOnSwissBall",9:"kettlebellRow",10:"modifiedInvertedRow",11:"weightedModifiedInvertedRow",12:"neutralGripAlternatingDumbbellRow",13:"oneArmBentOverRow",14:"oneLeggedDumbbellRow",15:"renegadeRow",16:"reverseGripBarbellRow",17:"ropeHandleCableRow",18:"seatedCableRow",19:"seatedDumbbellRow",20:"singleArmCableRow",21:"singleArmCableRowAndRotation",22:"singleArmInvertedRow",23:"weightedSingleArmInvertedRow",24:"singleArmNeutralGripDumbbellRow",25:"singleArmNeutralGripDumbbellRowAndRotation",26:"suspendedInvertedRow",27:"weightedSuspendedInvertedRow",28:"tBarRow",29:"towelGripInvertedRow",30:"weightedTowelGripInvertedRow",31:"underhandGripCableRow",32:"vGripCableRow",33:"wideGripSeatedCableRow",34:"alternatingDumbbellRow",35:"invertedRow",36:"row",37:"weightedRow",38:"indoorRow",39:"bandedFacePulls",40:"chestSupportedDumbbellRow",41:"declineRingRow",42:"elevatedRingRow",43:"rdlBentOverRowWithBarbellDumbbell",44:"ringRow",45:"barbellRow",46:"bentOverRowWithBarbell",47:"bentOverRowWithDumbell",48:"seatedUnderhandGripCableRow",49:"trxInvertedRow",50:"weightedInvertedRow",51:"weightedTrxInvertedRow",52:"dumbbellRowWheelchair"},shoulderPressExerciseName:{0:"alternatingDumbbellShoulderPress",1:"arnoldPress",2:"barbellFrontSquatToPushPress",3:"barbellPushPress",4:"barbellShoulderPress",5:"deadCurlPress",6:"dumbbellAlternatingShoulderPressAndTwist",7:"dumbbellHammerCurlToLungeToPress",8:"dumbbellPushPress",9:"floorInvertedShoulderPress",10:"weightedFloorInvertedShoulderPress",11:"invertedShoulderPress",12:"weightedInvertedShoulderPress",13:"oneArmPushPress",14:"overheadBarbellPress",15:"overheadDumbbellPress",16:"seatedBarbellShoulderPress",17:"seatedDumbbellShoulderPress",18:"singleArmDumbbellShoulderPress",19:"singleArmStepUpAndPress",20:"smithMachineOverheadPress",21:"splitStanceHammerCurlToPress",22:"swissBallDumbbellShoulderPress",23:"weightPlateFrontRaise",24:"dumbbellShoulderPress",25:"militaryPress",27:"strictPress",28:"dumbbellFrontRaise",29:"dumbbellCurlToOverheadPressWheelchair",30:"arnoldPressWheelchair",31:"overheadDumbbellPressWheelchair"},shoulderStabilityExerciseName:{0:"90DegreeCableExternalRotation",1:"bandExternalRotation",2:"bandInternalRotation",3:"bentArmLateralRaiseAndExternalRotation",4:"cableExternalRotation",5:"dumbbellFacePullWithExternalRotation",6:"floorIRaise",7:"weightedFloorIRaise",8:"floorTRaise",9:"weightedFloorTRaise",10:"floorYRaise",11:"weightedFloorYRaise",12:"inclineIRaise",13:"weightedInclineIRaise",14:"inclineLRaise",15:"weightedInclineLRaise",16:"inclineTRaise",17:"weightedInclineTRaise",18:"inclineWRaise",19:"weightedInclineWRaise",20:"inclineYRaise",21:"weightedInclineYRaise",22:"lyingExternalRotation",23:"seatedDumbbellExternalRotation",24:"standingLRaise",25:"swissBallIRaise",26:"weightedSwissBallIRaise",27:"swissBallTRaise",28:"weightedSwissBallTRaise",29:"swissBallWRaise",30:"weightedSwissBallWRaise",31:"swissBallYRaise",32:"weightedSwissBallYRaise",33:"cableInternalRotation",34:"lyingInternalRotation",35:"seatedDumbbellInternalRotation"},shrugExerciseName:{0:"barbellJumpShrug",1:"barbellShrug",2:"barbellUprightRow",3:"behindTheBackSmithMachineShrug",4:"dumbbellJumpShrug",5:"dumbbellShrug",6:"dumbbellUprightRow",7:"inclineDumbbellShrug",8:"overheadBarbellShrug",9:"overheadDumbbellShrug",10:"scaptionAndShrug",11:"scapularRetraction",12:"serratusChairShrug",13:"weightedSerratusChairShrug",14:"serratusShrug",15:"weightedSerratusShrug",16:"wideGripJumpShrug",17:"wideGripBarbellShrug",18:"behindTheBackShrug",19:"dumbbellShrugWheelchair",20:"shrugWheelchair",21:"shrugArmDownWheelchair",22:"shrugArmMidWheelchair",23:"shrugArmUpWheelchair",24:"uprightRow"},sitUpExerciseName:{0:"alternatingSitUp",1:"weightedAlternatingSitUp",2:"bentKneeVUp",3:"weightedBentKneeVUp",4:"butterflySitUp",5:"weightedButterflySitup",6:"crossPunchRollUp",7:"weightedCrossPunchRollUp",8:"crossedArmsSitUp",9:"weightedCrossedArmsSitUp",10:"getUpSitUp",11:"weightedGetUpSitUp",12:"hoveringSitUp",13:"weightedHoveringSitUp",14:"kettlebellSitUp",15:"medicineBallAlternatingVUp",16:"medicineBallSitUp",17:"medicineBallVUp",18:"modifiedSitUp",19:"negativeSitUp",20:"oneArmFullSitUp",21:"recliningCircle",22:"weightedRecliningCircle",23:"reverseCurlUp",24:"weightedReverseCurlUp",25:"singleLegSwissBallJackknife",26:"weightedSingleLegSwissBallJackknife",27:"theTeaser",28:"theTeaserWeighted",29:"threePartRollDown",30:"weightedThreePartRollDown",31:"vUp",32:"weightedVUp",33:"weightedRussianTwistOnSwissBall",34:"weightedSitUp",35:"xAbs",36:"weightedXAbs",37:"sitUp",38:"ghdSitUps",39:"sitUpTurkishGetUp",40:"russianTwistOnSwissBall"},squatExerciseName:{0:"legPress",1:"backSquatWithBodyBar",2:"backSquats",3:"weightedBackSquats",4:"balancingSquat",5:"weightedBalancingSquat",6:"barbellBackSquat",7:"barbellBoxSquat",8:"barbellFrontSquat",9:"barbellHackSquat",10:"barbellHangSquatSnatch",11:"barbellLateralStepUp",12:"barbellQuarterSquat",13:"barbellSiffSquat",14:"barbellSquatSnatch",15:"barbellSquatWithHeelsRaised",16:"barbellStepover",17:"barbellStepUp",18:"benchSquatWithRotationalChop",19:"weightedBenchSquatWithRotationalChop",20:"bodyWeightWallSquat",21:"weightedWallSquat",22:"boxStepSquat",23:"weightedBoxStepSquat",24:"bracedSquat",25:"crossedArmBarbellFrontSquat",26:"crossoverDumbbellStepUp",27:"dumbbellFrontSquat",28:"dumbbellSplitSquat",29:"dumbbellSquat",30:"dumbbellSquatClean",31:"dumbbellStepover",32:"dumbbellStepUp",33:"elevatedSingleLegSquat",34:"weightedElevatedSingleLegSquat",35:"figureFourSquats",36:"weightedFigureFourSquats",37:"gobletSquat",38:"kettlebellSquat",39:"kettlebellSwingOverhead",40:"kettlebellSwingWithFlipToSquat",41:"lateralDumbbellStepUp",42:"oneLeggedSquat",43:"overheadDumbbellSquat",44:"overheadSquat",45:"partialSingleLegSquat",46:"weightedPartialSingleLegSquat",47:"pistolSquat",48:"weightedPistolSquat",49:"plieSlides",50:"weightedPlieSlides",51:"plieSquat",52:"weightedPlieSquat",53:"prisonerSquat",54:"weightedPrisonerSquat",55:"singleLegBenchGetUp",56:"weightedSingleLegBenchGetUp",57:"singleLegBenchSquat",58:"weightedSingleLegBenchSquat",59:"singleLegSquatOnSwissBall",60:"weightedSingleLegSquatOnSwissBall",61:"squat",62:"weightedSquat",63:"squatsWithBand",64:"staggeredSquat",65:"weightedStaggeredSquat",66:"stepUp",67:"weightedStepUp",68:"suitcaseSquats",69:"sumoSquat",70:"sumoSquatSlideIn",71:"weightedSumoSquatSlideIn",72:"sumoSquatToHighPull",73:"sumoSquatToStand",74:"weightedSumoSquatToStand",75:"sumoSquatWithRotation",76:"weightedSumoSquatWithRotation",77:"swissBallBodyWeightWallSquat",78:"weightedSwissBallWallSquat",79:"thrusters",80:"unevenSquat",81:"weightedUnevenSquat",82:"waistSlimmingSquat",83:"wallBall",84:"wideStanceBarbellSquat",85:"wideStanceGobletSquat",86:"zercherSquat",87:"kbsOverhead",88:"squatAndSideKick",89:"squatJumpsInNOut",90:"pilatesPlieSquatsParallelTurnedOutFlatAndHeels",91:"releveStraightLegAndKneeBentWithOneLegVariation",92:"alternatingBoxDumbbellStepUps",93:"dumbbellOverheadSquatSingleArm",94:"dumbbellSquatSnatch",95:"medicineBallSquat",97:"wallBallSquatAndPress",98:"squatAmericanSwing",100:"airSquat",101:"dumbbellThrusters",102:"overheadBarbellSquat"},totalBodyExerciseName:{0:"burpee",1:"weightedBurpee",2:"burpeeBoxJump",3:"weightedBurpeeBoxJump",4:"highPullBurpee",5:"manMakers",6:"oneArmBurpee",7:"squatThrusts",8:"weightedSquatThrusts",9:"squatPlankPushUp",10:"weightedSquatPlankPushUp",11:"standingTRotationBalance",12:"weightedStandingTRotationBalance",13:"barbellBurpee",15:"burpeeBoxJumpOverYesLiterallyJumpingOverTheBox",16:"burpeeBoxJumpStepUpOver",17:"lateralBarbellBurpee",18:"totalBodyBurpeeOverBar",19:"burpeeBoxJumpOver",20:"burpeeWheelchair"},moveExerciseName:{0:"archAndCurl",1:"armCirclesWithBallBandAndWeight",2:"armStretch",3:"backMassage",4:"bellyBreathing",5:"bridgeWithBall",6:"diamondLegCrunch",7:"diamondLegLift",8:"eightPointShoulderOpener",9:"footRolling",10:"footwork",11:"footworkOnDisc",12:"forwardFold",13:"frogWithBand",14:"halfRollUp",15:"hamstringCurl",16:"hamstringStretch",17:"hipStretch",18:"hugATreeWithBallBandAndWeight",19:"kneeCircles",20:"kneeFoldsOnDisc",21:"lateralFlexion",22:"legStretchWithBand",23:"legStretchWithLegCircles",24:"lowerLiftOnDisc",25:"lungeSquat",26:"lungesWithKneeLift",27:"mermaidStretch",28:"neutralPelvicPosition",29:"pelvicClocksOnDisc",30:"pilatesPlieSquatsParallelTurnedOutFlatAndHeelsWithChair",31:"piriformisStretch",32:"plankKneeCrosses",33:"plankKneePulls",34:"plankUpDowns",35:"prayerMudra",36:"psoasLungeStretch",37:"ribcageBreathing",38:"rollDown",39:"rollUpWithWeightAndBand",40:"saw",41:"scapularStabilization",42:"scissorsOnDisc",43:"seatedHipStretchup",44:"seatedTwist",45:"shavingTheHeadWithBallBandAndWeight",46:"spinalTwist",47:"spinalTwistStretch",48:"spineStretchForward",49:"squatOpenArmTwistPose",50:"squatsWithBall",51:"standAndHang",52:"standingSideStretch",53:"standingSingleLegForwardBendWithItBandOpener",54:"straightLegCrunchWithLegLift",55:"straightLegCrunchWithLegLiftWithBall",56:"straightLegCrunchWithLegsCrossed",57:"straightLegCrunchWithLegsCrossedWithBall",58:"straightLegDiagonalCrunch",59:"straightLegDiagonalCrunchWithBall",60:"tailboneCurl",61:"throatLock",62:"tickTockSideRoll",63:"twist",64:"vLegCrunches",65:"vSit",66:"forwardFoldWheelchair",67:"forwardFoldPlusWheelchair",68:"armCirclesLowForwardWheelchair",69:"armCirclesMidForwardWheelchair",70:"armCirclesHighForwardWheelchair",71:"armCirclesLowBackwardWheelchair",72:"armCirclesMidBackwardWheelchair",73:"armCirclesHighBackwardWheelchair",74:"coreTwistsWheelchair",75:"armRaiseWheelchair",76:"chestExpandWheelchair",77:"armExtendWheelchair",78:"forwardBendWheelchair",79:"toeTouchWheelchair",80:"extendedToeTouchWheelchair",81:"seatedArmCircles",82:"trunkRotations",83:"seatedTrunkRotations",84:"toeTouch"},poseExerciseName:{0:"allFours",1:"ankleToKnee",2:"babyCobra",3:"boat",4:"boundAngle",5:"boundSeatedSingleLegForwardBend",6:"bow",7:"bowedHalfMoon",8:"bridge",9:"cat",10:"chair",11:"childs",12:"corpse",13:"cowFace",14:"cow",15:"devotionalWarrior",16:"dolphinPlank",17:"dolphin",18:"downDogKneeToNose",19:"downDogSplit",20:"downDogSplitOpenHipBentKnee",21:"downwardFacingDog",22:"eagle",23:"easySeated",24:"extendedPuppy",25:"extendedSideAngle",26:"fish",27:"fourLimbedStaff",28:"fullSplit",29:"gate",30:"halfChairHalfAnkleToKnee",31:"halfMoon",32:"headToKnee",33:"heron",34:"heros",35:"highLunge",36:"kneesChestChin",37:"lizard",38:"locust",39:"lowLunge",40:"lowLungeTwist",41:"lowLungeWithKneeDown",42:"mermaid",43:"mountain",44:"oneLeggedDownwardFacingPoseOpenHipBentKnee",45:"oneLeggedPigeon",46:"peacefulWarrior",47:"plank",48:"plow",49:"reclinedHandToFoot",50:"revolvedHalfMoon",51:"revolvedHeadToKnee",52:"revolvedTriangle",53:"runnersLunge",54:"seatedEasySideBend",55:"seatedEasyTwist",56:"seatedLongLegForwardBend",57:"seatedWideLegForwardBend",58:"shoulderStand",59:"sideBoat",60:"sidePlank",61:"sphinx",62:"squatOpenArmTwist",63:"squatPalmPress",64:"staff",65:"standingArmsUp",66:"standingForwardBendHalfwayUp",67:"standingForwardBend",68:"standingSideOpener",69:"standingSingleLegForwardBend",70:"standingSplit",71:"standingWideLegForwardBend",72:"standingWideLegForwardBendWithTwist",73:"supineSpinalTwist",74:"tableTop",75:"threadTheNeedle",76:"thunderbolt",77:"thunderboltPoseBothSidesArmStretch",78:"tree",79:"triangle",80:"upDog",81:"upwardFacingPlank",82:"warriorOne",83:"warriorThree",84:"warriorTwo",85:"wheel",86:"wideSideLunge",87:"deepBreathingWheelchair",88:"deepBreathingLowWheelchair",89:"deepBreathingMidWheelchair",90:"deepBreathingHighWheelchair",91:"prayerWheelchair",92:"overheadPrayerWheelchair",93:"cactusWheelchair",94:"breathingPunchesWheelchair",95:"breathingPunchesExtendedWheelchair",96:"breathingPunchesOverheadWheelchair",97:"breathingPunchesOverheadAndDownWheelchair",98:"breathingPunchesSideWheelchair",99:"breathingPunchesExtendedSideWheelchair",100:"breathingPunchesOverheadSideWheelchair",101:"breathingPunchesOverheadAndDownSideWheelchair",102:"leftHandBackWheelchair",103:"triangleWheelchair",104:"threadTheNeedleWheelchair",105:"neckFlexionAndExtensionWheelchair",106:"neckLateralFlexionWheelchair",107:"spineFlexionAndExtensionWheelchair",108:"spineRotationWheelchair",109:"spineLateralFlexionWheelchair",110:"alternativeSkiingWheelchair",111:"reachForwardWheelchair",112:"warriorWheelchair",113:"reverseWarriorWheelchair",114:"downwardFacingDogToCobra",115:"seatedCatCow"},tricepsExtensionExerciseName:{0:"benchDip",1:"weightedBenchDip",2:"bodyWeightDip",3:"cableKickback",4:"cableLyingTricepsExtension",5:"cableOverheadTricepsExtension",6:"dumbbellKickback",7:"dumbbellLyingTricepsExtension",8:"ezBarOverheadTricepsExtension",9:"inclineDip",10:"weightedInclineDip",11:"inclineEzBarLyingTricepsExtension",12:"lyingDumbbellPulloverToExtension",13:"lyingEzBarTricepsExtension",14:"lyingTricepsExtensionToCloseGripBenchPress",15:"overheadDumbbellTricepsExtension",16:"recliningTricepsPress",17:"reverseGripPressdown",18:"reverseGripTricepsPressdown",19:"ropePressdown",20:"seatedBarbellOverheadTricepsExtension",21:"seatedDumbbellOverheadTricepsExtension",22:"seatedEzBarOverheadTricepsExtension",23:"seatedSingleArmOverheadDumbbellExtension",24:"singleArmDumbbellOverheadTricepsExtension",25:"singleDumbbellSeatedOverheadTricepsExtension",26:"singleLegBenchDipAndKick",27:"weightedSingleLegBenchDipAndKick",28:"singleLegDip",29:"weightedSingleLegDip",30:"staticLyingTricepsExtension",31:"suspendedDip",32:"weightedSuspendedDip",33:"swissBallDumbbellLyingTricepsExtension",34:"swissBallEzBarLyingTricepsExtension",35:"swissBallEzBarOverheadTricepsExtension",36:"tabletopDip",37:"weightedTabletopDip",38:"tricepsExtensionOnFloor",39:"tricepsPressdown",40:"weightedDip",41:"alternatingDumbbellLyingTricepsExtension",42:"tricepsPress",43:"dumbbellKickbackWheelchair",44:"overheadDumbbellTricepsExtensionWheelchair"},warmUpExerciseName:{0:"quadrupedRocking",1:"neckTilts",2:"ankleCircles",3:"ankleDorsiflexionWithBand",4:"ankleInternalRotation",5:"armCircles",6:"bentOverReachToSky",7:"catCamel",8:"elbowToFootLunge",9:"forwardAndBackwardLegSwings",10:"groiners",11:"invertedHamstringStretch",12:"lateralDuckUnder",13:"neckRotations",14:"oppositeArmAndLegBalance",15:"reachRollAndLift",16:"scorpion",17:"shoulderCircles",18:"sideToSideLegSwings",19:"sleeperStretch",20:"slideOut",21:"swissBallHipCrossover",22:"swissBallReachRollAndLift",23:"swissBallWindshieldWipers",24:"thoracicRotation",25:"walkingHighKicks",26:"walkingHighKnees",27:"walkingKneeHugs",28:"walkingLegCradles",29:"walkout",30:"walkoutFromPushUpPosition",31:"bicepsStretch",32:"glutesStretch",33:"standingHamstringStretch",34:"stretch90_90",35:"stretchAbs",36:"stretchButterfly",37:"stretchCalf",38:"stretchCatCow",39:"stretchChildsPose",40:"stretchCobra",41:"stretchForearms",42:"stretchForwardGlutes",43:"stretchFrontSplit",44:"stretchHamstring",45:"stretchHipFlexorAndQuad",46:"stretchLat",47:"stretchLevatorScapulae",48:"stretchLungeWithSpinalTwist",49:"stretchLungingHipFlexor",50:"stretchLyingAbduction",51:"stretchLyingItBand",52:"stretchLyingKneeToChest",53:"stretchLyingPiriformis",54:"stretchLyingSpinalTwist",55:"stretchNeck",56:"stretchObliques",57:"stretchOverUnderShoulder",58:"stretchPectoral",59:"stretchPigeonPose",60:"stretchPiriformis",61:"stretchQuad",62:"stretchScorpion",63:"stretchShoulder",64:"stretchSide",65:"stretchSideLunge",66:"stretchSideSplit",67:"stretchStandingItBand",68:"stretchStraddle",69:"stretchTriceps",70:"stretchWallChestAndShoulder",71:"neckRotationsWheelchair",72:"halfKneelingArmRotation",73:"threeWayAnkleMobilization",74:"ninetyNinetyHipSwitch",75:"activeFrog",76:"shoulderSweeps",77:"ankleLunges",78:"backRollFoamRoller",79:"bearCrawl",80:"latissimusDorsiFoamRoll",81:"reverseTHipOpener",82:"shoulderRolls",83:"chestOpeners",84:"tricepsStretch",85:"upperBackStretch",86:"hipCircles",87:"ankleStretch",88:"marchingInPlace",89:"tricepsStretchWheelchair",90:"upperBackStretchWheelchair"},runExerciseName:{0:"run",1:"walk",2:"jog",3:"sprint",4:"runOrWalk",5:"speedWalk",6:"warmUp"},bikeExerciseName:{0:"bike",1:"ride",2:"sprint"},bandedExercisesExerciseName:{1:"abTwist",2:"backExtension",3:"bicycleCrunch",4:"calfRaises",5:"chestPress",6:"clamShells",7:"curl",8:"deadbug",9:"deadlift",10:"donkeyKick",11:"externalRotation",12:"externalRotationAt90DegreeAbduction",13:"facePull",14:"fireHydrant",15:"fly",16:"frontRaise",17:"gluteBridge",18:"hamstringCurls",19:"highPlankLegLifts",20:"hipExtension",21:"internalRotation",22:"jumpingJack",23:"kneelingCrunch",24:"lateralBandWalks",25:"lateralRaise",26:"latpull",27:"legAbduction",28:"legAdduction",29:"legExtension",30:"lunge",31:"plank",32:"pullApart",33:"pushUps",34:"reverseCrunch",35:"row",36:"shoulderAbduction",37:"shoulderExtension",38:"shoulderExternalRotation",39:"shoulderFlexionTo90Degrees",40:"sidePlankLegLifts",41:"sideRaise",42:"squat",43:"squatToPress",44:"tricepExtension",45:"tricepKickback",46:"uprightRow",47:"wallCrawlWithExternalRotation",49:"lateralRaiseWheelchair",50:"tricepsExtensionWheelchair",51:"chestFlyInclineWheelchair",52:"chestFlyDeclineWheelchair",53:"pullDownWheelchair",54:"straightArmPullDownWheelchair",55:"curlWheelchair",56:"overheadCurlWheelchair",57:"facePullWheelchair",58:"aroundTheWorldWheelchair",59:"pullApartWheelchair",60:"sideCurlWheelchair",61:"overheadPressWheelchair"},battleRopeExerciseName:{0:"alternatingFigureEight",1:"alternatingJumpWave",2:"alternatingKneelingToStandingWave",3:"alternatingLungeWave",4:"alternatingSquatWave",5:"alternatingWave",6:"alternatingWaveWithLateralShuffle",7:"clapWave",8:"doubleArmFigureEight",9:"doubleArmSideToSideSnake",10:"doubleArmSideWave",11:"doubleArmSlam",12:"doubleArmWave",13:"grapplerToss",14:"hipToss",15:"inAndOutWave",16:"insideCircle",17:"jumpingJacks",18:"outsideCircle",19:"rainbow",20:"sidePlankWave",21:"sidewinder",22:"sittingRussianTwist",23:"snakeWave",24:"splitJack",25:"stageCoach",26:"ultimateWarrior",27:"upperCuts"},ellipticalExerciseName:{0:"elliptical"},floorClimbExerciseName:{0:"floorClimb"},indoorBikeExerciseName:{0:"airBike",1:"assaultBike",3:"stationaryBike"},indoorRowExerciseName:{0:"rowingMachine"},ladderExerciseName:{0:"agility",1:"speed"},sandbagExerciseName:{0:"aroundTheWorld",1:"backSquat",2:"bearCrawlPullThrough",3:"bearHugSquat",4:"clean",5:"cleanAndPress",6:"curl",7:"frontCarry",8:"frontSquat",9:"lunge",10:"overheadPress",11:"plankPullThrough",12:"rotationalLunge",13:"row",14:"russianTwist",15:"shouldering",16:"shoveling",17:"sideLunge",18:"sprint",19:"zercherSquat"},sledExerciseName:{0:"backwardDrag",1:"chestPress",2:"forwardDrag",3:"lowPush",4:"push",5:"row"},sledgeHammerExerciseName:{0:"lateralSwing",1:"hammerSlam"},stairStepperExerciseName:{0:"stairStepper"},suspensionExerciseName:{0:"chestFly",1:"chestPress",2:"crunch",3:"curl",4:"dip",5:"facePull",6:"gluteBridge",7:"hamstringCurl",8:"hipDrop",9:"invertedRow",10:"kneeDriveJump",11:"kneeToChest",12:"latPullover",13:"lunge",14:"mountainClimber",15:"pendulum",16:"pike",17:"plank",18:"powerPull",19:"pullUp",20:"pushUp",21:"reverseMountainClimber",22:"reversePlank",23:"rollout",24:"row",25:"sideLunge",26:"sidePlank",27:"singleLegDeadlift",28:"singleLegSquat",29:"sitUp",30:"split",31:"squat",32:"squatJump",33:"tricepPress",34:"yFly"},tireExerciseName:{0:"flip"},bikeOutdoorExerciseName:{0:"bike"},runIndoorExerciseName:{0:"indoorTrackRun",1:"treadmill"},waterType:{0:"fresh",1:"salt",2:"en13319",3:"custom"},tissueModelType:{0:"zhl16c"},diveGasStatus:{0:"disabled",1:"enabled",2:"backupOnly"},diveAlert:{0:"ndlReached",1:"gasSwitchPrompted",2:"nearSurface",3:"approachingNdl",4:"po2Warn",5:"po2CritHigh",6:"po2CritLow",7:"timeAlert",8:"depthAlert",9:"decoCeilingBroken",10:"decoComplete",11:"safetyStopBroken",12:"safetyStopComplete",13:"cnsWarning",14:"cnsCritical",15:"otuWarning",16:"otuCritical",17:"ascentCritical",18:"alertDismissedByKey",19:"alertDismissedByTimeout",20:"batteryLow",21:"batteryCritical",22:"safetyStopStarted",23:"approachingFirstDecoStop",24:"setpointSwitchAutoLow",25:"setpointSwitchAutoHigh",26:"setpointSwitchManualLow",27:"setpointSwitchManualHigh",28:"autoSetpointSwitchIgnored",29:"switchedToOpenCircuit",30:"switchedToClosedCircuit",32:"tankBatteryLow",33:"po2CcrDilLow",34:"decoStopCleared",35:"apneaNeutralBuoyancy",36:"apneaTargetDepth",37:"apneaSurface",38:"apneaHighSpeed",39:"apneaLowSpeed"},diveAlarmType:{0:"depth",1:"time",2:"speed"},diveBacklightMode:{0:"atDepth",1:"alwaysOn"},sleepLevel:{0:"unmeasurable",1:"awake",2:"light",3:"deep",4:"rem"},spo2MeasurementType:{0:"offWrist",1:"spotCheck",2:"continuousCheck",3:"periodic"},ccrSetpointSwitchMode:{0:"manual",1:"automatic"},diveGasMode:{0:"openCircuit",1:"closedCircuitDiluent"},projectileType:{0:"arrow",1:"rifleCartridge",2:"pistolCartridge",3:"shotshell",4:"airRiflePellet",5:"other"},faveroProduct:{10:"assiomaUno",12:"assiomaDuo"},splitType:{1:"ascentSplit",2:"descentSplit",3:"intervalActive",4:"intervalRest",5:"intervalWarmup",6:"intervalCooldown",7:"intervalRecovery",8:"intervalOther",9:"climbActive",10:"climbRest",11:"surfActive",12:"runActive",13:"runRest",14:"workoutRound",17:"rwdRun",18:"rwdWalk",21:"windsurfActive",22:"rwdStand",23:"transition",28:"skiLiftSplit",29:"skiRunSplit"},climbProEvent:{0:"approach",1:"start",2:"complete"},gasConsumptionRateType:{0:"pressureSac",1:"volumeSac",2:"rmv"},tapSensitivity:{0:"high",1:"medium",2:"low"},radarThreatLevelType:{0:"threatUnknown",1:"threatNone",2:"threatApproaching",3:"threatApproachingFast"},sleepDisruptionSeverity:{0:"none",1:"low",2:"medium",3:"high"},maxMetSpeedSource:{0:"onboardGps",1:"connectedGps",2:"cadence"},maxMetHeartRateSource:{0:"whr",1:"hrm"},hrvStatus:{0:"none",1:"poor",2:"low",3:"unbalanced",4:"balanced"},noFlyTimeMode:{0:"standard",1:"flat24Hours"}},MesgNum:{FILE_ID:0,FILE_CREATOR:49,TIMESTAMP_CORRELATION:162,SOFTWARE:35,SLAVE_DEVICE:106,CAPABILITIES:1,FILE_CAPABILITIES:37,MESG_CAPABILITIES:38,FIELD_CAPABILITIES:39,DEVICE_SETTINGS:2,USER_PROFILE:3,HRM_PROFILE:4,SDM_PROFILE:5,BIKE_PROFILE:6,CONNECTIVITY:127,WATCHFACE_SETTINGS:159,OHR_SETTINGS:188,TIME_IN_ZONE:216,ZONES_TARGET:7,SPORT:12,HR_ZONE:8,SPEED_ZONE:53,CADENCE_ZONE:131,POWER_ZONE:9,MET_ZONE:10,TRAINING_SETTINGS:13,DIVE_SETTINGS:258,DIVE_ALARM:262,DIVE_APNEA_ALARM:393,DIVE_GAS:259,GOAL:15,ACTIVITY:34,SESSION:18,LAP:19,LENGTH:101,RECORD:20,EVENT:21,DEVICE_INFO:23,DEVICE_AUX_BATTERY_INFO:375,TRAINING_FILE:72,WEATHER_CONDITIONS:128,WEATHER_ALERT:129,GPS_METADATA:160,CAMERA_EVENT:161,GYROSCOPE_DATA:164,ACCELEROMETER_DATA:165,MAGNETOMETER_DATA:208,BAROMETER_DATA:209,THREE_D_SENSOR_CALIBRATION:167,ONE_D_SENSOR_CALIBRATION:210,VIDEO_FRAME:169,OBDII_DATA:174,NMEA_SENTENCE:177,AVIATION_ATTITUDE:178,VIDEO:184,VIDEO_TITLE:185,VIDEO_DESCRIPTION:186,VIDEO_CLIP:187,SET:225,JUMP:285,SPLIT:312,SPLIT_SUMMARY:313,CLIMB_PRO:317,FIELD_DESCRIPTION:206,DEVELOPER_DATA_ID:207,COURSE:31,COURSE_POINT:32,SEGMENT_ID:148,SEGMENT_LEADERBOARD_ENTRY:149,SEGMENT_POINT:150,SEGMENT_LAP:142,SEGMENT_FILE:151,WORKOUT:26,WORKOUT_SESSION:158,WORKOUT_STEP:27,EXERCISE_TITLE:264,SCHEDULE:28,TOTALS:33,WEIGHT_SCALE:30,BLOOD_PRESSURE:51,MONITORING_INFO:103,MONITORING:55,MONITORING_HR_DATA:211,SPO2_DATA:269,HR:132,STRESS_LEVEL:227,MAX_MET_DATA:229,HSA_BODY_BATTERY_DATA:314,HSA_EVENT:315,HSA_ACCELEROMETER_DATA:302,HSA_GYROSCOPE_DATA:376,HSA_STEP_DATA:304,HSA_SPO2_DATA:305,HSA_STRESS_DATA:306,HSA_RESPIRATION_DATA:307,HSA_HEART_RATE_DATA:308,HSA_CONFIGURATION_DATA:389,HSA_WRIST_TEMPERATURE_DATA:409,MEMO_GLOB:145,SLEEP_LEVEL:275,ANT_CHANNEL_ID:82,ANT_RX:80,ANT_TX:81,EXD_SCREEN_CONFIGURATION:200,EXD_DATA_FIELD_CONFIGURATION:201,EXD_DATA_CONCEPT_CONFIGURATION:202,DIVE_SUMMARY:268,AAD_ACCEL_FEATURES:289,HRV:78,BEAT_INTERVALS:290,HRV_STATUS_SUMMARY:370,HRV_VALUE:371,RAW_BBI:372,RESPIRATION_RATE:297,CHRONO_SHOT_SESSION:387,CHRONO_SHOT_DATA:388,TANK_UPDATE:319,TANK_SUMMARY:323,SLEEP_ASSESSMENT:346,SLEEP_DISRUPTION_SEVERITY_PERIOD:470,SLEEP_DISRUPTION_OVERNIGHT_SEVERITY:471,SKIN_TEMP_OVERNIGHT:398,PAD:105}},Pl=new TextEncoder;class Rl{globalMessageNumber;localMesgNum;fieldDefinitions=[];developerFieldDefinitions=[];constructor(s,t,{fieldDescriptions:n=null}={}){try{if(t==null)throw new Error("mesg is missing or null");if(s==null)throw new Error("mesgNum is missing or null");const i=Bs.messages[s];if(i==null)throw new Error(`mesgNum: ${s} could not be found in the Profile`);if(this.globalMessageNumber=s,this.localMesgNum=0,Object.keys(t).forEach(a=>{if(t[a]==null)return;const l=Object.entries(i.fields).find(([,g])=>g.name===a);if(l==null)return;const o=ne.FieldTypeToBaseType[l[1].baseType],r=ne.BaseTypeDefinitions[o];let m=l[1].components.length>1?ne.FIELD_DEFAULT_SCALE:l[1].scale,y=l[1].components.length>1?ne.FIELD_DEFAULT_OFFSET:l[1].offset;m=Array.isArray(m)?m[0]:m??ne.FIELD_DEFAULT_SCALE,y=Array.isArray(y)?y[0]:y??ne.FIELD_DEFAULT_OFFSET,this.fieldDefinitions.push({name:a,num:l[1].num,size:this.#s(t[a],r),baseType:o,baseTypeEndianFlag:r.baseTypeEndianFlag,type:l[1].type,scale:m,offset:y,components:l[1].components})}),Object.keys(t.developerFields??{})?.sort()?.forEach(a=>{const{developerDataIdMesg:l,fieldDescriptionMesg:o}=this.#e(n,a),r=ne.BaseTypeDefinitions[o.fitBaseTypeId&ne.BaseTypeMask];this.developerFieldDefinitions.push({key:a,baseType:o.fitBaseTypeId&ne.BaseTypeMask,fieldDefinitionNumber:o.fieldDefinitionNumber,size:this.#s(t.developerFields[a],r),developerDataIndex:l.developerDataIndex})}),this.fieldDefinitions.length===0)throw new Error("No valid fields were found in the message");if(this.fieldDefinitions.some(a=>a.size>ne.MAX_FIELD_SIZE))throw new Error(`Some field sizes are greater than ${ne.MAX_FIELD_SIZE}`,{cause:this.fieldDefinitions})}catch(i){throw new Error("Could not construct MesgDefinition from Message",{cause:{cause:{message:i.message,cause:i.cause}}})}}write(s){let t=ne.MESG_DEFINITION_MASK|this.localMesgNum&ne.LOCAL_MESG_NUM_MASK;this.developerFieldDefinitions.length>0&&(t|=ne.DEV_DATA_MASK),s.writeUInt8(t),s.writeUInt8(0),s.writeUInt8(ne.ARCH_LITTLE_ENDIAN),s.writeUInt16(this.globalMessageNumber),s.writeUInt8(this.fieldDefinitions.length),this.fieldDefinitions.forEach(n=>{s.writeUInt8(n.num),s.writeUInt8(n.size),s.writeUInt8(n.baseType|n.baseTypeEndianFlag)}),this.developerFieldDefinitions.length>0&&(s.writeUInt8(this.developerFieldDefinitions.length),this.developerFieldDefinitions.forEach(n=>{s.writeUInt8(n.fieldDefinitionNumber),s.writeUInt8(n.size),s.writeUInt8(n.developerDataIndex)}))}equals(s){if(this.globalMessageNumber!==s.globalMessageNumber||this.fieldDefinitions.length!==s.fieldDefinitions.length||this.developerFieldDefinitions.length!==s.developerFieldDefinitions.length)return!1;for(let t=0;t<this.fieldDefinitions.length;t++){const n=this.fieldDefinitions[t];if(s.fieldDefinitions.find(i=>n.num===i.num&&n.size===i.size&&n.baseType===i.baseType)==null)return!1}for(let t=0;t<this.developerFieldDefinitions.length;t++){const n=this.developerFieldDefinitions[t];if(s.developerFieldDefinitions.find(i=>n.fieldDefinitionNumber===i.fieldDefinitionNumber&&n.size===i.size&&n.developerDataIndex===i.developerDataIndex)==null)return!1}return!0}#s(s,t){const n=Array.isArray(s)?s:[s];return t.type===ne.BaseType.STRING?n.reduce((a,l)=>a+Pl.encode(l).length+1,0):t.size*n.length}#e(s,t){try{if(s==null)throw new Error("no developer data field descriptions provided",{cause:{fieldDescriptions:s}});const{developerDataIdMesg:n,fieldDescriptionMesg:i}=s?.[t]??{};if(n==null||i==null)throw new Error(`could not find a developer field description for key ${t}`);const a=[];if(i.fitBaseTypeId==null&&a.push(`fieldDescriptionMesg fitBaseTypeId is ${i.fitBaseTypeId}`),i.fieldDefinitionNumber==null&&a.push(`fieldDescriptionMesg fieldDefinitionNumber is ${i.fieldDefinitionNumber}`),i.developerDataIndex==null&&a.push(`fieldDescriptionMesg developerDataIndex is ${i.developerDataIndex}`),n.developerDataIndex==null&&a.push(`developerDataIdMesg developerDataIndex is ${n.developerDataIndex}`),n.developerDataIndex!==i.developerDataIndex&&a.push(`developerDataIndex values do not match in fieldDescription ${n.developerDataIndex} != ${i.developerDataIndex}`),a.length>0)throw new Error("missing or invalid values in the fieldDescription,",{cause:{developerDataIdMesg:n,fieldDescriptionMesg:i,cause:a}});return{key:t,developerDataIdMesg:n,fieldDescriptionMesg:i}}catch(n){throw new Error(`invalid field description for key ${t}`,{cause:{key:t,cause:{message:n.message,cause:n.cause}}})}}}const kn=1048576,Il=kn*10,Fa=kn/2;class Dl{#s=null;#e=null;#t=0;#n=0;#l=null;#i=new TextEncoder;constructor({initialByteLength:s=Fa,maxByteLength:t=Il,resizeByBytes:n=Fa}={}){this.#s=new ArrayBuffer(s,{maxByteLength:t}),this.#e=new DataView(this.#s),this.#n=n,this.#l={[ne.BaseType.ENUM]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ne.BaseType.UINT8]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ne.BaseType.UINT16]:{setValue:this.#e.setUint16.bind(this.#e),size:2,mask:65535},[ne.BaseType.UINT32]:{setValue:this.#e.setUint32.bind(this.#e),size:4,mask:4294967295},[ne.BaseType.UINT64]:{setValue:this.#e.setBigUint64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ne.BaseType.SINT8]:{setValue:this.#e.setInt8.bind(this.#e),size:1,mask:255},[ne.BaseType.SINT16]:{setValue:this.#e.setInt16.bind(this.#e),size:2,mask:65535},[ne.BaseType.SINT32]:{setValue:this.#e.setInt32.bind(this.#e),size:4,mask:4294967295},[ne.BaseType.SINT64]:{setValue:this.#e.setBigInt64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ne.BaseType.FLOAT32]:{setValue:this.#e.setFloat32.bind(this.#e),size:4},[ne.BaseType.FLOAT64]:{setValue:this.#e.setFloat64.bind(this.#e),size:8},[ne.BaseType.UINT8Z]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ne.BaseType.UINT16Z]:{setValue:this.#e.setUint16.bind(this.#e),size:2,mask:65535},[ne.BaseType.UINT32Z]:{setValue:this.#e.setUint32.bind(this.#e),size:4,mask:4294967295},[ne.BaseType.UINT64Z]:{setValue:this.#e.setBigUint64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ne.BaseType.BYTE]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255}}}get length(){return this.#t}get uint8Array(){return new Uint8Array(this.#s.slice(0,this.#t))}writeUInt8(s){return this.write(s,ne.BaseType.UINT8)}writeUInt16(s){return this.write(s,ne.BaseType.UINT16)}writeUInt32(s){return this.write(s,ne.BaseType.UINT32)}writeUInt64(s){return this.write(s,ne.BaseType.UINT64)}writeSInt8(s){return this.write(s,ne.BaseType.SINT8)}writeSInt16(s){return this.write(s,ne.BaseType.SINT16)}writeSInt32(s){return this.write(s,ne.BaseType.SINT32)}writeSInt64(s){return this.write(s,ne.BaseType.SINT64)}writeFloat32(s){return this.write(s,ne.BaseType.FLOAT32)}writeFloat64(s){return this.write(s,ne.BaseType.FLOAT64)}writeUInt8z(s){return this.write(s,ne.BaseType.UINT8Z)}writeUInt16z(s){return this.write(s,ne.BaseType.UINT16Z)}writeUInt32z(s){return this.write(s,ne.BaseType.UINT32Z)}writeUInt64z(s){return this.write(s,ne.BaseType.UINT64Z)}writeByte(s){return this.write(s,ne.BaseType.BYTE)}writeString(s){const t=this.#i.encode(s);return this.#r(t.byteLength),new Uint8Array(this.#s,this.#t,t.byteLength).set(t),this.#t+=t.byteLength,this.writeUInt8(0),this}write(s,t){if(t===ne.BaseType.STRING)return this.writeString(s);this.#a(t,s)}set(s,t=0){return this.#r(s.byteLength+t),new Uint8Array(this.#s).set(s,t),this.#t=Math.max(this.#t,s.byteLength+t),this}[Symbol.iterator](){let s=0;const t=this.#t,n=this.#e;return{next(){return s<t?{value:n.getUint8(s++),done:!1}:{done:!0}}}}#a(s,t){(Array.isArray(t)?t:[t]).forEach(i=>this.#u(s,i))}#u(s,t){const n=this.#l[s];this.#r(n.size);const i=n.mask==null?t:t&n.mask;return n.setValue(this.#t,i,!0),this.#t+=n.size,this}#r(s=1){if(!(this.#s.byteLength-this.#t>=s)){if(!this.#s.resizable)throw new Error("Can not resize OutputStream. Set a larger initial size.");this.#s.resize(this.#s.byteLength+Math.max(this.#n,s))}}}const yt=14,Ll=12;class Bl{constructor({fieldDescriptions:s=null}={}){this.#f={};for(const[t,{developerDataIdMesg:n,fieldDescriptionMesg:i}]of Object.entries(s??{}))this.addDeveloperField(t,n,i);this.#s()}close(){return this.#e(),this.#t(),this.#o.uint8Array}writeMesg(s){return this.onMesg(s.mesgNum,s)}onMesg(s,t){try{const n=this.#i(s,t);this.#u(n),this.#o.writeUInt8(n.localMesgNum),n.fieldDefinitions.forEach(i=>{const a=this.#n(t[i.name],i),l=ne.BaseTypeDefinitions[i.baseType];this.#o.write(a,l.type)}),n.developerFieldDefinitions.forEach(i=>{const a=this.#n(t.developerFields[i.key],i),l=ne.BaseTypeDefinitions[i.baseType];this.#o.write(a,l.type)})}catch(n){throw new Error("Could not write Message",{cause:{mesg:t,cause:{message:n.message,cause:n.cause}}})}return this}addDeveloperField(s,t,n){if(t.developerDataIndex==null||n.developerDataIndex==null)throw new Error("addDeveloperField() - one or more developerDataIndex values are null.",{cause:{key:s,developerDataIdMesg:t,fieldDescriptionMesg:n}});if(t.developerDataIndex!==n.developerDataIndex)throw new Error("addDeveloperField() - developerDataIndex values do not match.",{cause:{key:s,developerDataIdMesg:t,fieldDescriptionMesg:n}});return this.#f[s]={developerDataIdMesg:t,fieldDescriptionMesg:n},this}#s(){Array(yt).fill(0).forEach(s=>{this.#o.writeUInt8(s)})}#e(){const s=new ArrayBuffer(yt),t=new DataView(s);t.setUint8(0,yt),t.setUint8(1,2),t.setUint16(2,Bs.version.major*1e3+Bs.version.minor,!0),t.setUint32(4,this.#o.length-yt,!0),t.setUint8(8,46),t.setUint8(9,70),t.setUint8(10,73),t.setUint8(11,84);const n=St.calculateCRC(new Uint8Array(s),0,Ll);t.setUint16(12,n,!0),this.#o.set(new Uint8Array(s))}#t(){const s=St.calculateCRC(this.#o.uint8Array,0,this.#o.length);this.#o.writeUInt16(s)}#n(s,t){return(Array.isArray(s)?s:[s]).map(i=>this.#l(i,t))}#l(s,t){try{if(ne.isNotNumberStringDateOrBoolean(s))return ne.BaseTypeDefinitions[t.baseType].invalid;if(ne.NumericFieldTypes.includes(t.type)){if(!ne.isNumeric(s))throw new Error;if(t.scale!=ne.FIELD_DEFAULT_SCALE||t.offset!=ne.FIELD_DEFAULT_OFFSET){const l=(s+t.offset)*t.scale;return ne.FloatingPointFieldTypes.includes(t.type)?l:Math.round(l)}return s}if(t.type==="dateTime"){if(ne.isDate(s))return El.convertDateToDateTime(s);if(!ne.isNumeric(s))throw new Error;return s}if(t.type==="string"){if(!ne.isString(s))throw new Error;return s}if(ne.isNumeric(s))return s;const n=Bs.types[t.type],[i]=Object.entries(n).find(([,a])=>a===s);return i}catch{throw new Error(`Could not convert "${s}" to "${t.type}"`,{cause:{value:s,fieldDefinition:t}})}}#i=(s,t)=>{const n=new Rl(s,t,{fieldDescriptions:this.#f});return n.localMesgNum=this.#a(n),n};#a=s=>{const t=this.#c.findIndex(n=>n?.equals(s)??!1);return(t!==-1?t:this.#m++)&ne.LOCAL_MESG_NUM_MASK};#u=s=>{const t=s.localMesgNum;return(this.#c[t]==null||!this.#c[t].equals(s))&&this.#r(s),t};#r(s){return s.write(this.#o),this.#c[s.localMesgNum]=s,this}#c=Array(16).fill(null);#m=0;#o=new Dl;#f=null}function Qs(e){return e!=="rest"&&e!=="race"}function Ml(e){switch(e){case"swim":return"swimming";case"bike":return"cycling";case"run":return"running";case"strength":return"training";case"brick":return"multisport";default:return"generic"}}function Ol(e){switch(e){case"swim":return"lap_swimming";case"bike":return"road";case"run":return"road";case"strength":return"strength_training";case"brick":return"triathlon";default:return"generic"}}function zl(e){switch(e){case"warmup":return"warmup";case"cooldown":return"cooldown";case"rest":return"rest";case"recovery":return"recovery";case"work":return"active";default:return"active"}}function Nl(e,s){switch(s){case"seconds":return e*1e3;case"minutes":return e*60*1e3;case"hours":return e*3600*1e3;case"meters":return e*100;case"kilometers":return e*1e5;case"miles":return e*160934;default:return e*1e3}}function Wl(e){switch(e){case"seconds":case"minutes":case"hours":return"time";case"meters":case"kilometers":case"miles":return"distance";default:return"time"}}function Ul(e){const s=[];let t=0;const n=(a,l=!1)=>{const o=Wl(a.duration?.unit??"minutes"),r=Nl(a.duration?.value??0,a.duration?.unit??"minutes"),m={messageIndex:t,workoutStepName:a.name||"",intensity:zl(a.type),durationType:o,durationValue:r,notes:a.notes||""};if(a.intensity){const y=a.intensity.value??50;switch(a.intensity.unit){case"percent_ftp":m.targetType="power",m.targetValue=0,m.customTargetValueLow=a.intensity.valueLow??y-5,m.customTargetValueHigh=a.intensity.valueHigh??y+5;break;case"percent_lthr":case"hr_zone":m.targetType="heart_rate",m.targetValue=0,a.intensity.valueLow!==void 0&&a.intensity.valueHigh!==void 0?(m.customTargetValueLow=a.intensity.valueLow,m.customTargetValueHigh=a.intensity.valueHigh):m.targetValue=y;break;case"rpe":m.targetType="open";break;default:m.targetType="open"}}else m.targetType="open";return a.cadence&&(m.customTargetCadenceLow=a.cadence.low??80,m.customTargetCadenceHigh=a.cadence.high??100),s.push(m),t++,t-1},i=a=>{const l=t;t++;const o=[];for(const m of a.steps)o.push(n(m,!0));const r={messageIndex:l,workoutStepName:a.name||"Intervals",durationType:"repeat_until_steps_cmplt",durationValue:a.repeats,targetType:"open",intensity:"interval"};s.splice(l,0,r),t++};if(e.warmup)for(const a of e.warmup)n(a);for(const a of e.main)"repeats"in a?i(a):n(a);if(e.cooldown)for(const a of e.cooldown)n(a);return{steps:s,totalSteps:s.length}}function Hl(e){const s=[],t=e.durationMinutes||60,n=Math.min(15,Math.max(5,Math.round(t*.1)));s.push({messageIndex:0,workoutStepName:"Warm Up",intensity:"warmup",durationType:"time",durationValue:n*60*1e3,targetType:"open"});const i=Math.min(10,Math.max(5,Math.round(t*.1))),a=t-n-i;let l="active";return e.type==="recovery"?l="recovery":e.type==="rest"?l="rest":(e.type==="intervals"||e.type==="vo2max")&&(l="interval"),s.push({messageIndex:1,workoutStepName:"Main Set",intensity:l,durationType:"time",durationValue:a*60*1e3,targetType:"open",notes:e.description||""}),s.push({messageIndex:2,workoutStepName:"Cool Down",intensity:"cooldown",durationType:"time",durationValue:i*60*1e3,targetType:"open"}),{steps:s,totalSteps:3}}async function Sn(e,s){if(!Qs(e.sport))throw new Error(`FIT export not supported for ${e.sport} workouts`);const t=new Bl;t.onMesg(Bs.MesgNum.FILE_ID,{type:"workout",manufacturer:"development",product:1,serialNumber:Math.floor(Math.random()*1e6),timeCreated:new Date});const{steps:n,totalSteps:i}=e.structure?Ul(e.structure):Hl(e);t.onMesg(Bs.MesgNum.WORKOUT,{workoutName:e.name,sport:Ml(e.sport),subSport:Ol(e.sport),numValidSteps:i});for(const a of n)t.onMesg(Bs.MesgNum.WORKOUT_STEP,a);return t.close()}function $s(e){return e==="bike"}function jl(e){const s=[];let t=0;const n=a=>{const l=a.intensity?.value??50,o=i(a);if(s.push([t,l]),a.intensity?.valueLow!==void 0&&a.intensity?.valueHigh!==void 0){const r=a.intensity.valueLow,m=a.intensity.valueHigh;s[s.length-1]=[t,r],t+=o,s.push([t,m])}else t+=o,s.push([t,l])},i=a=>{const l=a.duration?.unit??"minutes",o=a.duration?.value??0;switch(l){case"seconds":return o/60;case"minutes":return o;case"hours":return o*60;default:return l==="meters"?o/1e3/30*60:l==="kilometers"?o/30*60:o}};if(e.warmup)for(const a of e.warmup)n(a);for(const a of e.main??[])if("repeats"in a){const l=a;for(let o=0;o<(l.repeats??1);o++)for(const r of l.steps??[])n(r)}else n(a);if(e.cooldown)for(const a of e.cooldown)n(a);return s}function Gl(e){const s=e.durationMinutes||60,t=[];let n=65;switch(e.type){case"recovery":n=55;break;case"endurance":n=65;break;case"tempo":n=80;break;case"threshold":n=95;break;case"vo2max":n=110;break;case"intervals":n=85;break}const i=Math.min(15,Math.max(5,Math.round(s*.1)));t.push([0,40]),t.push([i,65]);const a=Math.min(10,Math.max(5,Math.round(s*.1))),l=s-i-a;return t.push([i,n]),t.push([i+l,n]),t.push([i+l,60]),t.push([s,40]),t}function xn(e,s){if(!$s(e.sport))throw new Error("ERG/MRC export only supports bike workouts");const t=e.structure?jl(e.structure):Gl(e);let n=e.name;e.description&&(n+=` - ${e.description}`);const i=["[COURSE HEADER]","VERSION = 2","UNITS = ENGLISH",`DESCRIPTION = ${n.replace(/[\r\n]/g," ")}`,`FILE NAME = ${e.name}`,"MINUTES PERCENT","[END COURSE HEADER]","[COURSE DATA]"];for(const[a,l]of t)i.push(`${a.toFixed(2)} ${l.toFixed(0)}`);return i.push("[END COURSE DATA]"),i.join(`
|
|
29
|
-
`)}function Gt(e){return e.replace(/-/g,"")}function
|
|
30
|
-
`)}function
|
|
31
|
-
`)}function
|
|
32
|
-
`),
|
|
33
|
-
`);
|
|
34
|
-
`+
|
|
28
|
+
</workout_file>`}const yt=[0,52225,55297,5120,61441,15360,10240,58369,40961,27648,30720,46081,20480,39937,34817,17408];class St{#s=0;constructor(){}get crc(){return this.#s}#e(s){let t=yt[this.#s&15];return this.#s=this.#s>>4&4095,this.#s=this.#s^t^yt[s&15],t=yt[this.#s&15],this.#s=this.#s>>4&4095,this.#s=this.#s^t^yt[s>>4&15],this.#s}addBytes(s,t,a){for(let i=t;i<a;i++)this.#s=this.#e(s[i]);return this.#s}static calculateCRC(s,t,a){return new St().addBytes(s,t,a)}}const de={ENUM:0,SINT8:1,UINT8:2,SINT16:131,UINT16:132,SINT32:133,UINT32:134,STRING:7,FLOAT32:136,FLOAT64:137,UINT8Z:10,UINT16Z:139,UINT32Z:140,BYTE:13,SINT64:142,UINT64:143,UINT64Z:144},bl={0:{size:1,type:de.ENUM,invalid:255},1:{size:1,type:de.SINT8,invalid:127},2:{size:1,type:de.UINT8,invalid:255},131:{size:2,type:de.SINT16,invalid:32767},132:{size:2,type:de.UINT16,invalid:65535},133:{size:4,type:de.SINT32,invalid:2147483647},134:{size:4,type:de.UINT32,invalid:4294967295},7:{size:1,type:de.STRING,invalid:0},136:{size:4,type:de.FLOAT32,invalid:4294967295},137:{size:8,type:de.FLOAT64,invalid:18446744073709552e3},10:{size:1,type:de.UINT8Z,invalid:0},139:{size:2,type:de.UINT16Z,invalid:0},140:{size:4,type:de.UINT32Z,invalid:0},13:{size:1,type:de.BYTE,invalid:255},142:{size:8,type:de.SINT64,invalid:9223372036854776e3},143:{size:8,type:de.UINT64,invalid:18446744073709552e3},144:{size:8,type:de.UINT64Z,invalid:0}},yl=["sint8","uint8","sint16","uint16","sint32","uint32","float32","float64","uint8z","uint16z","uint32z","byte","sint64","uint64","uint64z"],gl=["float32","float64"],vl={enum:de.UINT8,sint8:de.SINT8,uint8:de.UINT8,sint16:de.SINT16,uint16:de.UINT16,sint32:de.SINT32,uint32:de.UINT32,string:de.STRING,float32:de.FLOAT32,float64:de.FLOAT64,uint8z:de.UINT8Z,uint16z:de.UINT16Z,uint32z:de.UINT32Z,byte:de.BYTE,sint64:de.SINT64,uint64:de.UINT64,uint64z:de.UINT64Z},Tl={[de.ENUM]:"enum",[de.SINT8]:"sint8",[de.UINT8]:"uint8",[de.SINT16]:"sint16",[de.UINT16]:"uint16",[de.SINT32]:"sint32",[de.UINT32]:"uint32",[de.STRING]:"string",[de.FLOAT32]:"float32",[de.FLOAT64]:"float64",[de.UINT8Z]:"uint8z",[de.UINT16Z]:"uint16z",[de.UINT32Z]:"uint32z",[de.BYTE]:"byte",[de.SINT64]:"sint64",[de.UINT64]:"uint64",[de.UINT64Z]:"uint64z"},bn=e=>e==null,Cl=e=>typeof e=="object",yn=e=>typeof e=="boolean",gn=e=>typeof e=="object"&&e instanceof Date,vn=e=>typeof e=="string",Tn=e=>!isNaN(parseFloat(e))&&isFinite(e),wl=e=>!Cn(e),Cn=e=>!(bn(e)||!gn(e)&&!vn(e)&&!Tn(e)&&!yn(e)),le={BaseType:de,BaseTypeDefinitions:bl,NumericFieldTypes:yl,FloatingPointFieldTypes:gl,FieldTypeToBaseType:vl,BaseTypeToFieldType:Tl,isNullOrUndefined:bn,isObject:Cl,isBoolean:yn,isDate:gn,isString:vn,isNumeric:Tn,isNumberStringDateOrBoolean:Cn,isNotNumberStringDateOrBoolean:wl,MAX_FIELD_SIZE:255,FIELD_DEFAULT_SCALE:1,FIELD_DEFAULT_OFFSET:0,MESG_DEFINITION_MASK:64,LOCAL_MESG_NUM_MASK:15,ARCH_LITTLE_ENDIAN:0,DEV_DATA_MASK:32},na=6310656e5,Al=e=>new Date((e??0)*1e3+na),Fl=e=>(e.getTime()-na)/1e3,_l={FIT_EPOCH_MS:na,convertDateTimeToDate:Al,convertDateToDateTime:Fl,FitBaseType:le.BaseType,BaseTypeToFieldType:le.BaseTypeToFieldType,FieldTypeToBaseType:le.FieldTypeToBaseType},Ds={version:{major:21,minor:178,patch:0,type:"Release"},CommonFields:{PartIndex:250,Timestamp:253,MessageIndex:254},messages:{0:{num:0,name:"fileId",messagesKey:"fileIdMesgs",fields:{0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"number",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"productName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},49:{num:49,name:"fileCreator",messagesKey:"fileCreatorMesgs",fields:{0:{num:0,name:"softwareVersion",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hardwareVersion",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},162:{num:162,name:"timestampCorrelation",messagesKey:"timestampCorrelationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"systemTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fractionalSystemTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"systemTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},35:{num:35,name:"software",messagesKey:"softwareMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"version",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"partNumber",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},106:{num:106,name:"slaveDevice",messagesKey:"slaveDeviceMesgs",fields:{0:{num:0,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]}}},1:{num:1,name:"capabilities",messagesKey:"capabilitiesMesgs",fields:{0:{num:0,name:"languages",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sports",type:"sportBits0",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"workoutsSupported",type:"workoutCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"connectivitySupported",type:"connectivityCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},37:{num:37,name:"fileCapabilities",messagesKey:"fileCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"flags",type:"fileFlags",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"directory",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"maxCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"maxSize",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"bytes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},38:{num:38,name:"mesgCapabilities",messagesKey:"mesgCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"file",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"countType",type:"mesgCount",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"count",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"numPerFile",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:0}]},{name:"maxPerFile",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:1}]},{name:"maxPerFileType",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:2}]}]}}},39:{num:39,name:"fieldCapabilities",messagesKey:"fieldCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"file",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"count",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},2:{num:2,name:"deviceSettings",messagesKey:"deviceSettingsMesgs",fields:{0:{num:0,name:"activeTimeZone",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"utcOffset",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"timeOffset",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeMode",type:"timeMode",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timeZoneOffset",type:"sint8",baseType:"sint8",array:!0,scale:4,offset:0,units:"hr",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"backlightMode",type:"backlightMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"activityTrackerEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"clockTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"pagesEnabled",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"moveAlertEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"dateMode",type:"dateMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"displayOrientation",type:"displayOrientation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"mountingSide",type:"side",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"defaultPage",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"autosyncMinSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"steps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"autosyncMinTime",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"lactateThresholdAutodetectEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"bleAutoUploadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"autoSyncFrequency",type:"autoSyncFrequency",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"autoActivityDetect",type:"autoActivityDetect",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"numberOfScreens",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"smartNotificationDisplayOrientation",type:"displayOrientation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},134:{num:134,name:"tapInterface",type:"switch",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},174:{num:174,name:"tapSensitivity",type:"tapSensitivity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},3:{num:3,name:"userProfile",messagesKey:"userProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"friendlyName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"gender",type:"gender",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"age",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"years",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"height",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"language",type:"language",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"elevSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"weightSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"defaultMaxRunningHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"defaultMaxBikingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"defaultMaxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"hrSetting",type:"displayHeart",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"speedSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"distSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"powerSetting",type:"displayPower",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"activityClass",type:"activityClass",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"positionSetting",type:"displayPosition",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"temperatureSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"localId",type:"userLocalId",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"globalId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"wakeTime",type:"localtimeIntoDay",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"sleepTime",type:"localtimeIntoDay",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"heightSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"userRunningStepLength",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"userWalkingStepLength",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"depthSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"diveCount",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},4:{num:4,name:"hrmProfile",messagesKey:"hrmProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hrmAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"logHrv",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"hrmAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},5:{num:5,name:"sdmProfile",messagesKey:"sdmProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sdmAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"sdmCalFactor",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"odometer",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"speedSource",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sdmAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"odometerRollover",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},6:{num:6,name:"bikeProfile",messagesKey:"bikeProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"odometer",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"bikeSpdAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"bikeCadAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"bikeSpdcadAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"bikePowerAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"customWheelsize",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"autoWheelsize",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"bikeWeight",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"powerCalFactor",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"autoWheelCal",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"autoPowerZero",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"id",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"spdEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"cadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"spdcadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"powerEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"crankLength",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:-110,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"bikeSpdAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"bikeCadAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"bikeSpdcadAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"bikePowerAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"odometerRollover",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"frontGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"frontGear",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"rearGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"rearGear",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"shimanoDi2Enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},127:{num:127,name:"connectivity",messagesKey:"connectivityMesgs",fields:{0:{num:0,name:"bluetoothEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"bluetoothLeEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"antEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"liveTrackingEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"weatherConditionsEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"weatherAlertsEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"autoActivityUploadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"courseDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"workoutDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"gpsEphemerisDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"incidentDetectionEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"grouptrackEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},159:{num:159,name:"watchfaceSettings",messagesKey:"watchfaceSettingsMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"mode",type:"watchfaceMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"layout",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"digitalLayout",type:"digitalWatchfaceLayout",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"mode",value:0}]},{name:"analogLayout",type:"analogWatchfaceLayout",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"mode",value:1}]}]}}},188:{num:188,name:"ohrSettings",messagesKey:"ohrSettingsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"switch",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},216:{num:216,name:"timeInZone",messagesKey:"timeInZoneMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"referenceMesg",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"referenceIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"hrZoneHighBoundary",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"speedZoneHighBoundary",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"cadenceZoneHighBondary",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"powerZoneHighBoundary",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"hrCalcType",type:"hrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"thresholdHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"pwrCalcType",type:"pwrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"functionalThresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},7:{num:7,name:"zonesTarget",messagesKey:"zonesTargetMesgs",fields:{1:{num:1,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"thresholdHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"functionalThresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"hrCalcType",type:"hrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"pwrCalcType",type:"pwrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},12:{num:12,name:"sport",messagesKey:"sportMesgs",fields:{0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},8:{num:8,name:"hrZone",messagesKey:"hrZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highBpm",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},53:{num:53,name:"speedZone",messagesKey:"speedZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"highValue",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},131:{num:131,name:"cadenceZone",messagesKey:"cadenceZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"highValue",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},9:{num:9,name:"powerZone",messagesKey:"powerZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highValue",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},10:{num:10,name:"metZone",messagesKey:"metZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highBpm",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kcal / min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fatCalories",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"kcal / min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},13:{num:13,name:"trainingSettings",messagesKey:"trainingSettingsMesgs",fields:{31:{num:31,name:"targetDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"targetSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"targetTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},153:{num:153,name:"preciseTargetSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e6,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},258:{num:258,name:"diveSettings",messagesKey:"diveSettingsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"model",type:"tissueModelType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gfLow",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gfHigh",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"waterType",type:"waterType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"waterDensity",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kg/m^3",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"po2Warn",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"po2Critical",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"po2Deco",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"safetyStopEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"bottomDepth",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"bottomTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"apneaCountdownEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"apneaCountdownTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"backlightMode",type:"diveBacklightMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"backlightBrightness",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"backlightTimeout",type:"backlightTimeout",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"repeatDiveInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"safetyStopTime",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"heartRateSourceType",type:"sourceType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"heartRateSource",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"heartRateAntplusDeviceType",type:"antplusDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"heartRateSourceType",value:1}]},{name:"heartRateLocalDeviceType",type:"localDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"heartRateSourceType",value:5}]}]},21:{num:21,name:"travelGas",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"ccrLowSetpointSwitchMode",type:"ccrSetpointSwitchMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"ccrLowSetpoint",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"ccrLowSetpointDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"ccrHighSetpointSwitchMode",type:"ccrSetpointSwitchMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"ccrHighSetpoint",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"ccrHighSetpointDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"gasConsumptionDisplay",type:"gasConsumptionRateType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"upKeyEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"diveSounds",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"lastStopMultiple",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"noFlyTimeMode",type:"noFlyTimeMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},262:{num:262,name:"diveAlarm",messagesKey:"diveAlarmMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"alarmType",type:"diveAlarmType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sound",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"diveTypes",type:"subSport",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"id",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"popupEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"triggerOnDescent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"triggerOnAscent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"repeating",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"speed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"mps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},393:{num:393,name:"diveApneaAlarm",messagesKey:"diveApneaAlarmMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"alarmType",type:"diveAlarmType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sound",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"diveTypes",type:"subSport",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"id",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"popupEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"triggerOnDescent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"triggerOnAscent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"repeating",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"speed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"mps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},259:{num:259,name:"diveGas",messagesKey:"diveGasMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"heliumContent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"oxygenContent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"status",type:"diveGasStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"mode",type:"diveGasMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},15:{num:15,name:"goal",messagesKey:"goalMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startDate",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endDate",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"type",type:"goal",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"value",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"repeat",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"targetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"recurrence",type:"goalRecurrence",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"recurrenceValue",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"source",type:"goalSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},34:{num:34,name:"activity",messagesKey:"activityMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"numSessions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"type",type:"activity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},18:{num:18,name:"session",messagesKey:"sessionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrides",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strides",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1},{name:"sport",value:11}]},{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2},{name:"sport",value:5},{name:"sport",value:15},{name:"sport",value:37}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["124"],isAccumulated:!1,hasComponents:!0,subFields:[]},15:{num:15,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["125"],isAccumulated:!1,hasComponents:!0,subFields:[]},16:{num:16,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"avgRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},19:{num:19,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"maxRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},20:{num:20,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"totalTrainingEffect",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"firstLapIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"numLaps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"trigger",type:"sessionTrigger",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"necLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"necLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"swcLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"swcLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"numLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"trainingStressScore",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"tss",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"intensityFactor",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"if",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"avgStrokeCount",type:"uint32",baseType:"uint32",array:!1,scale:10,offset:0,units:"strokes/lap",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgStrokeDistance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"swim_stroke",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"thresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"numActiveLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["126"],isAccumulated:!1,hasComponents:!0,subFields:[]},50:{num:50,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["128"],isAccumulated:!1,hasComponents:!0,subFields:[]},51:{num:51,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},63:{num:63,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},64:{num:64,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},66:{num:66,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"avgLapTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"bestLapIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["127"],isAccumulated:!1,hasComponents:!0,subFields:[]},82:{num:82,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"opponentName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"maxBallSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},88:{num:88,name:"avgBallSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"avgVerticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"avgStanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"avgStanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"avgTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},96:{num:96,name:"minTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},97:{num:97,name:"maxTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"avgSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"minSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},100:{num:100,name:"maxSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},101:{num:101,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},102:{num:102,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},103:{num:103,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},104:{num:104,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},105:{num:105,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"sportProfileName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},111:{num:111,name:"sportIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},112:{num:112,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},113:{num:113,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},121:{num:121,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},122:{num:122,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"enhancedAvgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},125:{num:125,name:"enhancedMaxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},126:{num:126,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},127:{num:127,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},128:{num:128,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},129:{num:129,name:"avgLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},130:{num:130,name:"maxLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},131:{num:131,name:"levBatteryConsumption",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},132:{num:132,name:"avgVerticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},133:{num:133,name:"avgStanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},134:{num:134,name:"avgStepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},137:{num:137,name:"totalAnaerobicTrainingEffect",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},139:{num:139,name:"avgVam",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},140:{num:140,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},141:{num:141,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},142:{num:142,name:"surfaceInterval",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},143:{num:143,name:"startCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},144:{num:144,name:"endCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},145:{num:145,name:"startN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},146:{num:146,name:"endN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},147:{num:147,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["169"],isAccumulated:!1,hasComponents:!0,subFields:[]},148:{num:148,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["170"],isAccumulated:!1,hasComponents:!0,subFields:[]},149:{num:149,name:"minRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["180"],isAccumulated:!1,hasComponents:!0,subFields:[]},150:{num:150,name:"minTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},155:{num:155,name:"o2Toxicity",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"OTUs",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},156:{num:156,name:"diveNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},168:{num:168,name:"trainingLoadPeak",type:"sint32",baseType:"sint32",array:!1,scale:65536,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},169:{num:169,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},170:{num:170,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},180:{num:180,name:"enhancedMinRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},181:{num:181,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},182:{num:182,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},183:{num:183,name:"jumpCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},186:{num:186,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},187:{num:187,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},192:{num:192,name:"workoutFeel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},193:{num:193,name:"workoutRpe",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},194:{num:194,name:"avgSpo2",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},195:{num:195,name:"avgStress",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},197:{num:197,name:"sdrrHrv",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"mS",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},198:{num:198,name:"rmssdHrv",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"mS",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},199:{num:199,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},200:{num:200,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},208:{num:208,name:"avgCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},209:{num:209,name:"minCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},210:{num:210,name:"maxCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},19:{num:19,name:"lap",messagesKey:"lapMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrides",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strides",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1},{name:"sport",value:11}]},{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2},{name:"sport",value:5},{name:"sport",value:15},{name:"sport",value:37}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["110"],isAccumulated:!1,hasComponents:!0,subFields:[]},14:{num:14,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["111"],isAccumulated:!1,hasComponents:!0,subFields:[]},15:{num:15,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"avgRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},18:{num:18,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"maxRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},19:{num:19,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"intensity",type:"intensity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"lapTrigger",type:"lapTrigger",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"numLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"firstLengthIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"avgStrokeDistance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"numActiveLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["112"],isAccumulated:!1,hasComponents:!0,subFields:[]},43:{num:43,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["114"],isAccumulated:!1,hasComponents:!0,subFields:[]},44:{num:44,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"repetitionNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["113"],isAccumulated:!1,hasComponents:!0,subFields:[]},63:{num:63,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},75:{num:75,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},76:{num:76,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"avgVerticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"avgStanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},79:{num:79,name:"avgStanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"avgTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"minTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"maxTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"avgSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},88:{num:88,name:"minSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"maxSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},100:{num:100,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},101:{num:101,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},102:{num:102,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},103:{num:103,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},104:{num:104,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},105:{num:105,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},106:{num:106,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},107:{num:107,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},108:{num:108,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},109:{num:109,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"enhancedAvgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},111:{num:111,name:"enhancedMaxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},112:{num:112,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},113:{num:113,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"avgLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"maxLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"levBatteryConsumption",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"avgVerticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"avgStanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"avgStepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},121:{num:121,name:"avgVam",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},122:{num:122,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"minTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},136:{num:136,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},137:{num:137,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},147:{num:147,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["136"],isAccumulated:!1,hasComponents:!0,subFields:[]},148:{num:148,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["137"],isAccumulated:!1,hasComponents:!0,subFields:[]},149:{num:149,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},150:{num:150,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},151:{num:151,name:"jumpCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},153:{num:153,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},154:{num:154,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},156:{num:156,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},157:{num:157,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},158:{num:158,name:"avgCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},159:{num:159,name:"minCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},160:{num:160,name:"maxCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},101:{num:101,name:"length",messagesKey:"lengthMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"totalStrokes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"strokes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"swim_stroke",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"avgSwimmingCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"strokes/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"lengthType",type:"lengthType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["22"],isAccumulated:!1,hasComponents:!0,subFields:[]},25:{num:25,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["23"],isAccumulated:!1,hasComponents:!0,subFields:[]}}},20:{num:20,name:"record",messagesKey:"recordMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"altitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["78"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"cadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},6:{num:6,name:"speed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["73"],isAccumulated:!1,hasComponents:!0,subFields:[]},7:{num:7,name:"power",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"compressedSpeedDistance",type:"byte",baseType:"byte",array:!0,scale:[100,16],offset:[0,0],units:["m/s","m"],bits:[12,12],components:["6","5"],isAccumulated:!1,hasComponents:!0,subFields:[]},9:{num:9,name:"grade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"resistance",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"timeFromCourse",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"cycleLength",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"temperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"speed1s",type:"uint8",baseType:"uint8",array:!0,scale:16,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"cycles",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:["cycles"],bits:[8],components:["19"],isAccumulated:!1,hasComponents:!0,subFields:[]},19:{num:19,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},28:{num:28,name:"compressedAccumulatedPower",type:"uint16",baseType:"uint16",array:!1,scale:[1],offset:[0],units:["watts"],bits:[16],components:["29"],isAccumulated:!1,hasComponents:!0,subFields:[]},29:{num:29,name:"accumulatedPower",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},30:{num:30,name:"leftRightBalance",type:"leftRightBalance",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"verticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"verticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"stanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"stanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"leftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"rightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"leftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"rightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"combinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"time128",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"strokeType",type:"strokeType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"zone",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"ballSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"cadence256",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"fractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"totalHemoglobinConc",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"totalHemoglobinConcMin",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"totalHemoglobinConcMax",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"saturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"saturatedHemoglobinPercentMin",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"saturatedHemoglobinPercentMax",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"leftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"rightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"leftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"leftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"rightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},72:{num:72,name:"rightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},73:{num:73,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"batterySoc",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"motorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"verticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"stanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"stepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"cycleLength16",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"absolutePressure",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"Pa",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"nextStopDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"nextStopTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"timeToSurface",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},96:{num:96,name:"ndlTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},97:{num:97,name:"cnsLoad",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"n2Load",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"respirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:["s"],bits:[8],components:["108"],isAccumulated:!1,hasComponents:!0,subFields:[]},108:{num:108,name:"enhancedRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"grit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"flow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"currentStress",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"ebikeTravelRange",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"km",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"ebikeBatteryLevel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"ebikeAssistMode",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"depends on sensor",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"ebikeAssistLevelPercent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"airTimeRemaining",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"pressureSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},125:{num:125,name:"volumeSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},126:{num:126,name:"rmv",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},127:{num:127,name:"ascentRate",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},129:{num:129,name:"po2",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},139:{num:139,name:"coreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},21:{num:21,name:"event",messagesKey:"eventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"data16",type:"uint16",baseType:"uint16",array:!1,scale:[1],offset:[0],units:[""],bits:[16],components:["3"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"data",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"timerTrigger",type:"timerTrigger",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:0}]},{name:"coursePointIndex",type:"messageIndex",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:10}]},{name:"batteryLevel",type:"uint16",baseType:"uint16",scale:1e3,offset:0,units:"V",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:11}]},{name:"virtualPartnerSpeed",type:"uint16",baseType:"uint16",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:12}]},{name:"hrHighAlert",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"bpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:13}]},{name:"hrLowAlert",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"bpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:14}]},{name:"speedHighAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:15}]},{name:"speedLowAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:16}]},{name:"cadHighAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:17}]},{name:"cadLowAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:18}]},{name:"powerHighAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"watts",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:19}]},{name:"powerLowAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"watts",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:20}]},{name:"timeDurationAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:23}]},{name:"distanceDurationAlert",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:24}]},{name:"calorieDurationAlert",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:25}]},{name:"fitnessEquipmentState",type:"fitnessEquipmentState",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:27}]},{name:"sportPoint",type:"uint32",baseType:"uint32",scale:[1,1],offset:[0,0],units:["",""],bits:[16,16],components:["7","8"],hasComponents:!0,map:[{name:"event",value:33}]},{name:"gearChangeData",type:"uint32",baseType:"uint32",scale:[1,1,1,1],offset:[0,0,0,0],units:["","","",""],bits:[8,8,8,8],components:["11","12","9","10"],hasComponents:!0,map:[{name:"event",value:42},{name:"event",value:43}]},{name:"riderPosition",type:"riderPositionType",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:44}]},{name:"commTimeout",type:"commTimeoutType",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:47}]},{name:"diveAlert",type:"diveAlert",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:56}]},{name:"autoActivityDetectDuration",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"min",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:54}]},{name:"radarThreatAlert",type:"uint32",baseType:"uint32",scale:[1,1,10,10],offset:[0,0,0,0],units:["","","",""],bits:[8,8,8,8],components:["21","22","23","24"],hasComponents:!0,map:[{name:"event",value:75}]}]},4:{num:4,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"score",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"frontGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"frontGear",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"rearGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"rearGear",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"autoActivityDetectStartTimestamp",type:"dateTime",baseType:"uint32",scale:1,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:54}]}]},21:{num:21,name:"radarThreatLevelMax",type:"radarThreatLevelType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"radarThreatCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"radarThreatAvgApproachSpeed",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"radarThreatMaxApproachSpeed",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},23:{num:23,name:"deviceInfo",messagesKey:"deviceInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"deviceType",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"bleDeviceType",type:"bleDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:3}]},{name:"antplusDeviceType",type:"antplusDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:1}]},{name:"antDeviceType",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:0}]},{name:"localDeviceType",type:"localDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:5}]}]},2:{num:2,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},5:{num:5,name:"softwareVersion",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"hardwareVersion",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"cumOperatingTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"batteryVoltage",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"V",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"batteryStatus",type:"batteryStatus",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"sensorPosition",type:"bodyLocation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"descriptor",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"antTransmissionType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"antDeviceNumber",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"antNetwork",type:"antNetwork",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"sourceType",type:"sourceType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"productName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"batteryLevel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},375:{num:375,name:"deviceAuxBatteryInfo",messagesKey:"deviceAuxBatteryInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"batteryVoltage",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"V",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"batteryStatus",type:"batteryStatus",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"batteryIdentifier",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},72:{num:72,name:"trainingFile",messagesKey:"trainingFileMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},128:{num:128,name:"weatherConditions",messagesKey:"weatherConditionsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weatherReport",type:"weatherReport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"temperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"condition",type:"weatherStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"windDirection",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"windSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"precipitationProbability",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"temperatureFeelsLike",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"relativeHumidity",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"location",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"observedAtTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"observedLocationLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"observedLocationLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"dayOfWeek",type:"dayOfWeek",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"highTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"lowTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},129:{num:129,name:"weatherAlert",messagesKey:"weatherAlertMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"reportId",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"issueTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"expireTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"severity",type:"weatherSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"type",type:"weatherSevereType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},160:{num:160,name:"gpsMetadata",messagesKey:"gpsMetadataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"heading",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"utcTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"velocity",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},161:{num:161,name:"cameraEvent",messagesKey:"cameraEventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"cameraEventType",type:"cameraEventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"cameraFileUuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cameraOrientation",type:"cameraOrientationType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},164:{num:164,name:"gyroscopeData",messagesKey:"gyroscopeDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gyroX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gyroY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gyroZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedGyroX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedGyroY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedGyroZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},165:{num:165,name:"accelerometerData",messagesKey:"accelerometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"accelX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"accelY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedAccelX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedAccelY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedAccelZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"compressedCalibratedAccelX",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"compressedCalibratedAccelY",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"compressedCalibratedAccelZ",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},208:{num:208,name:"magnetometerData",messagesKey:"magnetometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"magX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"magY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"magZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedMagX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedMagY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedMagZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},209:{num:209,name:"barometerData",messagesKey:"barometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"baroPres",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"Pa",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},167:{num:167,name:"threeDSensorCalibration",messagesKey:"threeDSensorCalibrationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensorType",type:"sensorType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calibrationFactor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"accelCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"g",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:0}]},{name:"gyroCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"deg/s",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:1}]}]},2:{num:2,name:"calibrationDivisor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"levelShift",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"offsetCal",type:"sint32",baseType:"sint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"orientationMatrix",type:"sint32",baseType:"sint32",array:!0,scale:65535,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},210:{num:210,name:"oneDSensorCalibration",messagesKey:"oneDSensorCalibrationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensorType",type:"sensorType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calibrationFactor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"baroCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"Pa",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:3}]}]},2:{num:2,name:"calibrationDivisor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"levelShift",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"offsetCal",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},169:{num:169,name:"videoFrame",messagesKey:"videoFrameMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"frameNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},174:{num:174,name:"obdiiData",messagesKey:"obdiiDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"timeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"pid",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"rawData",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"pidDataSize",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"systemTime",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"startTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},177:{num:177,name:"nmeaSentence",messagesKey:"nmeaSentenceMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sentence",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},178:{num:178,name:"aviationAttitude",messagesKey:"aviationAttitudeMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"systemTime",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"pitch",type:"sint16",baseType:"sint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"roll",type:"sint16",baseType:"sint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelLateral",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"accelNormal",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"turnRate",type:"sint16",baseType:"sint16",array:!0,scale:1024,offset:0,units:"radians/second",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"stage",type:"attitudeStage",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"attitudeStageComplete",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"track",type:"uint16",baseType:"uint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"validity",type:"attitudeValidity",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},184:{num:184,name:"video",messagesKey:"videoMesgs",fields:{0:{num:0,name:"url",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hostingProvider",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},185:{num:185,name:"videoTitle",messagesKey:"videoTitleMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"messageCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"text",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},186:{num:186,name:"videoDescription",messagesKey:"videoDescriptionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"messageCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"text",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},187:{num:187,name:"videoClip",messagesKey:"videoClipMesgs",fields:{0:{num:0,name:"clipNumber",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"endTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"clipStart",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"clipEnd",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},225:{num:225,name:"set",messagesKey:"setMesgs",fields:{254:{num:254,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"repetitions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:16,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"setType",type:"setType",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"category",type:"exerciseCategory",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"categorySubtype",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"weightDisplayUnit",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},285:{num:285,name:"jump",messagesKey:"jumpMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"distance",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"height",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"rotations",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"hangTime",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"score",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"speed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["8"],isAccumulated:!1,hasComponents:!0,subFields:[]},8:{num:8,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},312:{num:312,name:"split",messagesKey:"splitMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"splitType",type:"splitType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"avgVertSpeed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"endTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"totalCalories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"startElevation",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},313:{num:313,name:"splitSummary",messagesKey:"splitSummaryMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"splitType",type:"splitType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"numSplits",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"avgVertSpeed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalCalories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},317:{num:317,name:"climbPro",messagesKey:"climbProMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"climbProEvent",type:"climbProEvent",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"climbNumber",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"climbCategory",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"currentDist",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},206:{num:206,name:"fieldDescription",messagesKey:"fieldDescriptionMesgs",fields:{0:{num:0,name:"developerDataIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fieldDefinitionNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fitBaseTypeId",type:"fitBaseType",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fieldName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"array",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"components",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scale",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"offset",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"units",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"bits",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"accumulate",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"fitBaseUnitId",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"nativeMesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"nativeFieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},207:{num:207,name:"developerDataId",messagesKey:"developerDataIdMesgs",fields:{0:{num:0,name:"developerId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"applicationId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"manufacturerId",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"developerDataIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"applicationVersion",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},31:{num:31,name:"course",messagesKey:"courseMesgs",fields:{4:{num:4,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"capabilities",type:"courseCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},32:{num:32,name:"coursePoint",messagesKey:"coursePointMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"type",type:"coursePoint",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"favorite",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},148:{num:148,name:"segmentId",messagesKey:"segmentIdMesgs",fields:{0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"uuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"userProfilePrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"deviceId",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"defaultRaceLeader",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"deleteStatus",type:"segmentDeleteStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"selectionType",type:"segmentSelectionType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},149:{num:149,name:"segmentLeaderboardEntry",messagesKey:"segmentLeaderboardEntryMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"type",type:"segmentLeaderboardType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"groupPrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"activityId",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"segmentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"activityIdString",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},150:{num:150,name:"segmentPoint",messagesKey:"segmentPointMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"altitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["6"],isAccumulated:!1,hasComponents:!0,subFields:[]},5:{num:5,name:"leaderTime",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},142:{num:142,name:"segmentLap",messagesKey:"segmentLapMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"necLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"necLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"swcLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"swcLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["91"],isAccumulated:!1,hasComponents:!0,subFields:[]},35:{num:35,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["92"],isAccumulated:!1,hasComponents:!0,subFields:[]},36:{num:36,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"repetitionNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["93"],isAccumulated:!1,hasComponents:!0,subFields:[]},55:{num:55,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"sportEvent",type:"sportEvent",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},63:{num:63,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},64:{num:64,name:"status",type:"segmentLapStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"uuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},66:{num:66,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"frontGearShiftCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"rearGearShiftCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},72:{num:72,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},73:{num:73,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},75:{num:75,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},76:{num:76,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},79:{num:79,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},151:{num:151,name:"segmentFile",messagesKey:"segmentFileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fileUuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"userProfilePrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"leaderType",type:"segmentLeaderboardType",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"leaderGroupPrimaryKey",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"leaderActivityId",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"leaderActivityIdString",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"defaultRaceLeader",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},26:{num:26,name:"workout",messagesKey:"workoutMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"capabilities",type:"workoutCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"numValidSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"wktName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"wktDescription",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},158:{num:158,name:"workoutSession",messagesKey:"workoutSessionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"numValidSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"firstStepIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},27:{num:27,name:"workoutStep",messagesKey:"workoutStepMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"wktStepName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"durationType",type:"wktStepDuration",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"durationValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"durationTime",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:0},{name:"durationType",value:28}]},{name:"durationDistance",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:1}]},{name:"durationHr",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:2},{name:"durationType",value:3}]},{name:"durationCalories",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:4}]},{name:"durationStep",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:6},{name:"durationType",value:7},{name:"durationType",value:8},{name:"durationType",value:9},{name:"durationType",value:10},{name:"durationType",value:11},{name:"durationType",value:12},{name:"durationType",value:13}]},{name:"durationPower",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:14},{name:"durationType",value:15}]},{name:"durationReps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:29}]}]},3:{num:3,name:"targetType",type:"wktStepTarget",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"targetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"targetSpeedZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"targetHrZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"targetCadenceZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"targetPowerZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]},{name:"repeatSteps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:6}]},{name:"repeatTime",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:7}]},{name:"repeatDistance",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:8}]},{name:"repeatCalories",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:9}]},{name:"repeatHr",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:10},{name:"durationType",value:11}]},{name:"repeatPower",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:12},{name:"durationType",value:13}]},{name:"targetStrokeType",type:"swimStroke",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:11}]}]},5:{num:5,name:"customTargetValueLow",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"customTargetSpeedLow",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"customTargetHeartRateLow",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"customTargetCadenceLow",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"customTargetPowerLow",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]}]},6:{num:6,name:"customTargetValueHigh",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"customTargetSpeedHigh",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"customTargetHeartRateHigh",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"customTargetCadenceHigh",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"customTargetPowerHigh",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]}]},7:{num:7,name:"intensity",type:"intensity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"notes",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"equipment",type:"workoutEquipment",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"exerciseCategory",type:"exerciseCategory",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"exerciseName",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"exerciseWeight",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"weightDisplayUnit",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"secondaryTargetType",type:"wktStepTarget",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"secondaryTargetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryTargetSpeedZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryTargetHrZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryTargetCadenceZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryTargetPowerZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]},{name:"secondaryTargetStrokeType",type:"swimStroke",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:11}]}]},21:{num:21,name:"secondaryCustomTargetValueLow",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryCustomTargetSpeedLow",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryCustomTargetHeartRateLow",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryCustomTargetCadenceLow",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryCustomTargetPowerLow",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]}]},22:{num:22,name:"secondaryCustomTargetValueHigh",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryCustomTargetSpeedHigh",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryCustomTargetHeartRateHigh",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryCustomTargetCadenceHigh",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryCustomTargetPowerHigh",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]}]}}},264:{num:264,name:"exerciseTitle",messagesKey:"exerciseTitleMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"exerciseCategory",type:"exerciseCategory",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"exerciseName",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"wktStepName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},28:{num:28,name:"schedule",messagesKey:"scheduleMesgs",fields:{0:{num:0,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},2:{num:2,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"completed",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"type",type:"schedule",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scheduledTime",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},33:{num:33,name:"totals",messagesKey:"totalsMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timerTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"calories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"elapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sessions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"sportIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},30:{num:30,name:"weightScale",messagesKey:"weightScaleMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weight",type:"weight",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"percentFat",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"percentHydration",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"visceralFatMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"boneMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"muscleMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"basalMet",type:"uint16",baseType:"uint16",array:!1,scale:4,offset:0,units:"kcal/day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"physiqueRating",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"activeMet",type:"uint16",baseType:"uint16",array:!1,scale:4,offset:0,units:"kcal/day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"metabolicAge",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"years",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"visceralFatRating",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"userProfileIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"bmi",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg/m^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},51:{num:51,name:"bloodPressure",messagesKey:"bloodPressureMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"systolicPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"diastolicPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"meanArterialPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"map3SampleMean",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"mapMorningValues",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"mapEveningValues",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"heartRateType",type:"hrType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"status",type:"bpStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"userProfileIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},103:{num:103,name:"monitoringInfo",messagesKey:"monitoringInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"activityType",type:"activityType",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cyclesToDistance",type:"uint16",baseType:"uint16",array:!0,scale:5e3,offset:0,units:"m/cycle",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"cyclesToCalories",type:"uint16",baseType:"uint16",array:!0,scale:5e3,offset:0,units:"kcal/cycle",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"restingMetabolicRate",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal / day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},55:{num:55,name:"monitoring",messagesKey:"monitoringMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cycles",type:"uint32",baseType:"uint32",array:!1,scale:2,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"steps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"steps",bits:[],components:[],hasComponents:!1,map:[{name:"activityType",value:6},{name:"activityType",value:1}]},{name:"strokes",type:"uint32",baseType:"uint32",scale:2,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"activityType",value:2},{name:"activityType",value:5}]}]},4:{num:4,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"activitySubtype",type:"activitySubtype",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"activityLevel",type:"activityLevel",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"distance16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"100 * m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"cycles16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"2 * cycles (steps)",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"activeTime16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"temperature",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"temperatureMin",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"temperatureMax",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"activityTime",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"activeCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"currentActivityTypeIntensity",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[5,3],components:["5","28"],isAccumulated:!1,hasComponents:!0,subFields:[]},25:{num:25,name:"timestampMin8",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"timestamp16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"intensity",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"durationMin",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"ascent",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"descent",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"moderateActivityMinutes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"vigorousActivityMinutes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},211:{num:211,name:"monitoringHrData",messagesKey:"monitoringHrDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"currentDayRestingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},269:{num:269,name:"spo2Data",messagesKey:"spo2DataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"readingSpo2",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"readingConfidence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mode",type:"spo2MeasurementType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},132:{num:132,name:"hr",messagesKey:"hrMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time256",type:"uint8",baseType:"uint8",array:!1,scale:[256],offset:[0],units:["s"],bits:[8],components:["0"],isAccumulated:!1,hasComponents:!0,subFields:[]},6:{num:6,name:"filteredBpm",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"eventTimestamp",type:"uint32",baseType:"uint32",array:!0,scale:1024,offset:0,units:"s",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},10:{num:10,name:"eventTimestamp12",type:"byte",baseType:"byte",array:!0,scale:[1024,1024,1024,1024,1024,1024,1024,1024,1024,1024],offset:[0,0,0,0,0,0,0,0,0,0],units:["s","","","","","","","","",""],bits:[12,12,12,12,12,12,12,12,12,12],components:["9","9","9","9","9","9","9","9","9","9"],isAccumulated:!1,hasComponents:!0,subFields:[]}}},227:{num:227,name:"stressLevel",messagesKey:"stressLevelMesgs",fields:{0:{num:0,name:"stressLevelValue",type:"sint16",baseType:"sint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"stressLevelTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},229:{num:229,name:"maxMetData",messagesKey:"maxMetDataMesgs",fields:{0:{num:0,name:"updateTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"vo2Max",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mL/kg/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"maxMetCategory",type:"maxMetCategory",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"calibratedData",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"hrSource",type:"maxMetHeartRateSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"speedSource",type:"maxMetSpeedSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},314:{num:314,name:"hsaBodyBatteryData",messagesKey:"hsaBodyBatteryDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"level",type:"sint8",baseType:"sint8",array:!0,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"charged",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"uncharged",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},315:{num:315,name:"hsaEvent",messagesKey:"hsaEventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"eventId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},302:{num:302,name:"hsaAccelerometerData",messagesKey:"hsaAccelerometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"samplingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"accelX",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"accelY",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelZ",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timestamp32k",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},376:{num:376,name:"hsaGyroscopeData",messagesKey:"hsaGyroscopeDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"samplingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"1/32768 s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gyroX",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gyroY",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gyroZ",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timestamp32k",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"1/32768 s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},304:{num:304,name:"hsaStepData",messagesKey:"hsaStepDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"steps",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"steps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},305:{num:305,name:"hsaSpo2Data",messagesKey:"hsaSpo2DataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"readingSpo2",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"confidence",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},306:{num:306,name:"hsaStressData",messagesKey:"hsaStressDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"stressLevel",type:"sint8",baseType:"sint8",array:!0,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},307:{num:307,name:"hsaRespirationData",messagesKey:"hsaRespirationDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"respirationRate",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},308:{num:308,name:"hsaHeartRateData",messagesKey:"hsaHeartRateDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"status",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"heartRate",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},389:{num:389,name:"hsaConfigurationData",messagesKey:"hsaConfigurationDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"dataSize",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},409:{num:409,name:"hsaWristTemperatureData",messagesKey:"hsaWristTemperatureDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"value",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"degC",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},145:{num:145,name:"memoGlob",messagesKey:"memoGlobMesgs",fields:{250:{num:250,name:"partIndex",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"memo",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"parentIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},275:{num:275,name:"sleepLevel",messagesKey:"sleepLevelMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sleepLevel",type:"sleepLevel",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},82:{num:82,name:"antChannelId",messagesKey:"antChannelIdMesgs",fields:{0:{num:0,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"deviceType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"deviceNumber",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"transmissionType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},80:{num:80,name:"antRx",messagesKey:"antRxMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgId",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mesgData",type:"byte",baseType:"byte",array:!0,scale:[1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0],units:["","","","","","","","",""],bits:[8,8,8,8,8,8,8,8,8],components:["3","4","4","4","4","4","4","4","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},81:{num:81,name:"antTx",messagesKey:"antTxMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgId",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mesgData",type:"byte",baseType:"byte",array:!0,scale:[1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0],units:["","","","","","","","",""],bits:[8,8,8,8,8,8,8,8,8],components:["3","4","4","4","4","4","4","4","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},200:{num:200,name:"exdScreenConfiguration",messagesKey:"exdScreenConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fieldCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"layout",type:"exdLayout",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"screenEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},201:{num:201,name:"exdDataFieldConfiguration",messagesKey:"exdDataFieldConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"conceptField",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[4,4],components:["2","3"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"fieldId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"conceptCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"displayType",type:"exdDisplayType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"title",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},202:{num:202,name:"exdDataConceptConfiguration",messagesKey:"exdDataConceptConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"conceptField",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[4,4],components:["2","3"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"fieldId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"conceptIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"dataPage",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"conceptKey",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scaling",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"dataUnits",type:"exdDataUnits",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"qualifier",type:"exdQualifiers",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"descriptor",type:"exdDescriptors",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"isSigned",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},268:{num:268,name:"diveSummary",messagesKey:"diveSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"referenceMesg",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"referenceIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"surfaceInterval",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"startCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"startN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"endN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"o2Toxicity",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"OTUs",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"diveNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"bottomTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"avgPressureSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgVolumeSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"avgRmv",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"descentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"ascentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgAscentRate",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"avgDescentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"maxAscentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"maxDescentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"hangTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},289:{num:289,name:"aadAccelFeatures",messagesKey:"aadAccelFeaturesMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"time",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"energyTotal",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"zeroCrossCnt",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"instance",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeAboveThreshold",type:"uint16",baseType:"uint16",array:!1,scale:25,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},78:{num:78,name:"hrv",messagesKey:"hrvMesgs",fields:{0:{num:0,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},290:{num:290,name:"beatIntervals",messagesKey:"beatIntervalsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},370:{num:370,name:"hrvStatusSummary",messagesKey:"hrvStatusSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weeklyAverage",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"lastNightAverage",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"lastNight5MinHigh",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"baselineLowUpper",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"baselineBalancedLower",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"baselineBalancedUpper",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"status",type:"hrvStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},371:{num:371,name:"hrvValue",messagesKey:"hrvValueMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"value",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},372:{num:372,name:"rawBbi",messagesKey:"rawBbiMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"data",type:"uint16",baseType:"uint16",array:!0,scale:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],units:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],bits:[14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1],components:["2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"quality",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gap",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},297:{num:297,name:"respirationRate",messagesKey:"respirationRateMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"respirationRate",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},387:{num:387,name:"chronoShotSession",messagesKey:"chronoShotSessionMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"minSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"shotCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"projectileType",type:"projectileType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"grainWeight",type:"uint32",baseType:"uint32",array:!1,scale:10,offset:0,units:"gr",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"standardDeviation",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},388:{num:388,name:"chronoShotData",messagesKey:"chronoShotDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"shotSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"shotNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},319:{num:319,name:"tankUpdate",messagesKey:"tankUpdateMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensor",type:"antChannelId",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"pressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},323:{num:323,name:"tankSummary",messagesKey:"tankSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensor",type:"antChannelId",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startPressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"endPressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"volumeUsed",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"L",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},346:{num:346,name:"sleepAssessment",messagesKey:"sleepAssessmentMesgs",fields:{0:{num:0,name:"combinedAwakeScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"awakeTimeScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"awakeningsCountScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"deepSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sleepDurationScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"lightSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"overallSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"sleepQualityScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"sleepRecoveryScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"remSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"sleepRestlessnessScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"awakeningsCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"interruptionsScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"averageStressDuringSleep",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},470:{num:470,name:"sleepDisruptionSeverityPeriod",messagesKey:"sleepDisruptionSeverityPeriodMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"severity",type:"sleepDisruptionSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},471:{num:471,name:"sleepDisruptionOvernightSeverity",messagesKey:"sleepDisruptionOvernightSeverityMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"severity",type:"sleepDisruptionSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},398:{num:398,name:"skinTempOvernight",messagesKey:"skinTempOvernightMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"averageDeviation",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"average7DayDeviation",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"nightlyValue",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},105:{num:105,name:"pad",messagesKey:"padMesgs",fields:{}}},types:{file:{1:"device",2:"settings",3:"sport",4:"activity",5:"workout",6:"course",7:"schedules",9:"weight",10:"totals",11:"goals",14:"bloodPressure",15:"monitoringA",20:"activitySummary",28:"monitoringDaily",32:"monitoringB",34:"segment",35:"segmentList",40:"exdConfiguration",247:"mfgRangeMin",254:"mfgRangeMax"},mesgNum:{0:"fileId",1:"capabilities",2:"deviceSettings",3:"userProfile",4:"hrmProfile",5:"sdmProfile",6:"bikeProfile",7:"zonesTarget",8:"hrZone",9:"powerZone",10:"metZone",12:"sport",13:"trainingSettings",15:"goal",18:"session",19:"lap",20:"record",21:"event",23:"deviceInfo",26:"workout",27:"workoutStep",28:"schedule",30:"weightScale",31:"course",32:"coursePoint",33:"totals",34:"activity",35:"software",37:"fileCapabilities",38:"mesgCapabilities",39:"fieldCapabilities",49:"fileCreator",51:"bloodPressure",53:"speedZone",55:"monitoring",72:"trainingFile",78:"hrv",80:"antRx",81:"antTx",82:"antChannelId",101:"length",103:"monitoringInfo",105:"pad",106:"slaveDevice",127:"connectivity",128:"weatherConditions",129:"weatherAlert",131:"cadenceZone",132:"hr",142:"segmentLap",145:"memoGlob",148:"segmentId",149:"segmentLeaderboardEntry",150:"segmentPoint",151:"segmentFile",158:"workoutSession",159:"watchfaceSettings",160:"gpsMetadata",161:"cameraEvent",162:"timestampCorrelation",164:"gyroscopeData",165:"accelerometerData",167:"threeDSensorCalibration",169:"videoFrame",174:"obdiiData",177:"nmeaSentence",178:"aviationAttitude",184:"video",185:"videoTitle",186:"videoDescription",187:"videoClip",188:"ohrSettings",200:"exdScreenConfiguration",201:"exdDataFieldConfiguration",202:"exdDataConceptConfiguration",206:"fieldDescription",207:"developerDataId",208:"magnetometerData",209:"barometerData",210:"oneDSensorCalibration",211:"monitoringHrData",216:"timeInZone",225:"set",227:"stressLevel",229:"maxMetData",258:"diveSettings",259:"diveGas",262:"diveAlarm",264:"exerciseTitle",268:"diveSummary",269:"spo2Data",275:"sleepLevel",285:"jump",289:"aadAccelFeatures",290:"beatIntervals",297:"respirationRate",302:"hsaAccelerometerData",304:"hsaStepData",305:"hsaSpo2Data",306:"hsaStressData",307:"hsaRespirationData",308:"hsaHeartRateData",312:"split",313:"splitSummary",314:"hsaBodyBatteryData",315:"hsaEvent",317:"climbPro",319:"tankUpdate",323:"tankSummary",346:"sleepAssessment",370:"hrvStatusSummary",371:"hrvValue",372:"rawBbi",375:"deviceAuxBatteryInfo",376:"hsaGyroscopeData",387:"chronoShotSession",388:"chronoShotData",389:"hsaConfigurationData",393:"diveApneaAlarm",398:"skinTempOvernight",409:"hsaWristTemperatureData",470:"sleepDisruptionSeverityPeriod",471:"sleepDisruptionOvernightSeverity",65280:"mfgRangeMin",65534:"mfgRangeMax"},checksum:{0:"clear",1:"ok"},fileFlags:{2:"read",4:"write",8:"erase"},mesgCount:{0:"numPerFile",1:"maxPerFile",2:"maxPerFileType"},dateTime:{268435456:"min"},localDateTime:{268435456:"min"},messageIndex:{32768:"selected",28672:"reserved",4095:"mask"},deviceIndex:{0:"creator"},gender:{0:"female",1:"male"},language:{0:"english",1:"french",2:"italian",3:"german",4:"spanish",5:"croatian",6:"czech",7:"danish",8:"dutch",9:"finnish",10:"greek",11:"hungarian",12:"norwegian",13:"polish",14:"portuguese",15:"slovakian",16:"slovenian",17:"swedish",18:"russian",19:"turkish",20:"latvian",21:"ukrainian",22:"arabic",23:"farsi",24:"bulgarian",25:"romanian",26:"chinese",27:"japanese",28:"korean",29:"taiwanese",30:"thai",31:"hebrew",32:"brazilianPortuguese",33:"indonesian",34:"malaysian",35:"vietnamese",36:"burmese",37:"mongolian",254:"custom"},languageBits0:{1:"english",2:"french",4:"italian",8:"german",16:"spanish",32:"croatian",64:"czech",128:"danish"},languageBits1:{1:"dutch",2:"finnish",4:"greek",8:"hungarian",16:"norwegian",32:"polish",64:"portuguese",128:"slovakian"},languageBits2:{1:"slovenian",2:"swedish",4:"russian",8:"turkish",16:"latvian",32:"ukrainian",64:"arabic",128:"farsi"},languageBits3:{1:"bulgarian",2:"romanian",4:"chinese",8:"japanese",16:"korean",32:"taiwanese",64:"thai",128:"hebrew"},languageBits4:{1:"brazilianPortuguese",2:"indonesian",4:"malaysian",8:"vietnamese",16:"burmese",32:"mongolian"},timeZone:{0:"almaty",1:"bangkok",2:"bombay",3:"brasilia",4:"cairo",5:"capeVerdeIs",6:"darwin",7:"eniwetok",8:"fiji",9:"hongKong",10:"islamabad",11:"kabul",12:"magadan",13:"midAtlantic",14:"moscow",15:"muscat",16:"newfoundland",17:"samoa",18:"sydney",19:"tehran",20:"tokyo",21:"usAlaska",22:"usAtlantic",23:"usCentral",24:"usEastern",25:"usHawaii",26:"usMountain",27:"usPacific",28:"other",29:"auckland",30:"kathmandu",31:"europeWesternWet",32:"europeCentralCet",33:"europeEasternEet",34:"jakarta",35:"perth",36:"adelaide",37:"brisbane",38:"tasmania",39:"iceland",40:"amsterdam",41:"athens",42:"barcelona",43:"berlin",44:"brussels",45:"budapest",46:"copenhagen",47:"dublin",48:"helsinki",49:"lisbon",50:"london",51:"madrid",52:"munich",53:"oslo",54:"paris",55:"prague",56:"reykjavik",57:"rome",58:"stockholm",59:"vienna",60:"warsaw",61:"zurich",62:"quebec",63:"ontario",64:"manitoba",65:"saskatchewan",66:"alberta",67:"britishColumbia",68:"boise",69:"boston",70:"chicago",71:"dallas",72:"denver",73:"kansasCity",74:"lasVegas",75:"losAngeles",76:"miami",77:"minneapolis",78:"newYork",79:"newOrleans",80:"phoenix",81:"santaFe",82:"seattle",83:"washingtonDc",84:"usArizona",85:"chita",86:"ekaterinburg",87:"irkutsk",88:"kaliningrad",89:"krasnoyarsk",90:"novosibirsk",91:"petropavlovskKamchatskiy",92:"samara",93:"vladivostok",94:"mexicoCentral",95:"mexicoMountain",96:"mexicoPacific",97:"capeTown",98:"winkhoek",99:"lagos",100:"riyahd",101:"venezuela",102:"australiaLh",103:"santiago",253:"manual",254:"automatic"},displayMeasure:{0:"metric",1:"statute",2:"nautical"},displayHeart:{0:"bpm",1:"max",2:"reserve"},displayPower:{0:"watts",1:"percentFtp"},displayPosition:{0:"degree",1:"degreeMinute",2:"degreeMinuteSecond",3:"austrianGrid",4:"britishGrid",5:"dutchGrid",6:"hungarianGrid",7:"finnishGrid",8:"germanGrid",9:"icelandicGrid",10:"indonesianEquatorial",11:"indonesianIrian",12:"indonesianSouthern",13:"indiaZone0",14:"indiaZoneIA",15:"indiaZoneIB",16:"indiaZoneIIA",17:"indiaZoneIIB",18:"indiaZoneIIIA",19:"indiaZoneIIIB",20:"indiaZoneIVA",21:"indiaZoneIVB",22:"irishTransverse",23:"irishGrid",24:"loran",25:"maidenheadGrid",26:"mgrsGrid",27:"newZealandGrid",28:"newZealandTransverse",29:"qatarGrid",30:"modifiedSwedishGrid",31:"swedishGrid",32:"southAfricanGrid",33:"swissGrid",34:"taiwanGrid",35:"unitedStatesGrid",36:"utmUpsGrid",37:"westMalayan",38:"borneoRso",39:"estonianGrid",40:"latvianGrid",41:"swedishRef99Grid"},switch:{0:"off",1:"on",2:"auto"},sport:{0:"generic",1:"running",2:"cycling",3:"transition",4:"fitnessEquipment",5:"swimming",6:"basketball",7:"soccer",8:"tennis",9:"americanFootball",10:"training",11:"walking",12:"crossCountrySkiing",13:"alpineSkiing",14:"snowboarding",15:"rowing",16:"mountaineering",17:"hiking",18:"multisport",19:"paddling",20:"flying",21:"eBiking",22:"motorcycling",23:"boating",24:"driving",25:"golf",26:"hangGliding",27:"horsebackRiding",28:"hunting",29:"fishing",30:"inlineSkating",31:"rockClimbing",32:"sailing",33:"iceSkating",34:"skyDiving",35:"snowshoeing",36:"snowmobiling",37:"standUpPaddleboarding",38:"surfing",39:"wakeboarding",40:"waterSkiing",41:"kayaking",42:"rafting",43:"windsurfing",44:"kitesurfing",45:"tactical",46:"jumpmaster",47:"boxing",48:"floorClimbing",49:"baseball",53:"diving",62:"hiit",64:"racket",65:"wheelchairPushWalk",66:"wheelchairPushRun",67:"meditation",69:"discGolf",71:"cricket",72:"rugby",73:"hockey",74:"lacrosse",75:"volleyball",76:"waterTubing",77:"wakesurfing",80:"mixedMartialArts",82:"snorkeling",83:"dance",84:"jumpRope",254:"all"},sportBits0:{1:"generic",2:"running",4:"cycling",8:"transition",16:"fitnessEquipment",32:"swimming",64:"basketball",128:"soccer"},sportBits1:{1:"tennis",2:"americanFootball",4:"training",8:"walking",16:"crossCountrySkiing",32:"alpineSkiing",64:"snowboarding",128:"rowing"},sportBits2:{1:"mountaineering",2:"hiking",4:"multisport",8:"paddling",16:"flying",32:"eBiking",64:"motorcycling",128:"boating"},sportBits3:{1:"driving",2:"golf",4:"hangGliding",8:"horsebackRiding",16:"hunting",32:"fishing",64:"inlineSkating",128:"rockClimbing"},sportBits4:{1:"sailing",2:"iceSkating",4:"skyDiving",8:"snowshoeing",16:"snowmobiling",32:"standUpPaddleboarding",64:"surfing",128:"wakeboarding"},sportBits5:{1:"waterSkiing",2:"kayaking",4:"rafting",8:"windsurfing",16:"kitesurfing",32:"tactical",64:"jumpmaster",128:"boxing"},sportBits6:{1:"floorClimbing"},subSport:{0:"generic",1:"treadmill",2:"street",3:"trail",4:"track",5:"spin",6:"indoorCycling",7:"road",8:"mountain",9:"downhill",10:"recumbent",11:"cyclocross",12:"handCycling",13:"trackCycling",14:"indoorRowing",15:"elliptical",16:"stairClimbing",17:"lapSwimming",18:"openWater",19:"flexibilityTraining",20:"strengthTraining",21:"warmUp",22:"match",23:"exercise",24:"challenge",25:"indoorSkiing",26:"cardioTraining",27:"indoorWalking",28:"eBikeFitness",29:"bmx",30:"casualWalking",31:"speedWalking",32:"bikeToRunTransition",33:"runToBikeTransition",34:"swimToBikeTransition",35:"atv",36:"motocross",37:"backcountry",38:"resort",39:"rcDrone",40:"wingsuit",41:"whitewater",42:"skateSkiing",43:"yoga",44:"pilates",45:"indoorRunning",46:"gravelCycling",47:"eBikeMountain",48:"commuting",49:"mixedSurface",50:"navigate",51:"trackMe",52:"map",53:"singleGasDiving",54:"multiGasDiving",55:"gaugeDiving",56:"apneaDiving",57:"apneaHunting",58:"virtualActivity",59:"obstacle",62:"breathing",65:"sailRace",67:"ultra",68:"indoorClimbing",69:"bouldering",70:"hiit",73:"amrap",74:"emom",75:"tabata",84:"pickleball",85:"padel",86:"indoorWheelchairWalk",87:"indoorWheelchairRun",88:"indoorHandCycling",94:"squash",95:"badminton",96:"racquetball",97:"tableTennis",110:"flyCanopy",111:"flyParaglide",112:"flyParamotor",113:"flyPressurized",114:"flyNavigate",115:"flyTimer",116:"flyAltimeter",117:"flyWx",118:"flyVfr",119:"flyIfr",254:"all"},sportEvent:{0:"uncategorized",1:"geocaching",2:"fitness",3:"recreation",4:"race",5:"specialEvent",6:"training",7:"transportation",8:"touring"},activity:{0:"manual",1:"autoMultiSport"},intensity:{0:"active",1:"rest",2:"warmup",3:"cooldown",4:"recovery",5:"interval",6:"other"},sessionTrigger:{0:"activityEnd",1:"manual",2:"autoMultiSport",3:"fitnessEquipment"},autolapTrigger:{0:"time",1:"distance",2:"positionStart",3:"positionLap",4:"positionWaypoint",5:"positionMarked",6:"off",13:"autoSelect"},lapTrigger:{0:"manual",1:"time",2:"distance",3:"positionStart",4:"positionLap",5:"positionWaypoint",6:"positionMarked",7:"sessionEnd",8:"fitnessEquipment"},timeMode:{0:"hour12",1:"hour24",2:"military",3:"hour12WithSeconds",4:"hour24WithSeconds",5:"utc"},backlightMode:{0:"off",1:"manual",2:"keyAndMessages",3:"autoBrightness",4:"smartNotifications",5:"keyAndMessagesNight",6:"keyAndMessagesAndSmartNotifications"},dateMode:{0:"dayMonth",1:"monthDay"},backlightTimeout:{0:"infinite"},event:{0:"timer",3:"workout",4:"workoutStep",5:"powerDown",6:"powerUp",7:"offCourse",8:"session",9:"lap",10:"coursePoint",11:"battery",12:"virtualPartnerPace",13:"hrHighAlert",14:"hrLowAlert",15:"speedHighAlert",16:"speedLowAlert",17:"cadHighAlert",18:"cadLowAlert",19:"powerHighAlert",20:"powerLowAlert",21:"recoveryHr",22:"batteryLow",23:"timeDurationAlert",24:"distanceDurationAlert",25:"calorieDurationAlert",26:"activity",27:"fitnessEquipment",28:"length",32:"userMarker",33:"sportPoint",36:"calibration",42:"frontGearChange",43:"rearGearChange",44:"riderPositionChange",45:"elevHighAlert",46:"elevLowAlert",47:"commTimeout",54:"autoActivityDetect",56:"diveAlert",57:"diveGasSwitched",71:"tankPressureReserve",72:"tankPressureCritical",73:"tankLost",75:"radarThreatAlert",76:"tankBatteryLow",81:"tankPodConnected",82:"tankPodDisconnected"},eventType:{0:"start",1:"stop",2:"consecutiveDepreciated",3:"marker",4:"stopAll",5:"beginDepreciated",6:"endDepreciated",7:"endAllDepreciated",8:"stopDisable",9:"stopDisableAll"},timerTrigger:{0:"manual",1:"auto",2:"fitnessEquipment"},fitnessEquipmentState:{0:"ready",1:"inUse",2:"paused",3:"unknown"},tone:{0:"off",1:"tone",2:"vibrate",3:"toneAndVibrate"},autoscroll:{0:"none",1:"slow",2:"medium",3:"fast"},activityClass:{127:"level",100:"levelMax",128:"athlete"},hrZoneCalc:{0:"custom",1:"percentMaxHr",2:"percentHrr",3:"percentLthr"},pwrZoneCalc:{0:"custom",1:"percentFtp"},wktStepDuration:{0:"time",1:"distance",2:"hrLessThan",3:"hrGreaterThan",4:"calories",5:"open",6:"repeatUntilStepsCmplt",7:"repeatUntilTime",8:"repeatUntilDistance",9:"repeatUntilCalories",10:"repeatUntilHrLessThan",11:"repeatUntilHrGreaterThan",12:"repeatUntilPowerLessThan",13:"repeatUntilPowerGreaterThan",14:"powerLessThan",15:"powerGreaterThan",16:"trainingPeaksTss",17:"repeatUntilPowerLastLapLessThan",18:"repeatUntilMaxPowerLastLapLessThan",19:"power3sLessThan",20:"power10sLessThan",21:"power30sLessThan",22:"power3sGreaterThan",23:"power10sGreaterThan",24:"power30sGreaterThan",25:"powerLapLessThan",26:"powerLapGreaterThan",27:"repeatUntilTrainingPeaksTss",28:"repetitionTime",29:"reps",31:"timeOnly"},wktStepTarget:{0:"speed",1:"heartRate",2:"open",3:"cadence",4:"power",5:"grade",6:"resistance",7:"power3s",8:"power10s",9:"power30s",10:"powerLap",11:"swimStroke",12:"speedLap",13:"heartRateLap"},goal:{0:"time",1:"distance",2:"calories",3:"frequency",4:"steps",5:"ascent",6:"activeMinutes"},goalRecurrence:{0:"off",1:"daily",2:"weekly",3:"monthly",4:"yearly",5:"custom"},goalSource:{0:"auto",1:"community",2:"user"},schedule:{0:"workout",1:"course"},coursePoint:{0:"generic",1:"summit",2:"valley",3:"water",4:"food",5:"danger",6:"left",7:"right",8:"straight",9:"firstAid",10:"fourthCategory",11:"thirdCategory",12:"secondCategory",13:"firstCategory",14:"horsCategory",15:"sprint",16:"leftFork",17:"rightFork",18:"middleFork",19:"slightLeft",20:"sharpLeft",21:"slightRight",22:"sharpRight",23:"uTurn",24:"segmentStart",25:"segmentEnd",27:"campsite",28:"aidStation",29:"restArea",30:"generalDistance",31:"service",32:"energyGel",33:"sportsDrink",34:"mileMarker",35:"checkpoint",36:"shelter",37:"meetingSpot",38:"overlook",39:"toilet",40:"shower",41:"gear",42:"sharpCurve",43:"steepIncline",44:"tunnel",45:"bridge",46:"obstacle",47:"crossing",48:"store",49:"transition",50:"navaid",51:"transport",52:"alert",53:"info"},manufacturer:{1:"garmin",2:"garminFr405Antfs",3:"zephyr",4:"dayton",5:"idt",6:"srm",7:"quarq",8:"ibike",9:"saris",10:"sparkHk",11:"tanita",12:"echowell",13:"dynastreamOem",14:"nautilus",15:"dynastream",16:"timex",17:"metrigear",18:"xelic",19:"beurer",20:"cardiosport",21:"aAndD",22:"hmm",23:"suunto",24:"thitaElektronik",25:"gpulse",26:"cleanMobile",27:"pedalBrain",28:"peaksware",29:"saxonar",30:"lemondFitness",31:"dexcom",32:"wahooFitness",33:"octaneFitness",34:"archinoetics",35:"theHurtBox",36:"citizenSystems",37:"magellan",38:"osynce",39:"holux",40:"concept2",41:"shimano",42:"oneGiantLeap",43:"aceSensor",44:"brimBrothers",45:"xplova",46:"perceptionDigital",47:"bf1systems",48:"pioneer",49:"spantec",50:"metalogics",51:"4iiiis",52:"seikoEpson",53:"seikoEpsonOem",54:"iforPowell",55:"maxwellGuider",56:"starTrac",57:"breakaway",58:"alatechTechnologyLtd",59:"mioTechnologyEurope",60:"rotor",61:"geonaute",62:"idBike",63:"specialized",64:"wtek",65:"physicalEnterprises",66:"northPoleEngineering",67:"bkool",68:"cateye",69:"stagesCycling",70:"sigmasport",71:"tomtom",72:"peripedal",73:"wattbike",76:"moxy",77:"ciclosport",78:"powerbahn",79:"acornProjectsAps",80:"lifebeam",81:"bontrager",82:"wellgo",83:"scosche",84:"magura",85:"woodway",86:"elite",87:"nielsenKellerman",88:"dkCity",89:"tacx",90:"directionTechnology",91:"magtonic",92:"1partcarbon",93:"insideRideTechnologies",94:"soundOfMotion",95:"stryd",96:"icg",97:"miPulse",98:"bsxAthletics",99:"look",100:"campagnoloSrl",101:"bodyBikeSmart",102:"praxisworks",103:"limitsTechnology",104:"topactionTechnology",105:"cosinuss",106:"fitcare",107:"magene",108:"giantManufacturingCo",109:"tigrasport",110:"salutron",111:"technogym",112:"brytonSensors",113:"latitudeLimited",114:"soaringTechnology",115:"igpsport",116:"thinkrider",117:"gopherSport",118:"waterrower",119:"orangetheory",120:"inpeak",121:"kinetic",122:"johnsonHealthTech",123:"polarElectro",124:"seesense",125:"nciTechnology",126:"iqsquare",127:"leomo",128:"ifitCom",129:"corosByte",130:"versaDesign",131:"chileaf",132:"cycplus",133:"gravaaByte",134:"sigeyi",135:"coospo",136:"geoid",137:"bosch",138:"kyto",139:"kineticSports",140:"decathlonByte",141:"tqSystems",142:"tagHeuer",143:"keiserFitness",144:"zwiftByte",145:"porscheEp",146:"blackbird",147:"meilanByte",148:"ezon",149:"laisi",150:"myzone",151:"abawo",152:"bafang",153:"luhongTechnology",255:"development",257:"healthandlife",258:"lezyne",259:"scribeLabs",260:"zwift",261:"watteam",262:"recon",263:"faveroElectronics",264:"dynovelo",265:"strava",266:"precor",267:"bryton",268:"sram",269:"navman",270:"cobi",271:"spivi",272:"mioMagellan",273:"evesports",274:"sensitivusGauge",275:"podoon",276:"lifeTimeFitness",277:"falcoEMotors",278:"minoura",279:"cycliq",280:"luxottica",281:"trainerRoad",282:"theSufferfest",283:"fullspeedahead",284:"virtualtraining",285:"feedbacksports",286:"omata",287:"vdo",288:"magneticdays",289:"hammerhead",290:"kineticByKurt",291:"shapelog",292:"dabuziduo",293:"jetblack",294:"coros",295:"virtugo",296:"velosense",297:"cycligentinc",298:"trailforks",299:"mahleEbikemotion",300:"nurvv",301:"microprogram",302:"zone5cloud",303:"greenteg",304:"yamahaMotors",305:"whoop",306:"gravaa",307:"onelap",308:"monarkExercise",309:"form",310:"decathlon",311:"syncros",312:"heatup",313:"cannondale",314:"trueFitness",315:"rGTCycling",316:"vasa",317:"raceRepublic",318:"fazua",319:"orekaTraining",320:"lsec",321:"lululemonStudio",322:"shanyue",323:"spinningMda",324:"hilldating",325:"aeroSensor",326:"nike",327:"magicshine",328:"ictrainer",329:"absoluteCycling",330:"eoSwimbetter",331:"mywhoosh",332:"ravemen",333:"tektroRacingProducts",334:"daradInnovationCorporation",335:"cycloptim",337:"runna",5759:"actigraphcorp"},garminProduct:{1:"hrm1",2:"axh01",3:"axb01",4:"axb02",5:"hrm2ss",6:"dsiAlf02",7:"hrm3ss",8:"hrmRunSingleByteProductId",9:"bsm",10:"bcm",11:"axs01",12:"hrmTriSingleByteProductId",13:"hrm4RunSingleByteProductId",14:"fr225SingleByteProductId",15:"gen3BsmSingleByteProductId",16:"gen3BcmSingleByteProductId",22:"hrmFitSingleByteProductId",255:"oHR",473:"fr301China",474:"fr301Japan",475:"fr301Korea",494:"fr301Taiwan",717:"fr405",782:"fr50",987:"fr405Japan",988:"fr60",1011:"dsiAlf01",1018:"fr310xt",1036:"edge500",1124:"fr110",1169:"edge800",1199:"edge500Taiwan",1213:"edge500Japan",1253:"chirp",1274:"fr110Japan",1325:"edge200",1328:"fr910xt",1333:"edge800Taiwan",1334:"edge800Japan",1341:"alf04",1345:"fr610",1360:"fr210Japan",1380:"vectorSs",1381:"vectorCp",1386:"edge800China",1387:"edge500China",1405:"approachG10",1410:"fr610Japan",1422:"edge500Korea",1436:"fr70",1446:"fr310xt4t",1461:"amx",1482:"fr10",1497:"edge800Korea",1499:"swim",1537:"fr910xtChina",1551:"fenix",1555:"edge200Taiwan",1561:"edge510",1567:"edge810",1570:"tempe",1600:"fr910xtJapan",1623:"fr620",1632:"fr220",1664:"fr910xtKorea",1688:"fr10Japan",1721:"edge810Japan",1735:"virbElite",1736:"edgeTouring",1742:"edge510Japan",1743:"hrmTri",1752:"hrmRun",1765:"fr920xt",1821:"edge510Asia",1822:"edge810China",1823:"edge810Taiwan",1836:"edge1000",1837:"vivoFit",1853:"virbRemote",1885:"vivoKi",1903:"fr15",1907:"vivoActive",1918:"edge510Korea",1928:"fr620Japan",1929:"fr620China",1930:"fr220Japan",1931:"fr220China",1936:"approachS6",1956:"vivoSmart",1967:"fenix2",1988:"epix",2050:"fenix3",2052:"edge1000Taiwan",2053:"edge1000Japan",2061:"fr15Japan",2067:"edge520",2070:"edge1000China",2072:"fr620Russia",2073:"fr220Russia",2079:"vectorS",2100:"edge1000Korea",2130:"fr920xtTaiwan",2131:"fr920xtChina",2132:"fr920xtJapan",2134:"virbx",2135:"vivoSmartApac",2140:"etrexTouch",2147:"edge25",2148:"fr25",2150:"vivoFit2",2153:"fr225",2156:"fr630",2157:"fr230",2158:"fr735xt",2160:"vivoActiveApac",2161:"vector2",2162:"vector2s",2172:"virbxe",2173:"fr620Taiwan",2174:"fr220Taiwan",2175:"truswing",2187:"d2airvenu",2188:"fenix3China",2189:"fenix3Twn",2192:"variaHeadlight",2193:"variaTaillightOld",2204:"edgeExplore1000",2219:"fr225Asia",2225:"variaRadarTaillight",2226:"variaRadarDisplay",2238:"edge20",2260:"edge520Asia",2261:"edge520Japan",2262:"d2Bravo",2266:"approachS20",2271:"vivoSmart2",2274:"edge1000Thai",2276:"variaRemote",2288:"edge25Asia",2289:"edge25Jpn",2290:"edge20Asia",2292:"approachX40",2293:"fenix3Japan",2294:"vivoSmartEmea",2310:"fr630Asia",2311:"fr630Jpn",2313:"fr230Jpn",2327:"hrm4Run",2332:"epixJapan",2337:"vivoActiveHr",2347:"vivoSmartGpsHr",2348:"vivoSmartHr",2361:"vivoSmartHrAsia",2362:"vivoSmartGpsHrAsia",2368:"vivoMove",2379:"variaTaillight",2396:"fr235Asia",2397:"fr235Japan",2398:"variaVision",2406:"vivoFit3",2407:"fenix3Korea",2408:"fenix3Sea",2413:"fenix3Hr",2417:"virbUltra30",2429:"indexSmartScale",2431:"fr235",2432:"fenix3Chronos",2441:"oregon7xx",2444:"rino7xx",2457:"epixKorea",2473:"fenix3HrChn",2474:"fenix3HrTwn",2475:"fenix3HrJpn",2476:"fenix3HrSea",2477:"fenix3HrKor",2496:"nautix",2497:"vivoActiveHrApac",2503:"fr35",2512:"oregon7xxWw",2530:"edge820",2531:"edgeExplore820",2533:"fr735xtApac",2534:"fr735xtJapan",2544:"fenix5s",2547:"d2BravoTitanium",2567:"variaUt800",2593:"runningDynamicsPod",2599:"edge820China",2600:"edge820Japan",2604:"fenix5x",2606:"vivoFitJr",2622:"vivoSmart3",2623:"vivoSport",2628:"edge820Taiwan",2629:"edge820Korea",2630:"edge820Sea",2650:"fr35Hebrew",2656:"approachS60",2667:"fr35Apac",2668:"fr35Japan",2675:"fenix3ChronosAsia",2687:"virb360",2691:"fr935",2697:"fenix5",2700:"vivoactive3",2733:"fr235ChinaNfc",2769:"foretrex601_701",2772:"vivoMoveHr",2713:"edge1030",2727:"fr35Sea",2787:"vector3",2796:"fenix5Asia",2797:"fenix5sAsia",2798:"fenix5xAsia",2806:"approachZ80",2814:"fr35Korea",2819:"d2charlie",2831:"vivoSmart3Apac",2832:"vivoSportApac",2833:"fr935Asia",2859:"descent",2878:"vivoFit4",2886:"fr645",2888:"fr645m",2891:"fr30",2900:"fenix5sPlus",2909:"edge130",2924:"edge1030Asia",2927:"vivosmart4",2945:"vivoMoveHrAsia",2962:"approachX10",2977:"fr30Asia",2988:"vivoactive3mW",3003:"fr645Asia",3004:"fr645mAsia",3011:"edgeExplore",3028:"gpsmap66",3049:"approachS10",3066:"vivoactive3mL",3076:"fr245",3077:"fr245Music",3085:"approachG80",3092:"edge130Asia",3095:"edge1030Bontrager",3110:"fenix5Plus",3111:"fenix5xPlus",3112:"edge520Plus",3113:"fr945",3121:"edge530",3122:"edge830",3126:"instinctEsports",3134:"fenix5sPlusApac",3135:"fenix5xPlusApac",3142:"edge520PlusApac",3143:"descentT1",3144:"fr235lAsia",3145:"fr245Asia",3163:"vivoActive3mApac",3192:"gen3Bsm",3193:"gen3Bcm",3218:"vivoSmart4Asia",3224:"vivoactive4Small",3225:"vivoactive4Large",3226:"venu",3246:"marqDriver",3247:"marqAviator",3248:"marqCaptain",3249:"marqCommander",3250:"marqExpedition",3251:"marqAthlete",3258:"descentMk2",3282:"fr45",3284:"gpsmap66i",3287:"fenix6SSport",3288:"fenix6S",3289:"fenix6Sport",3290:"fenix6",3291:"fenix6x",3299:"hrmDual",3300:"hrmPro",3308:"vivoMove3Premium",3314:"approachS40",3321:"fr245mAsia",3349:"edge530Apac",3350:"edge830Apac",3378:"vivoMove3",3387:"vivoActive4SmallAsia",3388:"vivoActive4LargeAsia",3389:"vivoActive4OledAsia",3405:"swim2",3420:"marqDriverAsia",3421:"marqAviatorAsia",3422:"vivoMove3Asia",3441:"fr945Asia",3446:"vivoActive3tChn",3448:"marqCaptainAsia",3449:"marqCommanderAsia",3450:"marqExpeditionAsia",3451:"marqAthleteAsia",3461:"indexSmartScale2",3466:"instinctSolar",3469:"fr45Asia",3473:"vivoactive3Daimler",3498:"legacyRey",3499:"legacyDarthVader",3500:"legacyCaptainMarvel",3501:"legacyFirstAvenger",3512:"fenix6sSportAsia",3513:"fenix6sAsia",3514:"fenix6SportAsia",3515:"fenix6Asia",3516:"fenix6xAsia",3535:"legacyCaptainMarvelAsia",3536:"legacyFirstAvengerAsia",3537:"legacyReyAsia",3538:"legacyDarthVaderAsia",3542:"descentMk2s",3558:"edge130Plus",3570:"edge1030Plus",3578:"rally200",3589:"fr745",3596:"venusqMusic",3599:"venusqMusicV2",3600:"venusq",3615:"lily",3624:"marqAdventurer",3638:"enduro",3639:"swim2Apac",3648:"marqAdventurerAsia",3652:"fr945Lte",3702:"descentMk2Asia",3703:"venu2",3704:"venu2s",3737:"venuDaimlerAsia",3739:"marqGolfer",3740:"venuDaimler",3794:"fr745Asia",3808:"variaRct715",3809:"lilyAsia",3812:"edge1030PlusAsia",3813:"edge130PlusAsia",3823:"approachS12",3872:"enduroAsia",3837:"venusqAsia",3843:"edge1040",3850:"marqGolferAsia",3851:"venu2Plus",3865:"gnss",3869:"fr55",3888:"instinct2",3889:"instinct2s",3905:"fenix7s",3906:"fenix7",3907:"fenix7x",3908:"fenix7sApac",3909:"fenix7Apac",3910:"fenix7xApac",3927:"approachG12",3930:"descentMk2sAsia",3934:"approachS42",3943:"epixGen2",3944:"epixGen2Apac",3949:"venu2sAsia",3950:"venu2Asia",3978:"fr945LteAsia",3982:"vivoMoveSport",3983:"vivomoveTrend",3986:"approachS12Asia",3990:"fr255Music",3991:"fr255SmallMusic",3992:"fr255",3993:"fr255Small",4001:"approachG12Asia",4002:"approachS42Asia",4005:"descentG1",4017:"venu2PlusAsia",4024:"fr955",4033:"fr55Asia",4061:"edge540",4062:"edge840",4063:"vivosmart5",4071:"instinct2Asia",4105:"marqGen2",4115:"venusq2",4116:"venusq2music",4124:"marqGen2Aviator",4125:"d2AirX10",4130:"hrmProPlus",4132:"descentG1Asia",4135:"tactix7",4155:"instinctCrossover",4169:"edgeExplore2",4222:"descentMk3",4223:"descentMk3i",4233:"approachS70",4257:"fr265Large",4258:"fr265Small",4260:"venu3",4261:"venu3s",4265:"tacxNeoSmart",4266:"tacxNeo2Smart",4267:"tacxNeo2TSmart",4268:"tacxNeoSmartBike",4269:"tacxSatoriSmart",4270:"tacxFlowSmart",4271:"tacxVortexSmart",4272:"tacxBushidoSmart",4273:"tacxGeniusSmart",4274:"tacxFluxFluxSSmart",4275:"tacxFlux2Smart",4276:"tacxMagnum",4305:"edge1040Asia",4312:"epixGen2Pro42",4313:"epixGen2Pro47",4314:"epixGen2Pro51",4315:"fr965",4341:"enduro2",4374:"fenix7sProSolar",4375:"fenix7ProSolar",4376:"fenix7xProSolar",4380:"lily2",4394:"instinct2x",4426:"vivoactive5",4432:"fr165",4433:"fr165Music",4440:"edge1050",4442:"descentT2",4446:"hrmFit",4472:"marqGen2Commander",4477:"lilyAthlete",4532:"fenix8Solar",4533:"fenix8SolarLarge",4534:"fenix8Small",4536:"fenix8",4556:"d2Mach1Pro",4575:"enduro3",4583:"instinctE40mm",4584:"instinctE45mm",4585:"instinct3Solar45mm",4586:"instinct3Amoled45mm",4587:"instinct3Amoled50mm",4588:"descentG2",4603:"venuX1",4606:"hrm200",4625:"vivoactive6",4647:"approachS44",4655:"edgeMtb",4656:"approachS50",4666:"fenixE",4759:"instinct3Solar50mm",4775:"tactix8Amoled",4776:"tactix8Solar",10007:"sdm4",10014:"edgeRemote",20533:"tacxTrainingAppWin",20534:"tacxTrainingAppMac",20565:"tacxTrainingAppMacCatalyst",20119:"trainingCenter",30045:"tacxTrainingAppAndroid",30046:"tacxTrainingAppIos",30047:"tacxTrainingAppLegacy",65531:"connectiqSimulator",65532:"androidAntplusPlugin",65534:"connect"},antplusDeviceType:{1:"antfs",11:"bikePower",12:"environmentSensorLegacy",15:"multiSportSpeedDistance",16:"control",17:"fitnessEquipment",18:"bloodPressure",19:"geocacheNode",20:"lightElectricVehicle",25:"envSensor",26:"racquet",27:"controlHub",31:"muscleOxygen",34:"shifting",35:"bikeLightMain",36:"bikeLightShared",38:"exd",40:"bikeRadar",46:"bikeAero",119:"weightScale",120:"heartRate",121:"bikeSpeedCadence",122:"bikeCadence",123:"bikeSpeed",124:"strideSpeedDistance"},antNetwork:{0:"public",1:"antplus",2:"antfs",3:"private"},workoutCapabilities:{1:"interval",2:"custom",4:"fitnessEquipment",8:"firstbeat",16:"newLeaf",32:"tcx",128:"speed",256:"heartRate",512:"distance",1024:"cadence",2048:"power",4096:"grade",8192:"resistance",16384:"protected"},batteryStatus:{1:"new",2:"good",3:"ok",4:"low",5:"critical",6:"charging",7:"unknown"},hrType:{0:"normal",1:"irregular"},courseCapabilities:{1:"processed",2:"valid",4:"time",8:"distance",16:"position",32:"heartRate",64:"power",128:"cadence",256:"training",512:"navigation",1024:"bikeway",4096:"aviation"},weight:{65534:"calculating"},workoutHr:{100:"bpmOffset"},workoutPower:{1e3:"wattsOffset"},bpStatus:{0:"noError",1:"errorIncompleteData",2:"errorNoMeasurement",3:"errorDataOutOfRange",4:"errorIrregularHeartRate"},userLocalId:{0:"localMin",15:"localMax",16:"stationaryMin",255:"stationaryMax",256:"portableMin",65534:"portableMax"},swimStroke:{0:"freestyle",1:"backstroke",2:"breaststroke",3:"butterfly",4:"drill",5:"mixed",6:"im",7:"imByRound",8:"rimo"},activityType:{0:"generic",1:"running",2:"cycling",3:"transition",4:"fitnessEquipment",5:"swimming",6:"walking",8:"sedentary",254:"all"},activitySubtype:{0:"generic",1:"treadmill",2:"street",3:"trail",4:"track",5:"spin",6:"indoorCycling",7:"road",8:"mountain",9:"downhill",10:"recumbent",11:"cyclocross",12:"handCycling",13:"trackCycling",14:"indoorRowing",15:"elliptical",16:"stairClimbing",17:"lapSwimming",18:"openWater",254:"all"},activityLevel:{0:"low",1:"medium",2:"high"},side:{0:"right",1:"left"},leftRightBalance:{127:"mask",128:"right"},leftRightBalance100:{16383:"mask",32768:"right"},lengthType:{0:"idle",1:"active"},dayOfWeek:{0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"},connectivityCapabilities:{1:"bluetooth",2:"bluetoothLe",4:"ant",8:"activityUpload",16:"courseDownload",32:"workoutDownload",64:"liveTrack",128:"weatherConditions",256:"weatherAlerts",512:"gpsEphemerisDownload",1024:"explicitArchive",2048:"setupIncomplete",4096:"continueSyncAfterSoftwareUpdate",8192:"connectIqAppDownload",16384:"golfCourseDownload",32768:"deviceInitiatesSync",65536:"connectIqWatchAppDownload",131072:"connectIqWidgetDownload",262144:"connectIqWatchFaceDownload",524288:"connectIqDataFieldDownload",1048576:"connectIqAppManagment",2097152:"swingSensor",4194304:"swingSensorRemote",8388608:"incidentDetection",16777216:"audioPrompts",33554432:"wifiVerification",67108864:"trueUp",134217728:"findMyWatch",268435456:"remoteManualSync",536870912:"liveTrackAutoStart",1073741824:"liveTrackMessaging",2147483648:"instantInput"},weatherReport:{0:"current",1:"forecast",1:"hourlyForecast",2:"dailyForecast"},weatherStatus:{0:"clear",1:"partlyCloudy",2:"mostlyCloudy",3:"rain",4:"snow",5:"windy",6:"thunderstorms",7:"wintryMix",8:"fog",11:"hazy",12:"hail",13:"scatteredShowers",14:"scatteredThunderstorms",15:"unknownPrecipitation",16:"lightRain",17:"heavyRain",18:"lightSnow",19:"heavySnow",20:"lightRainSnow",21:"heavyRainSnow",22:"cloudy"},weatherSeverity:{0:"unknown",1:"warning",2:"watch",3:"advisory",4:"statement"},weatherSevereType:{0:"unspecified",1:"tornado",2:"tsunami",3:"hurricane",4:"extremeWind",5:"typhoon",6:"inlandHurricane",7:"hurricaneForceWind",8:"waterspout",9:"severeThunderstorm",10:"wreckhouseWinds",11:"lesSuetesWind",12:"avalanche",13:"flashFlood",14:"tropicalStorm",15:"inlandTropicalStorm",16:"blizzard",17:"iceStorm",18:"freezingRain",19:"debrisFlow",20:"flashFreeze",21:"dustStorm",22:"highWind",23:"winterStorm",24:"heavyFreezingSpray",25:"extremeCold",26:"windChill",27:"coldWave",28:"heavySnowAlert",29:"lakeEffectBlowingSnow",30:"snowSquall",31:"lakeEffectSnow",32:"winterWeather",33:"sleet",34:"snowfall",35:"snowAndBlowingSnow",36:"blowingSnow",37:"snowAlert",38:"arcticOutflow",39:"freezingDrizzle",40:"storm",41:"stormSurge",42:"rainfall",43:"arealFlood",44:"coastalFlood",45:"lakeshoreFlood",46:"excessiveHeat",47:"heat",48:"weather",49:"highHeatAndHumidity",50:"humidexAndHealth",51:"humidex",52:"gale",53:"freezingSpray",54:"specialMarine",55:"squall",56:"strongWind",57:"lakeWind",58:"marineWeather",59:"wind",60:"smallCraftHazardousSeas",61:"hazardousSeas",62:"smallCraft",63:"smallCraftWinds",64:"smallCraftRoughBar",65:"highWaterLevel",66:"ashfall",67:"freezingFog",68:"denseFog",69:"denseSmoke",70:"blowingDust",71:"hardFreeze",72:"freeze",73:"frost",74:"fireWeather",75:"flood",76:"ripTide",77:"highSurf",78:"smog",79:"airQuality",80:"briskWind",81:"airStagnation",82:"lowWater",83:"hydrological",84:"specialWeather"},timeIntoDay:{},localtimeIntoDay:{},strokeType:{0:"noEvent",1:"other",2:"serve",3:"forehand",4:"backhand",5:"smash"},bodyLocation:{0:"leftLeg",1:"leftCalf",2:"leftShin",3:"leftHamstring",4:"leftQuad",5:"leftGlute",6:"rightLeg",7:"rightCalf",8:"rightShin",9:"rightHamstring",10:"rightQuad",11:"rightGlute",12:"torsoBack",13:"leftLowerBack",14:"leftUpperBack",15:"rightLowerBack",16:"rightUpperBack",17:"torsoFront",18:"leftAbdomen",19:"leftChest",20:"rightAbdomen",21:"rightChest",22:"leftArm",23:"leftShoulder",24:"leftBicep",25:"leftTricep",26:"leftBrachioradialis",27:"leftForearmExtensors",28:"rightArm",29:"rightShoulder",30:"rightBicep",31:"rightTricep",32:"rightBrachioradialis",33:"rightForearmExtensors",34:"neck",35:"throat",36:"waistMidBack",37:"waistFront",38:"waistLeft",39:"waistRight"},segmentLapStatus:{0:"end",1:"fail"},segmentLeaderboardType:{0:"overall",1:"personalBest",2:"connections",3:"group",4:"challenger",5:"kom",6:"qom",7:"pr",8:"goal",9:"carrot",10:"clubLeader",11:"rival",12:"last",13:"recentBest",14:"courseRecord"},segmentDeleteStatus:{0:"doNotDelete",1:"deleteOne",2:"deleteAll"},segmentSelectionType:{0:"starred",1:"suggested"},sourceType:{0:"ant",1:"antplus",2:"bluetooth",3:"bluetoothLowEnergy",4:"wifi",5:"local"},localDeviceType:{0:"gps",1:"glonass",2:"gpsGlonass",3:"accelerometer",4:"barometer",5:"temperature",10:"whr",12:"sensorHub"},bleDeviceType:{0:"connectedGps",1:"heartRate",2:"bikePower",3:"bikeSpeedCadence",4:"bikeSpeed",5:"bikeCadence",6:"footpod",7:"bikeTrainer"},antChannelId:{4026531840:"antExtendedDeviceNumberUpperNibble",251658240:"antTransmissionTypeLowerNibble",16711680:"antDeviceType",65535:"antDeviceNumber"},displayOrientation:{0:"auto",1:"portrait",2:"landscape",3:"portraitFlipped",4:"landscapeFlipped"},workoutEquipment:{0:"none",1:"swimFins",2:"swimKickboard",3:"swimPaddles",4:"swimPullBuoy",5:"swimSnorkel"},watchfaceMode:{0:"digital",1:"analog",2:"connectIq",3:"disabled"},digitalWatchfaceLayout:{0:"traditional",1:"modern",2:"bold"},analogWatchfaceLayout:{0:"minimal",1:"traditional",2:"modern"},riderPositionType:{0:"seated",1:"standing",2:"transitionToSeated",3:"transitionToStanding"},powerPhaseType:{0:"powerPhaseStartAngle",1:"powerPhaseEndAngle",2:"powerPhaseArcLength",3:"powerPhaseCenter"},cameraEventType:{0:"videoStart",1:"videoSplit",2:"videoEnd",3:"photoTaken",4:"videoSecondStreamStart",5:"videoSecondStreamSplit",6:"videoSecondStreamEnd",7:"videoSplitStart",8:"videoSecondStreamSplitStart",11:"videoPause",12:"videoSecondStreamPause",13:"videoResume",14:"videoSecondStreamResume"},sensorType:{0:"accelerometer",1:"gyroscope",2:"compass",3:"barometer"},bikeLightNetworkConfigType:{0:"auto",4:"individual",5:"highVisibility",6:"trail"},commTimeoutType:{0:"wildcardPairingTimeout",1:"pairingTimeout",2:"connectionLost",3:"connectionTimeout"},cameraOrientationType:{0:"cameraOrientation0",1:"cameraOrientation90",2:"cameraOrientation180",3:"cameraOrientation270"},attitudeStage:{0:"failed",1:"aligning",2:"degraded",3:"valid"},attitudeValidity:{1:"trackAngleHeadingValid",2:"pitchValid",4:"rollValid",8:"lateralBodyAccelValid",16:"normalBodyAccelValid",32:"turnRateValid",64:"hwFail",128:"magInvalid",256:"noGps",512:"gpsInvalid",1024:"solutionCoasting",2048:"trueTrackAngle",4096:"magneticHeading"},autoSyncFrequency:{0:"never",1:"occasionally",2:"frequent",3:"onceADay",4:"remote"},exdLayout:{0:"fullScreen",1:"halfVertical",2:"halfHorizontal",3:"halfVerticalRightSplit",4:"halfHorizontalBottomSplit",5:"fullQuarterSplit",6:"halfVerticalLeftSplit",7:"halfHorizontalTopSplit",8:"dynamic"},exdDisplayType:{0:"numerical",1:"simple",2:"graph",3:"bar",4:"circleGraph",5:"virtualPartner",6:"balance",7:"stringList",8:"string",9:"simpleDynamicIcon",10:"gauge"},exdDataUnits:{0:"noUnits",1:"laps",2:"milesPerHour",3:"kilometersPerHour",4:"feetPerHour",5:"metersPerHour",6:"degreesCelsius",7:"degreesFarenheit",8:"zone",9:"gear",10:"rpm",11:"bpm",12:"degrees",13:"millimeters",14:"meters",15:"kilometers",16:"feet",17:"yards",18:"kilofeet",19:"miles",20:"time",21:"enumTurnType",22:"percent",23:"watts",24:"wattsPerKilogram",25:"enumBatteryStatus",26:"enumBikeLightBeamAngleMode",27:"enumBikeLightBatteryStatus",28:"enumBikeLightNetworkConfigType",29:"lights",30:"seconds",31:"minutes",32:"hours",33:"calories",34:"kilojoules",35:"milliseconds",36:"secondPerMile",37:"secondPerKilometer",38:"centimeter",39:"enumCoursePoint",40:"bradians",41:"enumSport",42:"inchesHg",43:"mmHg",44:"mbars",45:"hectoPascals",46:"feetPerMin",47:"metersPerMin",48:"metersPerSec",49:"eightCardinal"},exdQualifiers:{0:"noQualifier",1:"instantaneous",2:"average",3:"lap",4:"maximum",5:"maximumAverage",6:"maximumLap",7:"lastLap",8:"averageLap",9:"toDestination",10:"toGo",11:"toNext",12:"nextCoursePoint",13:"total",14:"threeSecondAverage",15:"tenSecondAverage",16:"thirtySecondAverage",17:"percentMaximum",18:"percentMaximumAverage",19:"lapPercentMaximum",20:"elapsed",21:"sunrise",22:"sunset",23:"comparedToVirtualPartner",24:"maximum24h",25:"minimum24h",26:"minimum",27:"first",28:"second",29:"third",30:"shifter",31:"lastSport",32:"moving",33:"stopped",34:"estimatedTotal",242:"zone9",243:"zone8",244:"zone7",245:"zone6",246:"zone5",247:"zone4",248:"zone3",249:"zone2",250:"zone1"},exdDescriptors:{0:"bikeLightBatteryStatus",1:"beamAngleStatus",2:"bateryLevel",3:"lightNetworkMode",4:"numberLightsConnected",5:"cadence",6:"distance",7:"estimatedTimeOfArrival",8:"heading",9:"time",10:"batteryLevel",11:"trainerResistance",12:"trainerTargetPower",13:"timeSeated",14:"timeStanding",15:"elevation",16:"grade",17:"ascent",18:"descent",19:"verticalSpeed",20:"di2BatteryLevel",21:"frontGear",22:"rearGear",23:"gearRatio",24:"heartRate",25:"heartRateZone",26:"timeInHeartRateZone",27:"heartRateReserve",28:"calories",29:"gpsAccuracy",30:"gpsSignalStrength",31:"temperature",32:"timeOfDay",33:"balance",34:"pedalSmoothness",35:"power",36:"functionalThresholdPower",37:"intensityFactor",38:"work",39:"powerRatio",40:"normalizedPower",41:"trainingStressScore",42:"timeOnZone",43:"speed",44:"laps",45:"reps",46:"workoutStep",47:"courseDistance",48:"navigationDistance",49:"courseEstimatedTimeOfArrival",50:"navigationEstimatedTimeOfArrival",51:"courseTime",52:"navigationTime",53:"courseHeading",54:"navigationHeading",55:"powerZone",56:"torqueEffectiveness",57:"timerTime",58:"powerWeightRatio",59:"leftPlatformCenterOffset",60:"rightPlatformCenterOffset",61:"leftPowerPhaseStartAngle",62:"rightPowerPhaseStartAngle",63:"leftPowerPhaseFinishAngle",64:"rightPowerPhaseFinishAngle",65:"gears",66:"pace",67:"trainingEffect",68:"verticalOscillation",69:"verticalRatio",70:"groundContactTime",71:"leftGroundContactTimeBalance",72:"rightGroundContactTimeBalance",73:"strideLength",74:"runningCadence",75:"performanceCondition",76:"courseType",77:"timeInPowerZone",78:"navigationTurn",79:"courseLocation",80:"navigationLocation",81:"compass",82:"gearCombo",83:"muscleOxygen",84:"icon",85:"compassHeading",86:"gpsHeading",87:"gpsElevation",88:"anaerobicTrainingEffect",89:"course",90:"offCourse",91:"glideRatio",92:"verticalDistance",93:"vmg",94:"ambientPressure",95:"pressure",96:"vam"},autoActivityDetect:{0:"none",1:"running",2:"cycling",4:"swimming",8:"walking",32:"elliptical",1024:"sedentary"},supportedExdScreenLayouts:{1:"fullScreen",2:"halfVertical",4:"halfHorizontal",8:"halfVerticalRightSplit",16:"halfHorizontalBottomSplit",32:"fullQuarterSplit",64:"halfVerticalLeftSplit",128:"halfHorizontalTopSplit"},fitBaseType:{0:"enum",1:"sint8",2:"uint8",131:"sint16",132:"uint16",133:"sint32",134:"uint32",7:"string",136:"float32",137:"float64",10:"uint8z",139:"uint16z",140:"uint32z",13:"byte",142:"sint64",143:"uint64",144:"uint64z"},turnType:{0:"arrivingIdx",1:"arrivingLeftIdx",2:"arrivingRightIdx",3:"arrivingViaIdx",4:"arrivingViaLeftIdx",5:"arrivingViaRightIdx",6:"bearKeepLeftIdx",7:"bearKeepRightIdx",8:"continueIdx",9:"exitLeftIdx",10:"exitRightIdx",11:"ferryIdx",12:"roundabout45Idx",13:"roundabout90Idx",14:"roundabout135Idx",15:"roundabout180Idx",16:"roundabout225Idx",17:"roundabout270Idx",18:"roundabout315Idx",19:"roundabout360Idx",20:"roundaboutNeg45Idx",21:"roundaboutNeg90Idx",22:"roundaboutNeg135Idx",23:"roundaboutNeg180Idx",24:"roundaboutNeg225Idx",25:"roundaboutNeg270Idx",26:"roundaboutNeg315Idx",27:"roundaboutNeg360Idx",28:"roundaboutGenericIdx",29:"roundaboutNegGenericIdx",30:"sharpTurnLeftIdx",31:"sharpTurnRightIdx",32:"turnLeftIdx",33:"turnRightIdx",34:"uturnLeftIdx",35:"uturnRightIdx",36:"iconInvIdx",37:"iconIdxCnt"},bikeLightBeamAngleMode:{0:"manual",1:"auto"},fitBaseUnit:{0:"other",1:"kilogram",2:"pound"},setType:{0:"rest",1:"active"},maxMetCategory:{0:"generic",1:"cycling"},exerciseCategory:{0:"benchPress",1:"calfRaise",2:"cardio",3:"carry",4:"chop",5:"core",6:"crunch",7:"curl",8:"deadlift",9:"flye",10:"hipRaise",11:"hipStability",12:"hipSwing",13:"hyperextension",14:"lateralRaise",15:"legCurl",16:"legRaise",17:"lunge",18:"olympicLift",19:"plank",20:"plyo",21:"pullUp",22:"pushUp",23:"row",24:"shoulderPress",25:"shoulderStability",26:"shrug",27:"sitUp",28:"squat",29:"totalBody",30:"tricepsExtension",31:"warmUp",32:"run",33:"bike",34:"cardioSensors",35:"move",36:"pose",37:"bandedExercises",38:"battleRope",39:"elliptical",40:"floorClimb",41:"indoorBike",42:"indoorRow",43:"ladder",44:"sandbag",45:"sled",46:"sledgeHammer",47:"stairStepper",49:"suspension",50:"tire",52:"runIndoor",53:"bikeOutdoor",65534:"unknown"},benchPressExerciseName:{0:"alternatingDumbbellChestPressOnSwissBall",1:"barbellBenchPress",2:"barbellBoardBenchPress",3:"barbellFloorPress",4:"closeGripBarbellBenchPress",5:"declineDumbbellBenchPress",6:"dumbbellBenchPress",7:"dumbbellFloorPress",8:"inclineBarbellBenchPress",9:"inclineDumbbellBenchPress",10:"inclineSmithMachineBenchPress",11:"isometricBarbellBenchPress",12:"kettlebellChestPress",13:"neutralGripDumbbellBenchPress",14:"neutralGripDumbbellInclineBenchPress",15:"oneArmFloorPress",16:"weightedOneArmFloorPress",17:"partialLockout",18:"reverseGripBarbellBenchPress",19:"reverseGripInclineBenchPress",20:"singleArmCableChestPress",21:"singleArmDumbbellBenchPress",22:"smithMachineBenchPress",23:"swissBallDumbbellChestPress",24:"tripleStopBarbellBenchPress",25:"wideGripBarbellBenchPress",26:"alternatingDumbbellChestPress"},calfRaiseExerciseName:{0:"3WayCalfRaise",1:"3WayWeightedCalfRaise",2:"3WaySingleLegCalfRaise",3:"3WayWeightedSingleLegCalfRaise",4:"donkeyCalfRaise",5:"weightedDonkeyCalfRaise",6:"seatedCalfRaise",7:"weightedSeatedCalfRaise",8:"seatedDumbbellToeRaise",9:"singleLegBentKneeCalfRaise",10:"weightedSingleLegBentKneeCalfRaise",11:"singleLegDeclinePushUp",12:"singleLegDonkeyCalfRaise",13:"weightedSingleLegDonkeyCalfRaise",14:"singleLegHipRaiseWithKneeHold",15:"singleLegStandingCalfRaise",16:"singleLegStandingDumbbellCalfRaise",17:"standingBarbellCalfRaise",18:"standingCalfRaise",19:"weightedStandingCalfRaise",20:"standingDumbbellCalfRaise"},cardioExerciseName:{0:"bobAndWeaveCircle",1:"weightedBobAndWeaveCircle",2:"cardioCoreCrawl",3:"weightedCardioCoreCrawl",4:"doubleUnder",5:"weightedDoubleUnder",6:"jumpRope",7:"weightedJumpRope",8:"jumpRopeCrossover",9:"weightedJumpRopeCrossover",10:"jumpRopeJog",11:"weightedJumpRopeJog",12:"jumpingJacks",13:"weightedJumpingJacks",14:"skiMoguls",15:"weightedSkiMoguls",16:"splitJacks",17:"weightedSplitJacks",18:"squatJacks",19:"weightedSquatJacks",20:"tripleUnder",21:"weightedTripleUnder",22:"elliptical",23:"spinning",24:"polePaddleForwardWheelchair",25:"polePaddleBackwardWheelchair",26:"poleHandcycleForwardWheelchair",27:"poleHandcycleBackwardWheelchair",28:"poleRainbowWheelchair",29:"doublePunchForwardWheelchair",30:"doublePunchDownWheelchair",31:"doublePunchSidewaysWheelchair",32:"doublePunchUpWheelchair",33:"sitSkiWheelchair",34:"sittingJacksWheelchair",35:"punchForwardWheelchair",36:"punchDownWheelchair",37:"punchSidewaysWheelchair",38:"punchUpWheelchair",39:"punchBagWheelchair",40:"poleDdFfUuWheelchair",41:"butterflyArmsWheelchair",42:"punch"},carryExerciseName:{0:"barHolds",1:"farmersWalk",2:"farmersWalkOnToes",3:"hexDumbbellHold",4:"overheadCarry",5:"dumbbellWaiterCarry",6:"farmersCarryWalkLunge",7:"farmersCarry",8:"farmersCarryOnToes"},chopExerciseName:{0:"cablePullThrough",1:"cableRotationalLift",2:"cableWoodchop",3:"crossChopToKnee",4:"weightedCrossChopToKnee",5:"dumbbellChop",6:"halfKneelingRotation",7:"weightedHalfKneelingRotation",8:"halfKneelingRotationalChop",9:"halfKneelingRotationalReverseChop",10:"halfKneelingStabilityChop",11:"halfKneelingStabilityReverseChop",12:"kneelingRotationalChop",13:"kneelingRotationalReverseChop",14:"kneelingStabilityChop",15:"kneelingWoodchopper",16:"medicineBallWoodChops",17:"powerSquatChops",18:"weightedPowerSquatChops",19:"standingRotationalChop",20:"standingSplitRotationalChop",21:"standingSplitRotationalReverseChop",22:"standingStabilityReverseChop"},coreExerciseName:{0:"absJabs",1:"weightedAbsJabs",2:"alternatingPlateReach",3:"barbellRollout",4:"weightedBarbellRollout",5:"bodyBarObliqueTwist",6:"cableCorePress",7:"cableSideBend",8:"sideBend",9:"weightedSideBend",10:"crescentCircle",11:"weightedCrescentCircle",12:"cyclingRussianTwist",13:"weightedCyclingRussianTwist",14:"elevatedFeetRussianTwist",15:"weightedElevatedFeetRussianTwist",16:"halfTurkishGetUp",17:"kettlebellWindmill",18:"kneelingAbWheel",19:"weightedKneelingAbWheel",20:"modifiedFrontLever",21:"openKneeTucks",22:"weightedOpenKneeTucks",23:"sideAbsLegLift",24:"weightedSideAbsLegLift",25:"swissBallJackknife",26:"weightedSwissBallJackknife",27:"swissBallPike",28:"weightedSwissBallPike",29:"swissBallRollout",30:"weightedSwissBallRollout",31:"triangleHipPress",32:"weightedTriangleHipPress",33:"trxSuspendedJackknife",34:"weightedTrxSuspendedJackknife",35:"uBoat",36:"weightedUBoat",37:"windmillSwitches",38:"weightedWindmillSwitches",39:"alternatingSlideOut",40:"weightedAlternatingSlideOut",41:"ghdBackExtensions",42:"weightedGhdBackExtensions",43:"overheadWalk",44:"inchworm",45:"weightedModifiedFrontLever",46:"russianTwist",47:"abdominalLegRotations",48:"armAndLegExtensionOnKnees",49:"bicycle",50:"bicepCurlWithLegExtension",51:"catCow",52:"corkscrew",53:"crissCross",54:"crissCrossWithBall",55:"doubleLegStretch",56:"kneeFolds",57:"lowerLift",58:"neckPull",59:"pelvicClocks",60:"rollOver",61:"rollUp",62:"rolling",63:"rowing1",64:"rowing2",65:"scissors",66:"singleLegCircles",67:"singleLegStretch",68:"snakeTwist1And2",69:"swan",70:"swimming",71:"teaser",72:"theHundred",73:"bicepCurlWithLegExtensionWithWeights",75:"hangingLSit",77:"lowerLiftWithWeights",79:"ringLSit",80:"rowing1WithWeights",81:"rowing2WithWeights",82:"scissorsWithWeights",83:"singleLegStretchWithWeights",84:"toesToElbows",85:"weightedCrissCross",86:"weightedDoubleLegStretch",87:"weightedTheHundred",88:"lSit",89:"turkishGetUp",90:"weightedRingLSit",91:"weightedHangingLSit",92:"weightedLSit",93:"sideBendLowWheelchair",94:"sideBendMidWheelchair",95:"sideBendHighWheelchair",96:"seatedSideBend"},crunchExerciseName:{0:"bicycleCrunch",1:"cableCrunch",2:"circularArmCrunch",3:"crossedArmsCrunch",4:"weightedCrossedArmsCrunch",5:"crossLegReverseCrunch",6:"weightedCrossLegReverseCrunch",7:"crunchChop",8:"weightedCrunchChop",9:"doubleCrunch",10:"weightedDoubleCrunch",11:"elbowToKneeCrunch",12:"weightedElbowToKneeCrunch",13:"flutterKicks",14:"weightedFlutterKicks",15:"foamRollerReverseCrunchOnBench",16:"weightedFoamRollerReverseCrunchOnBench",17:"foamRollerReverseCrunchWithDumbbell",18:"foamRollerReverseCrunchWithMedicineBall",19:"frogPress",20:"hangingKneeRaiseObliqueCrunch",21:"weightedHangingKneeRaiseObliqueCrunch",22:"hipCrossover",23:"weightedHipCrossover",24:"hollowRock",25:"weightedHollowRock",26:"inclineReverseCrunch",27:"weightedInclineReverseCrunch",28:"kneelingCableCrunch",29:"kneelingCrossCrunch",30:"weightedKneelingCrossCrunch",31:"kneelingObliqueCableCrunch",32:"kneesToElbow",33:"legExtensions",34:"weightedLegExtensions",35:"legLevers",36:"mcgillCurlUp",37:"weightedMcgillCurlUp",38:"modifiedPilatesRollUpWithBall",39:"weightedModifiedPilatesRollUpWithBall",40:"pilatesCrunch",41:"weightedPilatesCrunch",42:"pilatesRollUpWithBall",43:"weightedPilatesRollUpWithBall",44:"raisedLegsCrunch",45:"weightedRaisedLegsCrunch",46:"reverseCrunch",47:"weightedReverseCrunch",48:"reverseCrunchOnABench",49:"weightedReverseCrunchOnABench",50:"reverseCurlAndLift",51:"weightedReverseCurlAndLift",52:"rotationalLift",53:"weightedRotationalLift",54:"seatedAlternatingReverseCrunch",55:"weightedSeatedAlternatingReverseCrunch",56:"seatedLegU",57:"weightedSeatedLegU",58:"sideToSideCrunchAndWeave",59:"weightedSideToSideCrunchAndWeave",60:"singleLegReverseCrunch",61:"weightedSingleLegReverseCrunch",62:"skaterCrunchCross",63:"weightedSkaterCrunchCross",64:"standingCableCrunch",65:"standingSideCrunch",66:"stepClimb",67:"weightedStepClimb",68:"swissBallCrunch",69:"swissBallReverseCrunch",70:"weightedSwissBallReverseCrunch",71:"swissBallRussianTwist",72:"weightedSwissBallRussianTwist",73:"swissBallSideCrunch",74:"weightedSwissBallSideCrunch",75:"thoracicCrunchesOnFoamRoller",76:"weightedThoracicCrunchesOnFoamRoller",77:"tricepsCrunch",78:"weightedBicycleCrunch",79:"weightedCrunch",80:"weightedSwissBallCrunch",81:"toesToBar",82:"weightedToesToBar",83:"crunch",84:"straightLegCrunchWithBall",86:"legClimbCrunch"},curlExerciseName:{0:"alternatingDumbbellBicepsCurl",1:"alternatingDumbbellBicepsCurlOnSwissBall",2:"alternatingInclineDumbbellBicepsCurl",3:"barbellBicepsCurl",4:"barbellReverseWristCurl",5:"barbellWristCurl",6:"behindTheBackBarbellReverseWristCurl",7:"behindTheBackOneArmCableCurl",8:"cableBicepsCurl",9:"cableHammerCurl",10:"cheatingBarbellBicepsCurl",11:"closeGripEzBarBicepsCurl",12:"crossBodyDumbbellHammerCurl",13:"deadHangBicepsCurl",14:"declineHammerCurl",15:"dumbbellBicepsCurlWithStaticHold",16:"dumbbellHammerCurl",17:"dumbbellReverseWristCurl",18:"dumbbellWristCurl",19:"ezBarPreacherCurl",20:"forwardBendBicepsCurl",21:"hammerCurlToPress",22:"inclineDumbbellBicepsCurl",23:"inclineOffsetThumbDumbbellCurl",24:"kettlebellBicepsCurl",25:"lyingConcentrationCableCurl",26:"oneArmPreacherCurl",27:"platePinchCurl",28:"preacherCurlWithCable",29:"reverseEzBarCurl",30:"reverseGripWristCurl",31:"reverseGripBarbellBicepsCurl",32:"seatedAlternatingDumbbellBicepsCurl",33:"seatedDumbbellBicepsCurl",34:"seatedReverseDumbbellCurl",35:"splitStanceOffsetPinkyDumbbellCurl",36:"standingAlternatingDumbbellCurls",37:"standingDumbbellBicepsCurl",38:"standingEzBarBicepsCurl",39:"staticCurl",40:"swissBallDumbbellOverheadTricepsExtension",41:"swissBallEzBarPreacherCurl",42:"twistingStandingDumbbellBicepsCurl",43:"wideGripEzBarBicepsCurl",44:"oneArmConcentrationCurl",45:"standingZottmanBicepsCurl",46:"dumbbellBicepsCurl",47:"dragCurlWheelchair",48:"dumbbellBicepsCurlWheelchair",49:"bottleCurl",50:"seatedBottleCurl"},deadliftExerciseName:{0:"barbellDeadlift",1:"barbellStraightLegDeadlift",2:"dumbbellDeadlift",3:"dumbbellSingleLegDeadliftToRow",4:"dumbbellStraightLegDeadlift",5:"kettlebellFloorToShelf",6:"oneArmOneLegDeadlift",7:"rackPull",8:"rotationalDumbbellStraightLegDeadlift",9:"singleArmDeadlift",10:"singleLegBarbellDeadlift",11:"singleLegBarbellStraightLegDeadlift",12:"singleLegDeadliftWithBarbell",13:"singleLegRdlCircuit",14:"singleLegRomanianDeadliftWithDumbbell",15:"sumoDeadlift",16:"sumoDeadliftHighPull",17:"trapBarDeadlift",18:"wideGripBarbellDeadlift",20:"kettlebellDeadlift",21:"kettlebellSumoDeadlift",23:"romanianDeadlift",24:"singleLegRomanianDeadliftCircuit",25:"straightLegDeadlift"},flyeExerciseName:{0:"cableCrossover",1:"declineDumbbellFlye",2:"dumbbellFlye",3:"inclineDumbbellFlye",4:"kettlebellFlye",5:"kneelingRearFlye",6:"singleArmStandingCableReverseFlye",7:"swissBallDumbbellFlye",8:"armRotations",9:"hugATree",10:"faceDownInclineReverseFlye",11:"inclineReverseFlye",12:"rearDeltFlyWheelchair"},hipRaiseExerciseName:{0:"barbellHipThrustOnFloor",1:"barbellHipThrustWithBench",2:"bentKneeSwissBallReverseHipRaise",3:"weightedBentKneeSwissBallReverseHipRaise",4:"bridgeWithLegExtension",5:"weightedBridgeWithLegExtension",6:"clamBridge",7:"frontKickTabletop",8:"weightedFrontKickTabletop",9:"hipExtensionAndCross",10:"weightedHipExtensionAndCross",11:"hipRaise",12:"weightedHipRaise",13:"hipRaiseWithFeetOnSwissBall",14:"weightedHipRaiseWithFeetOnSwissBall",15:"hipRaiseWithHeadOnBosuBall",16:"weightedHipRaiseWithHeadOnBosuBall",17:"hipRaiseWithHeadOnSwissBall",18:"weightedHipRaiseWithHeadOnSwissBall",19:"hipRaiseWithKneeSqueeze",20:"weightedHipRaiseWithKneeSqueeze",21:"inclineRearLegExtension",22:"weightedInclineRearLegExtension",23:"kettlebellSwing",24:"marchingHipRaise",25:"weightedMarchingHipRaise",26:"marchingHipRaiseWithFeetOnASwissBall",27:"weightedMarchingHipRaiseWithFeetOnASwissBall",28:"reverseHipRaise",29:"weightedReverseHipRaise",30:"singleLegHipRaise",31:"weightedSingleLegHipRaise",32:"singleLegHipRaiseWithFootOnBench",33:"weightedSingleLegHipRaiseWithFootOnBench",34:"singleLegHipRaiseWithFootOnBosuBall",35:"weightedSingleLegHipRaiseWithFootOnBosuBall",36:"singleLegHipRaiseWithFootOnFoamRoller",37:"weightedSingleLegHipRaiseWithFootOnFoamRoller",38:"singleLegHipRaiseWithFootOnMedicineBall",39:"weightedSingleLegHipRaiseWithFootOnMedicineBall",40:"singleLegHipRaiseWithHeadOnBosuBall",41:"weightedSingleLegHipRaiseWithHeadOnBosuBall",42:"weightedClamBridge",43:"singleLegSwissBallHipRaiseAndLegCurl",44:"clams",45:"innerThighCircles",46:"innerThighSideLift",47:"legCircles",48:"legLift",49:"legLiftInExternalRotation"},hipStabilityExerciseName:{0:"bandSideLyingLegRaise",1:"deadBug",2:"weightedDeadBug",3:"externalHipRaise",4:"weightedExternalHipRaise",5:"fireHydrantKicks",6:"weightedFireHydrantKicks",7:"hipCircles",8:"weightedHipCircles",9:"innerThighLift",10:"weightedInnerThighLift",11:"lateralWalksWithBandAtAnkles",12:"pretzelSideKick",13:"weightedPretzelSideKick",14:"proneHipInternalRotation",15:"weightedProneHipInternalRotation",16:"quadruped",17:"quadrupedHipExtension",18:"weightedQuadrupedHipExtension",19:"quadrupedWithLegLift",20:"weightedQuadrupedWithLegLift",21:"sideLyingLegRaise",22:"weightedSideLyingLegRaise",23:"slidingHipAdduction",24:"weightedSlidingHipAdduction",25:"standingAdduction",26:"weightedStandingAdduction",27:"standingCableHipAbduction",28:"standingHipAbduction",29:"weightedStandingHipAbduction",30:"standingRearLegRaise",31:"weightedStandingRearLegRaise",32:"supineHipInternalRotation",33:"weightedSupineHipInternalRotation",34:"lyingAbductionStretch"},hipSwingExerciseName:{0:"singleArmKettlebellSwing",1:"singleArmDumbbellSwing",2:"stepOutSwing",3:"oneArmSwing"},hyperextensionExerciseName:{0:"backExtensionWithOppositeArmAndLegReach",1:"weightedBackExtensionWithOppositeArmAndLegReach",2:"baseRotations",3:"weightedBaseRotations",4:"bentKneeReverseHyperextension",5:"weightedBentKneeReverseHyperextension",6:"hollowHoldAndRoll",7:"weightedHollowHoldAndRoll",8:"kicks",9:"weightedKicks",10:"kneeRaises",11:"weightedKneeRaises",12:"kneelingSuperman",13:"weightedKneelingSuperman",14:"latPullDownWithRow",15:"medicineBallDeadliftToReach",16:"oneArmOneLegRow",17:"oneArmRowWithBand",18:"overheadLungeWithMedicineBall",19:"plankKneeTucks",20:"weightedPlankKneeTucks",21:"sideStep",22:"weightedSideStep",23:"singleLegBackExtension",24:"weightedSingleLegBackExtension",25:"spineExtension",26:"weightedSpineExtension",27:"staticBackExtension",28:"weightedStaticBackExtension",29:"supermanFromFloor",30:"weightedSupermanFromFloor",31:"swissBallBackExtension",32:"weightedSwissBallBackExtension",33:"swissBallHyperextension",34:"weightedSwissBallHyperextension",35:"swissBallOppositeArmAndLegLift",36:"weightedSwissBallOppositeArmAndLegLift",37:"supermanOnSwissBall",38:"cobra",39:"supineFloorBarre"},lateralRaiseExerciseName:{0:"45DegreeCableExternalRotation",1:"alternatingLateralRaiseWithStaticHold",2:"barMuscleUp",3:"bentOverLateralRaise",4:"cableDiagonalRaise",5:"cableFrontRaise",6:"calorieRow",7:"comboShoulderRaise",8:"dumbbellDiagonalRaise",9:"dumbbellVRaise",10:"frontRaise",11:"leaningDumbbellLateralRaise",12:"lyingDumbbellRaise",13:"muscleUp",14:"oneArmCableLateralRaise",15:"overhandGripRearLateralRaise",16:"plateRaises",17:"ringDip",18:"weightedRingDip",19:"ringMuscleUp",20:"weightedRingMuscleUp",21:"ropeClimb",22:"weightedRopeClimb",23:"scaption",24:"seatedLateralRaise",25:"seatedRearLateralRaise",26:"sideLyingLateralRaise",27:"standingLift",28:"suspendedRow",29:"underhandGripRearLateralRaise",30:"wallSlide",31:"weightedWallSlide",32:"armCircles",33:"shavingTheHead",34:"dumbbellLateralRaise",36:"ringDipKipping",37:"wallWalk",38:"dumbbellFrontRaiseWheelchair",39:"dumbbellLateralRaiseWheelchair",40:"poleDoubleArmOverheadAndForwardWheelchair",41:"poleStraightArmOverheadWheelchair"},legCurlExerciseName:{0:"legCurl",1:"weightedLegCurl",2:"goodMorning",3:"seatedBarbellGoodMorning",4:"singleLegBarbellGoodMorning",5:"singleLegSlidingLegCurl",6:"slidingLegCurl",7:"splitBarbellGoodMorning",8:"splitStanceExtension",9:"staggeredStanceGoodMorning",10:"swissBallHipRaiseAndLegCurl",11:"zercherGoodMorning",12:"bandGoodMorning",13:"barGoodMorning"},legRaiseExerciseName:{0:"hangingKneeRaise",1:"hangingLegRaise",2:"weightedHangingLegRaise",3:"hangingSingleLegRaise",4:"weightedHangingSingleLegRaise",5:"kettlebellLegRaises",6:"legLoweringDrill",7:"weightedLegLoweringDrill",8:"lyingStraightLegRaise",9:"weightedLyingStraightLegRaise",10:"medicineBallLegDrops",11:"quadrupedLegRaise",12:"weightedQuadrupedLegRaise",13:"reverseLegRaise",14:"weightedReverseLegRaise",15:"reverseLegRaiseOnSwissBall",16:"weightedReverseLegRaiseOnSwissBall",17:"singleLegLoweringDrill",18:"weightedSingleLegLoweringDrill",19:"weightedHangingKneeRaise",20:"lateralStepover",21:"weightedLateralStepover"},lungeExerciseName:{0:"overheadLunge",1:"lungeMatrix",2:"weightedLungeMatrix",3:"alternatingBarbellForwardLunge",4:"alternatingDumbbellLungeWithReach",5:"backFootElevatedDumbbellSplitSquat",6:"barbellBoxLunge",7:"barbellBulgarianSplitSquat",8:"barbellCrossoverLunge",9:"barbellFrontSplitSquat",10:"barbellLunge",11:"barbellReverseLunge",12:"barbellSideLunge",13:"barbellSplitSquat",14:"coreControlRearLunge",15:"diagonalLunge",16:"dropLunge",17:"dumbbellBoxLunge",18:"dumbbellBulgarianSplitSquat",19:"dumbbellCrossoverLunge",20:"dumbbellDiagonalLunge",21:"dumbbellLunge",22:"dumbbellLungeAndRotation",23:"dumbbellOverheadBulgarianSplitSquat",24:"dumbbellReverseLungeToHighKneeAndPress",25:"dumbbellSideLunge",26:"elevatedFrontFootBarbellSplitSquat",27:"frontFootElevatedDumbbellSplitSquat",28:"gunslingerLunge",29:"lawnmowerLunge",30:"lowLungeWithIsometricAdduction",31:"lowSideToSideLunge",32:"lunge",33:"weightedLunge",34:"lungeWithArmReach",35:"lungeWithDiagonalReach",36:"lungeWithSideBend",37:"offsetDumbbellLunge",38:"offsetDumbbellReverseLunge",39:"overheadBulgarianSplitSquat",40:"overheadDumbbellReverseLunge",41:"overheadDumbbellSplitSquat",42:"overheadLungeWithRotation",43:"reverseBarbellBoxLunge",44:"reverseBoxLunge",45:"reverseDumbbellBoxLunge",46:"reverseDumbbellCrossoverLunge",47:"reverseDumbbellDiagonalLunge",48:"reverseLungeWithReachBack",49:"weightedReverseLungeWithReachBack",50:"reverseLungeWithTwistAndOverheadReach",51:"weightedReverseLungeWithTwistAndOverheadReach",52:"reverseSlidingBoxLunge",53:"weightedReverseSlidingBoxLunge",54:"reverseSlidingLunge",55:"weightedReverseSlidingLunge",56:"runnersLungeToBalance",57:"weightedRunnersLungeToBalance",58:"shiftingSideLunge",59:"sideAndCrossoverLunge",60:"weightedSideAndCrossoverLunge",61:"sideLunge",62:"weightedSideLunge",63:"sideLungeAndPress",64:"sideLungeJumpOff",65:"sideLungeSweep",66:"weightedSideLungeSweep",67:"sideLungeToCrossoverTap",68:"weightedSideLungeToCrossoverTap",69:"sideToSideLungeChops",70:"weightedSideToSideLungeChops",71:"siffJumpLunge",72:"weightedSiffJumpLunge",73:"singleArmReverseLungeAndPress",74:"slidingLateralLunge",75:"weightedSlidingLateralLunge",76:"walkingBarbellLunge",77:"walkingDumbbellLunge",78:"walkingLunge",79:"weightedWalkingLunge",80:"wideGripOverheadBarbellSplitSquat",81:"alternatingDumbbellLunge",82:"dumbbellReverseLunge",83:"overheadDumbbellLunge",84:"scissorPowerSwitch",85:"dumbbellOverheadWalkingLunge",86:"curtsyLunge",87:"weightedCurtsyLunge",88:"weightedShiftingSideLunge",89:"weightedSideLungeAndPress",90:"weightedSideLungeJumpOff"},olympicLiftExerciseName:{0:"barbellHangPowerClean",1:"barbellHangSquatClean",2:"barbellPowerClean",3:"barbellPowerSnatch",4:"barbellSquatClean",5:"cleanAndJerk",6:"barbellHangPowerSnatch",7:"barbellHangPull",8:"barbellHighPull",9:"barbellSnatch",10:"barbellSplitJerk",11:"clean",12:"dumbbellClean",13:"dumbbellHangPull",14:"oneHandDumbbellSplitSnatch",15:"pushJerk",16:"singleArmDumbbellSnatch",17:"singleArmHangSnatch",18:"singleArmKettlebellSnatch",19:"splitJerk",20:"squatCleanAndJerk",21:"dumbbellHangSnatch",22:"dumbbellPowerCleanAndJerk",23:"dumbbellPowerCleanAndPushPress",24:"dumbbellPowerCleanAndStrictPress",25:"dumbbellSnatch",26:"medicineBallClean",27:"cleanAndPress",28:"snatch"},plankExerciseName:{0:"45DegreePlank",1:"weighted45DegreePlank",2:"90DegreeStaticHold",3:"weighted90DegreeStaticHold",4:"bearCrawl",5:"weightedBearCrawl",6:"crossBodyMountainClimber",7:"weightedCrossBodyMountainClimber",8:"elbowPlankPikeJacks",9:"weightedElbowPlankPikeJacks",10:"elevatedFeetPlank",11:"weightedElevatedFeetPlank",12:"elevatorAbs",13:"weightedElevatorAbs",14:"extendedPlank",15:"weightedExtendedPlank",16:"fullPlankPasseTwist",17:"weightedFullPlankPasseTwist",18:"inchingElbowPlank",19:"weightedInchingElbowPlank",20:"inchwormToSidePlank",21:"weightedInchwormToSidePlank",22:"kneelingPlank",23:"weightedKneelingPlank",24:"kneelingSidePlankWithLegLift",25:"weightedKneelingSidePlankWithLegLift",26:"lateralRoll",27:"weightedLateralRoll",28:"lyingReversePlank",29:"weightedLyingReversePlank",30:"medicineBallMountainClimber",31:"weightedMedicineBallMountainClimber",32:"modifiedMountainClimberAndExtension",33:"weightedModifiedMountainClimberAndExtension",34:"mountainClimber",35:"weightedMountainClimber",36:"mountainClimberOnSlidingDiscs",37:"weightedMountainClimberOnSlidingDiscs",38:"mountainClimberWithFeetOnBosuBall",39:"weightedMountainClimberWithFeetOnBosuBall",40:"mountainClimberWithHandsOnBench",41:"mountainClimberWithHandsOnSwissBall",42:"weightedMountainClimberWithHandsOnSwissBall",43:"plank",44:"plankJacksWithFeetOnSlidingDiscs",45:"weightedPlankJacksWithFeetOnSlidingDiscs",46:"plankKneeTwist",47:"weightedPlankKneeTwist",48:"plankPikeJumps",49:"weightedPlankPikeJumps",50:"plankPikes",51:"weightedPlankPikes",52:"plankToStandUp",53:"weightedPlankToStandUp",54:"plankWithArmRaise",55:"weightedPlankWithArmRaise",56:"plankWithKneeToElbow",57:"weightedPlankWithKneeToElbow",58:"plankWithObliqueCrunch",59:"weightedPlankWithObliqueCrunch",60:"plyometricSidePlank",61:"weightedPlyometricSidePlank",62:"rollingSidePlank",63:"weightedRollingSidePlank",64:"sideKickPlank",65:"weightedSideKickPlank",66:"sidePlank",67:"weightedSidePlank",68:"sidePlankAndRow",69:"weightedSidePlankAndRow",70:"sidePlankLift",71:"weightedSidePlankLift",72:"sidePlankWithElbowOnBosuBall",73:"weightedSidePlankWithElbowOnBosuBall",74:"sidePlankWithFeetOnBench",75:"weightedSidePlankWithFeetOnBench",76:"sidePlankWithKneeCircle",77:"weightedSidePlankWithKneeCircle",78:"sidePlankWithKneeTuck",79:"weightedSidePlankWithKneeTuck",80:"sidePlankWithLegLift",81:"weightedSidePlankWithLegLift",82:"sidePlankWithReachUnder",83:"weightedSidePlankWithReachUnder",84:"singleLegElevatedFeetPlank",85:"weightedSingleLegElevatedFeetPlank",86:"singleLegFlexAndExtend",87:"weightedSingleLegFlexAndExtend",88:"singleLegSidePlank",89:"weightedSingleLegSidePlank",90:"spidermanPlank",91:"weightedSpidermanPlank",92:"straightArmPlank",93:"weightedStraightArmPlank",94:"straightArmPlankWithShoulderTouch",95:"weightedStraightArmPlankWithShoulderTouch",96:"swissBallPlank",97:"weightedSwissBallPlank",98:"swissBallPlankLegLift",99:"weightedSwissBallPlankLegLift",100:"swissBallPlankLegLiftAndHold",101:"swissBallPlankWithFeetOnBench",102:"weightedSwissBallPlankWithFeetOnBench",103:"swissBallProneJackknife",104:"weightedSwissBallProneJackknife",105:"swissBallSidePlank",106:"weightedSwissBallSidePlank",107:"threeWayPlank",108:"weightedThreeWayPlank",109:"towelPlankAndKneeIn",110:"weightedTowelPlankAndKneeIn",111:"tStabilization",112:"weightedTStabilization",113:"turkishGetUpToSidePlank",114:"weightedTurkishGetUpToSidePlank",115:"twoPointPlank",116:"weightedTwoPointPlank",117:"weightedPlank",118:"wideStancePlankWithDiagonalArmLift",119:"weightedWideStancePlankWithDiagonalArmLift",120:"wideStancePlankWithDiagonalLegLift",121:"weightedWideStancePlankWithDiagonalLegLift",122:"wideStancePlankWithLegLift",123:"weightedWideStancePlankWithLegLift",124:"wideStancePlankWithOppositeArmAndLegLift",125:"weightedMountainClimberWithHandsOnBench",126:"weightedSwissBallPlankLegLiftAndHold",127:"weightedWideStancePlankWithOppositeArmAndLegLift",128:"plankWithFeetOnSwissBall",129:"sidePlankToPlankWithReachUnder",130:"bridgeWithGluteLowerLift",131:"bridgeOneLegBridge",132:"plankWithArmVariations",133:"plankWithLegLift",134:"reversePlankWithLegPull",135:"ringPlankSprawls"},plyoExerciseName:{0:"alternatingJumpLunge",1:"weightedAlternatingJumpLunge",2:"barbellJumpSquat",3:"bodyWeightJumpSquat",4:"weightedJumpSquat",5:"crossKneeStrike",6:"weightedCrossKneeStrike",7:"depthJump",8:"weightedDepthJump",9:"dumbbellJumpSquat",10:"dumbbellSplitJump",11:"frontKneeStrike",12:"weightedFrontKneeStrike",13:"highBoxJump",14:"weightedHighBoxJump",15:"isometricExplosiveBodyWeightJumpSquat",16:"weightedIsometricExplosiveJumpSquat",17:"lateralLeapAndHop",18:"weightedLateralLeapAndHop",19:"lateralPlyoSquats",20:"weightedLateralPlyoSquats",21:"lateralSlide",22:"weightedLateralSlide",23:"medicineBallOverheadThrows",24:"medicineBallSideThrow",25:"medicineBallSlam",26:"sideToSideMedicineBallThrows",27:"sideToSideShuffleJump",28:"weightedSideToSideShuffleJump",29:"squatJumpOntoBox",30:"weightedSquatJumpOntoBox",31:"squatJumpsInAndOut",32:"weightedSquatJumpsInAndOut",33:"boxJump",34:"boxJumpOvers",35:"boxJumpOversOverTheBox",36:"starJumpSquats",37:"jumpSquat"},pullUpExerciseName:{0:"bandedPullUps",1:"30DegreeLatPulldown",2:"bandAssistedChinUp",3:"closeGripChinUp",4:"weightedCloseGripChinUp",5:"closeGripLatPulldown",6:"crossoverChinUp",7:"weightedCrossoverChinUp",8:"ezBarPullover",9:"hangingHurdle",10:"weightedHangingHurdle",11:"kneelingLatPulldown",12:"kneelingUnderhandGripLatPulldown",13:"latPulldown",14:"mixedGripChinUp",15:"weightedMixedGripChinUp",16:"mixedGripPullUp",17:"weightedMixedGripPullUp",18:"reverseGripPulldown",19:"standingCablePullover",20:"straightArmPulldown",21:"swissBallEzBarPullover",22:"towelPullUp",23:"weightedTowelPullUp",24:"weightedPullUp",25:"wideGripLatPulldown",26:"wideGripPullUp",27:"weightedWideGripPullUp",28:"burpeePullUp",29:"weightedBurpeePullUp",30:"jumpingPullUps",31:"weightedJumpingPullUps",32:"kippingPullUp",33:"weightedKippingPullUp",34:"lPullUp",35:"weightedLPullUp",36:"suspendedChinUp",37:"weightedSuspendedChinUp",38:"pullUp",39:"chinUp",40:"neutralGripChinUp",41:"weightedChinUp",42:"bandAssistedPullUp",43:"neutralGripPullUp",44:"weightedNeutralGripChinUp",45:"weightedNeutralGripPullUp"},pushUpExerciseName:{0:"chestPressWithBand",1:"alternatingStaggeredPushUp",2:"weightedAlternatingStaggeredPushUp",3:"alternatingHandsMedicineBallPushUp",4:"weightedAlternatingHandsMedicineBallPushUp",5:"bosuBallPushUp",6:"weightedBosuBallPushUp",7:"clappingPushUp",8:"weightedClappingPushUp",9:"closeGripMedicineBallPushUp",10:"weightedCloseGripMedicineBallPushUp",11:"closeHandsPushUp",12:"weightedCloseHandsPushUp",13:"declinePushUp",14:"weightedDeclinePushUp",15:"diamondPushUp",16:"weightedDiamondPushUp",17:"explosiveCrossoverPushUp",18:"weightedExplosiveCrossoverPushUp",19:"explosivePushUp",20:"weightedExplosivePushUp",21:"feetElevatedSideToSidePushUp",22:"weightedFeetElevatedSideToSidePushUp",23:"handReleasePushUp",24:"weightedHandReleasePushUp",25:"handstandPushUp",26:"weightedHandstandPushUp",27:"inclinePushUp",28:"weightedInclinePushUp",29:"isometricExplosivePushUp",30:"weightedIsometricExplosivePushUp",31:"judoPushUp",32:"weightedJudoPushUp",33:"kneelingPushUp",34:"weightedKneelingPushUp",35:"medicineBallChestPass",36:"medicineBallPushUp",37:"weightedMedicineBallPushUp",38:"oneArmPushUp",39:"weightedOneArmPushUp",40:"weightedPushUp",41:"pushUpAndRow",42:"weightedPushUpAndRow",43:"pushUpPlus",44:"weightedPushUpPlus",45:"pushUpWithFeetOnSwissBall",46:"weightedPushUpWithFeetOnSwissBall",47:"pushUpWithOneHandOnMedicineBall",48:"weightedPushUpWithOneHandOnMedicineBall",49:"shoulderPushUp",50:"weightedShoulderPushUp",51:"singleArmMedicineBallPushUp",52:"weightedSingleArmMedicineBallPushUp",53:"spidermanPushUp",54:"weightedSpidermanPushUp",55:"stackedFeetPushUp",56:"weightedStackedFeetPushUp",57:"staggeredHandsPushUp",58:"weightedStaggeredHandsPushUp",59:"suspendedPushUp",60:"weightedSuspendedPushUp",61:"swissBallPushUp",62:"weightedSwissBallPushUp",63:"swissBallPushUpPlus",64:"weightedSwissBallPushUpPlus",65:"tPushUp",66:"weightedTPushUp",67:"tripleStopPushUp",68:"weightedTripleStopPushUp",69:"wideHandsPushUp",70:"weightedWideHandsPushUp",71:"paralletteHandstandPushUp",72:"weightedParalletteHandstandPushUp",73:"ringHandstandPushUp",74:"weightedRingHandstandPushUp",75:"ringPushUp",76:"weightedRingPushUp",77:"pushUp",78:"pilatesPushup",79:"dynamicPushUp",80:"kippingHandstandPushUp",81:"shoulderTappingPushUp",82:"bicepsPushUp",83:"hinduPushUp",84:"pikePushUp",85:"wideGripPushUp",86:"weightedBicepsPushUp",87:"weightedHinduPushUp",88:"weightedPikePushUp",89:"kippingParalletteHandstandPushUp",90:"wallPushUp"},rowExerciseName:{0:"barbellStraightLegDeadliftToRow",1:"cableRowStanding",2:"dumbbellRow",3:"elevatedFeetInvertedRow",4:"weightedElevatedFeetInvertedRow",5:"facePull",6:"facePullWithExternalRotation",7:"invertedRowWithFeetOnSwissBall",8:"weightedInvertedRowWithFeetOnSwissBall",9:"kettlebellRow",10:"modifiedInvertedRow",11:"weightedModifiedInvertedRow",12:"neutralGripAlternatingDumbbellRow",13:"oneArmBentOverRow",14:"oneLeggedDumbbellRow",15:"renegadeRow",16:"reverseGripBarbellRow",17:"ropeHandleCableRow",18:"seatedCableRow",19:"seatedDumbbellRow",20:"singleArmCableRow",21:"singleArmCableRowAndRotation",22:"singleArmInvertedRow",23:"weightedSingleArmInvertedRow",24:"singleArmNeutralGripDumbbellRow",25:"singleArmNeutralGripDumbbellRowAndRotation",26:"suspendedInvertedRow",27:"weightedSuspendedInvertedRow",28:"tBarRow",29:"towelGripInvertedRow",30:"weightedTowelGripInvertedRow",31:"underhandGripCableRow",32:"vGripCableRow",33:"wideGripSeatedCableRow",34:"alternatingDumbbellRow",35:"invertedRow",36:"row",37:"weightedRow",38:"indoorRow",39:"bandedFacePulls",40:"chestSupportedDumbbellRow",41:"declineRingRow",42:"elevatedRingRow",43:"rdlBentOverRowWithBarbellDumbbell",44:"ringRow",45:"barbellRow",46:"bentOverRowWithBarbell",47:"bentOverRowWithDumbell",48:"seatedUnderhandGripCableRow",49:"trxInvertedRow",50:"weightedInvertedRow",51:"weightedTrxInvertedRow",52:"dumbbellRowWheelchair"},shoulderPressExerciseName:{0:"alternatingDumbbellShoulderPress",1:"arnoldPress",2:"barbellFrontSquatToPushPress",3:"barbellPushPress",4:"barbellShoulderPress",5:"deadCurlPress",6:"dumbbellAlternatingShoulderPressAndTwist",7:"dumbbellHammerCurlToLungeToPress",8:"dumbbellPushPress",9:"floorInvertedShoulderPress",10:"weightedFloorInvertedShoulderPress",11:"invertedShoulderPress",12:"weightedInvertedShoulderPress",13:"oneArmPushPress",14:"overheadBarbellPress",15:"overheadDumbbellPress",16:"seatedBarbellShoulderPress",17:"seatedDumbbellShoulderPress",18:"singleArmDumbbellShoulderPress",19:"singleArmStepUpAndPress",20:"smithMachineOverheadPress",21:"splitStanceHammerCurlToPress",22:"swissBallDumbbellShoulderPress",23:"weightPlateFrontRaise",24:"dumbbellShoulderPress",25:"militaryPress",27:"strictPress",28:"dumbbellFrontRaise",29:"dumbbellCurlToOverheadPressWheelchair",30:"arnoldPressWheelchair",31:"overheadDumbbellPressWheelchair"},shoulderStabilityExerciseName:{0:"90DegreeCableExternalRotation",1:"bandExternalRotation",2:"bandInternalRotation",3:"bentArmLateralRaiseAndExternalRotation",4:"cableExternalRotation",5:"dumbbellFacePullWithExternalRotation",6:"floorIRaise",7:"weightedFloorIRaise",8:"floorTRaise",9:"weightedFloorTRaise",10:"floorYRaise",11:"weightedFloorYRaise",12:"inclineIRaise",13:"weightedInclineIRaise",14:"inclineLRaise",15:"weightedInclineLRaise",16:"inclineTRaise",17:"weightedInclineTRaise",18:"inclineWRaise",19:"weightedInclineWRaise",20:"inclineYRaise",21:"weightedInclineYRaise",22:"lyingExternalRotation",23:"seatedDumbbellExternalRotation",24:"standingLRaise",25:"swissBallIRaise",26:"weightedSwissBallIRaise",27:"swissBallTRaise",28:"weightedSwissBallTRaise",29:"swissBallWRaise",30:"weightedSwissBallWRaise",31:"swissBallYRaise",32:"weightedSwissBallYRaise",33:"cableInternalRotation",34:"lyingInternalRotation",35:"seatedDumbbellInternalRotation"},shrugExerciseName:{0:"barbellJumpShrug",1:"barbellShrug",2:"barbellUprightRow",3:"behindTheBackSmithMachineShrug",4:"dumbbellJumpShrug",5:"dumbbellShrug",6:"dumbbellUprightRow",7:"inclineDumbbellShrug",8:"overheadBarbellShrug",9:"overheadDumbbellShrug",10:"scaptionAndShrug",11:"scapularRetraction",12:"serratusChairShrug",13:"weightedSerratusChairShrug",14:"serratusShrug",15:"weightedSerratusShrug",16:"wideGripJumpShrug",17:"wideGripBarbellShrug",18:"behindTheBackShrug",19:"dumbbellShrugWheelchair",20:"shrugWheelchair",21:"shrugArmDownWheelchair",22:"shrugArmMidWheelchair",23:"shrugArmUpWheelchair",24:"uprightRow"},sitUpExerciseName:{0:"alternatingSitUp",1:"weightedAlternatingSitUp",2:"bentKneeVUp",3:"weightedBentKneeVUp",4:"butterflySitUp",5:"weightedButterflySitup",6:"crossPunchRollUp",7:"weightedCrossPunchRollUp",8:"crossedArmsSitUp",9:"weightedCrossedArmsSitUp",10:"getUpSitUp",11:"weightedGetUpSitUp",12:"hoveringSitUp",13:"weightedHoveringSitUp",14:"kettlebellSitUp",15:"medicineBallAlternatingVUp",16:"medicineBallSitUp",17:"medicineBallVUp",18:"modifiedSitUp",19:"negativeSitUp",20:"oneArmFullSitUp",21:"recliningCircle",22:"weightedRecliningCircle",23:"reverseCurlUp",24:"weightedReverseCurlUp",25:"singleLegSwissBallJackknife",26:"weightedSingleLegSwissBallJackknife",27:"theTeaser",28:"theTeaserWeighted",29:"threePartRollDown",30:"weightedThreePartRollDown",31:"vUp",32:"weightedVUp",33:"weightedRussianTwistOnSwissBall",34:"weightedSitUp",35:"xAbs",36:"weightedXAbs",37:"sitUp",38:"ghdSitUps",39:"sitUpTurkishGetUp",40:"russianTwistOnSwissBall"},squatExerciseName:{0:"legPress",1:"backSquatWithBodyBar",2:"backSquats",3:"weightedBackSquats",4:"balancingSquat",5:"weightedBalancingSquat",6:"barbellBackSquat",7:"barbellBoxSquat",8:"barbellFrontSquat",9:"barbellHackSquat",10:"barbellHangSquatSnatch",11:"barbellLateralStepUp",12:"barbellQuarterSquat",13:"barbellSiffSquat",14:"barbellSquatSnatch",15:"barbellSquatWithHeelsRaised",16:"barbellStepover",17:"barbellStepUp",18:"benchSquatWithRotationalChop",19:"weightedBenchSquatWithRotationalChop",20:"bodyWeightWallSquat",21:"weightedWallSquat",22:"boxStepSquat",23:"weightedBoxStepSquat",24:"bracedSquat",25:"crossedArmBarbellFrontSquat",26:"crossoverDumbbellStepUp",27:"dumbbellFrontSquat",28:"dumbbellSplitSquat",29:"dumbbellSquat",30:"dumbbellSquatClean",31:"dumbbellStepover",32:"dumbbellStepUp",33:"elevatedSingleLegSquat",34:"weightedElevatedSingleLegSquat",35:"figureFourSquats",36:"weightedFigureFourSquats",37:"gobletSquat",38:"kettlebellSquat",39:"kettlebellSwingOverhead",40:"kettlebellSwingWithFlipToSquat",41:"lateralDumbbellStepUp",42:"oneLeggedSquat",43:"overheadDumbbellSquat",44:"overheadSquat",45:"partialSingleLegSquat",46:"weightedPartialSingleLegSquat",47:"pistolSquat",48:"weightedPistolSquat",49:"plieSlides",50:"weightedPlieSlides",51:"plieSquat",52:"weightedPlieSquat",53:"prisonerSquat",54:"weightedPrisonerSquat",55:"singleLegBenchGetUp",56:"weightedSingleLegBenchGetUp",57:"singleLegBenchSquat",58:"weightedSingleLegBenchSquat",59:"singleLegSquatOnSwissBall",60:"weightedSingleLegSquatOnSwissBall",61:"squat",62:"weightedSquat",63:"squatsWithBand",64:"staggeredSquat",65:"weightedStaggeredSquat",66:"stepUp",67:"weightedStepUp",68:"suitcaseSquats",69:"sumoSquat",70:"sumoSquatSlideIn",71:"weightedSumoSquatSlideIn",72:"sumoSquatToHighPull",73:"sumoSquatToStand",74:"weightedSumoSquatToStand",75:"sumoSquatWithRotation",76:"weightedSumoSquatWithRotation",77:"swissBallBodyWeightWallSquat",78:"weightedSwissBallWallSquat",79:"thrusters",80:"unevenSquat",81:"weightedUnevenSquat",82:"waistSlimmingSquat",83:"wallBall",84:"wideStanceBarbellSquat",85:"wideStanceGobletSquat",86:"zercherSquat",87:"kbsOverhead",88:"squatAndSideKick",89:"squatJumpsInNOut",90:"pilatesPlieSquatsParallelTurnedOutFlatAndHeels",91:"releveStraightLegAndKneeBentWithOneLegVariation",92:"alternatingBoxDumbbellStepUps",93:"dumbbellOverheadSquatSingleArm",94:"dumbbellSquatSnatch",95:"medicineBallSquat",97:"wallBallSquatAndPress",98:"squatAmericanSwing",100:"airSquat",101:"dumbbellThrusters",102:"overheadBarbellSquat"},totalBodyExerciseName:{0:"burpee",1:"weightedBurpee",2:"burpeeBoxJump",3:"weightedBurpeeBoxJump",4:"highPullBurpee",5:"manMakers",6:"oneArmBurpee",7:"squatThrusts",8:"weightedSquatThrusts",9:"squatPlankPushUp",10:"weightedSquatPlankPushUp",11:"standingTRotationBalance",12:"weightedStandingTRotationBalance",13:"barbellBurpee",15:"burpeeBoxJumpOverYesLiterallyJumpingOverTheBox",16:"burpeeBoxJumpStepUpOver",17:"lateralBarbellBurpee",18:"totalBodyBurpeeOverBar",19:"burpeeBoxJumpOver",20:"burpeeWheelchair"},moveExerciseName:{0:"archAndCurl",1:"armCirclesWithBallBandAndWeight",2:"armStretch",3:"backMassage",4:"bellyBreathing",5:"bridgeWithBall",6:"diamondLegCrunch",7:"diamondLegLift",8:"eightPointShoulderOpener",9:"footRolling",10:"footwork",11:"footworkOnDisc",12:"forwardFold",13:"frogWithBand",14:"halfRollUp",15:"hamstringCurl",16:"hamstringStretch",17:"hipStretch",18:"hugATreeWithBallBandAndWeight",19:"kneeCircles",20:"kneeFoldsOnDisc",21:"lateralFlexion",22:"legStretchWithBand",23:"legStretchWithLegCircles",24:"lowerLiftOnDisc",25:"lungeSquat",26:"lungesWithKneeLift",27:"mermaidStretch",28:"neutralPelvicPosition",29:"pelvicClocksOnDisc",30:"pilatesPlieSquatsParallelTurnedOutFlatAndHeelsWithChair",31:"piriformisStretch",32:"plankKneeCrosses",33:"plankKneePulls",34:"plankUpDowns",35:"prayerMudra",36:"psoasLungeStretch",37:"ribcageBreathing",38:"rollDown",39:"rollUpWithWeightAndBand",40:"saw",41:"scapularStabilization",42:"scissorsOnDisc",43:"seatedHipStretchup",44:"seatedTwist",45:"shavingTheHeadWithBallBandAndWeight",46:"spinalTwist",47:"spinalTwistStretch",48:"spineStretchForward",49:"squatOpenArmTwistPose",50:"squatsWithBall",51:"standAndHang",52:"standingSideStretch",53:"standingSingleLegForwardBendWithItBandOpener",54:"straightLegCrunchWithLegLift",55:"straightLegCrunchWithLegLiftWithBall",56:"straightLegCrunchWithLegsCrossed",57:"straightLegCrunchWithLegsCrossedWithBall",58:"straightLegDiagonalCrunch",59:"straightLegDiagonalCrunchWithBall",60:"tailboneCurl",61:"throatLock",62:"tickTockSideRoll",63:"twist",64:"vLegCrunches",65:"vSit",66:"forwardFoldWheelchair",67:"forwardFoldPlusWheelchair",68:"armCirclesLowForwardWheelchair",69:"armCirclesMidForwardWheelchair",70:"armCirclesHighForwardWheelchair",71:"armCirclesLowBackwardWheelchair",72:"armCirclesMidBackwardWheelchair",73:"armCirclesHighBackwardWheelchair",74:"coreTwistsWheelchair",75:"armRaiseWheelchair",76:"chestExpandWheelchair",77:"armExtendWheelchair",78:"forwardBendWheelchair",79:"toeTouchWheelchair",80:"extendedToeTouchWheelchair",81:"seatedArmCircles",82:"trunkRotations",83:"seatedTrunkRotations",84:"toeTouch"},poseExerciseName:{0:"allFours",1:"ankleToKnee",2:"babyCobra",3:"boat",4:"boundAngle",5:"boundSeatedSingleLegForwardBend",6:"bow",7:"bowedHalfMoon",8:"bridge",9:"cat",10:"chair",11:"childs",12:"corpse",13:"cowFace",14:"cow",15:"devotionalWarrior",16:"dolphinPlank",17:"dolphin",18:"downDogKneeToNose",19:"downDogSplit",20:"downDogSplitOpenHipBentKnee",21:"downwardFacingDog",22:"eagle",23:"easySeated",24:"extendedPuppy",25:"extendedSideAngle",26:"fish",27:"fourLimbedStaff",28:"fullSplit",29:"gate",30:"halfChairHalfAnkleToKnee",31:"halfMoon",32:"headToKnee",33:"heron",34:"heros",35:"highLunge",36:"kneesChestChin",37:"lizard",38:"locust",39:"lowLunge",40:"lowLungeTwist",41:"lowLungeWithKneeDown",42:"mermaid",43:"mountain",44:"oneLeggedDownwardFacingPoseOpenHipBentKnee",45:"oneLeggedPigeon",46:"peacefulWarrior",47:"plank",48:"plow",49:"reclinedHandToFoot",50:"revolvedHalfMoon",51:"revolvedHeadToKnee",52:"revolvedTriangle",53:"runnersLunge",54:"seatedEasySideBend",55:"seatedEasyTwist",56:"seatedLongLegForwardBend",57:"seatedWideLegForwardBend",58:"shoulderStand",59:"sideBoat",60:"sidePlank",61:"sphinx",62:"squatOpenArmTwist",63:"squatPalmPress",64:"staff",65:"standingArmsUp",66:"standingForwardBendHalfwayUp",67:"standingForwardBend",68:"standingSideOpener",69:"standingSingleLegForwardBend",70:"standingSplit",71:"standingWideLegForwardBend",72:"standingWideLegForwardBendWithTwist",73:"supineSpinalTwist",74:"tableTop",75:"threadTheNeedle",76:"thunderbolt",77:"thunderboltPoseBothSidesArmStretch",78:"tree",79:"triangle",80:"upDog",81:"upwardFacingPlank",82:"warriorOne",83:"warriorThree",84:"warriorTwo",85:"wheel",86:"wideSideLunge",87:"deepBreathingWheelchair",88:"deepBreathingLowWheelchair",89:"deepBreathingMidWheelchair",90:"deepBreathingHighWheelchair",91:"prayerWheelchair",92:"overheadPrayerWheelchair",93:"cactusWheelchair",94:"breathingPunchesWheelchair",95:"breathingPunchesExtendedWheelchair",96:"breathingPunchesOverheadWheelchair",97:"breathingPunchesOverheadAndDownWheelchair",98:"breathingPunchesSideWheelchair",99:"breathingPunchesExtendedSideWheelchair",100:"breathingPunchesOverheadSideWheelchair",101:"breathingPunchesOverheadAndDownSideWheelchair",102:"leftHandBackWheelchair",103:"triangleWheelchair",104:"threadTheNeedleWheelchair",105:"neckFlexionAndExtensionWheelchair",106:"neckLateralFlexionWheelchair",107:"spineFlexionAndExtensionWheelchair",108:"spineRotationWheelchair",109:"spineLateralFlexionWheelchair",110:"alternativeSkiingWheelchair",111:"reachForwardWheelchair",112:"warriorWheelchair",113:"reverseWarriorWheelchair",114:"downwardFacingDogToCobra",115:"seatedCatCow"},tricepsExtensionExerciseName:{0:"benchDip",1:"weightedBenchDip",2:"bodyWeightDip",3:"cableKickback",4:"cableLyingTricepsExtension",5:"cableOverheadTricepsExtension",6:"dumbbellKickback",7:"dumbbellLyingTricepsExtension",8:"ezBarOverheadTricepsExtension",9:"inclineDip",10:"weightedInclineDip",11:"inclineEzBarLyingTricepsExtension",12:"lyingDumbbellPulloverToExtension",13:"lyingEzBarTricepsExtension",14:"lyingTricepsExtensionToCloseGripBenchPress",15:"overheadDumbbellTricepsExtension",16:"recliningTricepsPress",17:"reverseGripPressdown",18:"reverseGripTricepsPressdown",19:"ropePressdown",20:"seatedBarbellOverheadTricepsExtension",21:"seatedDumbbellOverheadTricepsExtension",22:"seatedEzBarOverheadTricepsExtension",23:"seatedSingleArmOverheadDumbbellExtension",24:"singleArmDumbbellOverheadTricepsExtension",25:"singleDumbbellSeatedOverheadTricepsExtension",26:"singleLegBenchDipAndKick",27:"weightedSingleLegBenchDipAndKick",28:"singleLegDip",29:"weightedSingleLegDip",30:"staticLyingTricepsExtension",31:"suspendedDip",32:"weightedSuspendedDip",33:"swissBallDumbbellLyingTricepsExtension",34:"swissBallEzBarLyingTricepsExtension",35:"swissBallEzBarOverheadTricepsExtension",36:"tabletopDip",37:"weightedTabletopDip",38:"tricepsExtensionOnFloor",39:"tricepsPressdown",40:"weightedDip",41:"alternatingDumbbellLyingTricepsExtension",42:"tricepsPress",43:"dumbbellKickbackWheelchair",44:"overheadDumbbellTricepsExtensionWheelchair"},warmUpExerciseName:{0:"quadrupedRocking",1:"neckTilts",2:"ankleCircles",3:"ankleDorsiflexionWithBand",4:"ankleInternalRotation",5:"armCircles",6:"bentOverReachToSky",7:"catCamel",8:"elbowToFootLunge",9:"forwardAndBackwardLegSwings",10:"groiners",11:"invertedHamstringStretch",12:"lateralDuckUnder",13:"neckRotations",14:"oppositeArmAndLegBalance",15:"reachRollAndLift",16:"scorpion",17:"shoulderCircles",18:"sideToSideLegSwings",19:"sleeperStretch",20:"slideOut",21:"swissBallHipCrossover",22:"swissBallReachRollAndLift",23:"swissBallWindshieldWipers",24:"thoracicRotation",25:"walkingHighKicks",26:"walkingHighKnees",27:"walkingKneeHugs",28:"walkingLegCradles",29:"walkout",30:"walkoutFromPushUpPosition",31:"bicepsStretch",32:"glutesStretch",33:"standingHamstringStretch",34:"stretch90_90",35:"stretchAbs",36:"stretchButterfly",37:"stretchCalf",38:"stretchCatCow",39:"stretchChildsPose",40:"stretchCobra",41:"stretchForearms",42:"stretchForwardGlutes",43:"stretchFrontSplit",44:"stretchHamstring",45:"stretchHipFlexorAndQuad",46:"stretchLat",47:"stretchLevatorScapulae",48:"stretchLungeWithSpinalTwist",49:"stretchLungingHipFlexor",50:"stretchLyingAbduction",51:"stretchLyingItBand",52:"stretchLyingKneeToChest",53:"stretchLyingPiriformis",54:"stretchLyingSpinalTwist",55:"stretchNeck",56:"stretchObliques",57:"stretchOverUnderShoulder",58:"stretchPectoral",59:"stretchPigeonPose",60:"stretchPiriformis",61:"stretchQuad",62:"stretchScorpion",63:"stretchShoulder",64:"stretchSide",65:"stretchSideLunge",66:"stretchSideSplit",67:"stretchStandingItBand",68:"stretchStraddle",69:"stretchTriceps",70:"stretchWallChestAndShoulder",71:"neckRotationsWheelchair",72:"halfKneelingArmRotation",73:"threeWayAnkleMobilization",74:"ninetyNinetyHipSwitch",75:"activeFrog",76:"shoulderSweeps",77:"ankleLunges",78:"backRollFoamRoller",79:"bearCrawl",80:"latissimusDorsiFoamRoll",81:"reverseTHipOpener",82:"shoulderRolls",83:"chestOpeners",84:"tricepsStretch",85:"upperBackStretch",86:"hipCircles",87:"ankleStretch",88:"marchingInPlace",89:"tricepsStretchWheelchair",90:"upperBackStretchWheelchair"},runExerciseName:{0:"run",1:"walk",2:"jog",3:"sprint",4:"runOrWalk",5:"speedWalk",6:"warmUp"},bikeExerciseName:{0:"bike",1:"ride",2:"sprint"},bandedExercisesExerciseName:{1:"abTwist",2:"backExtension",3:"bicycleCrunch",4:"calfRaises",5:"chestPress",6:"clamShells",7:"curl",8:"deadbug",9:"deadlift",10:"donkeyKick",11:"externalRotation",12:"externalRotationAt90DegreeAbduction",13:"facePull",14:"fireHydrant",15:"fly",16:"frontRaise",17:"gluteBridge",18:"hamstringCurls",19:"highPlankLegLifts",20:"hipExtension",21:"internalRotation",22:"jumpingJack",23:"kneelingCrunch",24:"lateralBandWalks",25:"lateralRaise",26:"latpull",27:"legAbduction",28:"legAdduction",29:"legExtension",30:"lunge",31:"plank",32:"pullApart",33:"pushUps",34:"reverseCrunch",35:"row",36:"shoulderAbduction",37:"shoulderExtension",38:"shoulderExternalRotation",39:"shoulderFlexionTo90Degrees",40:"sidePlankLegLifts",41:"sideRaise",42:"squat",43:"squatToPress",44:"tricepExtension",45:"tricepKickback",46:"uprightRow",47:"wallCrawlWithExternalRotation",49:"lateralRaiseWheelchair",50:"tricepsExtensionWheelchair",51:"chestFlyInclineWheelchair",52:"chestFlyDeclineWheelchair",53:"pullDownWheelchair",54:"straightArmPullDownWheelchair",55:"curlWheelchair",56:"overheadCurlWheelchair",57:"facePullWheelchair",58:"aroundTheWorldWheelchair",59:"pullApartWheelchair",60:"sideCurlWheelchair",61:"overheadPressWheelchair"},battleRopeExerciseName:{0:"alternatingFigureEight",1:"alternatingJumpWave",2:"alternatingKneelingToStandingWave",3:"alternatingLungeWave",4:"alternatingSquatWave",5:"alternatingWave",6:"alternatingWaveWithLateralShuffle",7:"clapWave",8:"doubleArmFigureEight",9:"doubleArmSideToSideSnake",10:"doubleArmSideWave",11:"doubleArmSlam",12:"doubleArmWave",13:"grapplerToss",14:"hipToss",15:"inAndOutWave",16:"insideCircle",17:"jumpingJacks",18:"outsideCircle",19:"rainbow",20:"sidePlankWave",21:"sidewinder",22:"sittingRussianTwist",23:"snakeWave",24:"splitJack",25:"stageCoach",26:"ultimateWarrior",27:"upperCuts"},ellipticalExerciseName:{0:"elliptical"},floorClimbExerciseName:{0:"floorClimb"},indoorBikeExerciseName:{0:"airBike",1:"assaultBike",3:"stationaryBike"},indoorRowExerciseName:{0:"rowingMachine"},ladderExerciseName:{0:"agility",1:"speed"},sandbagExerciseName:{0:"aroundTheWorld",1:"backSquat",2:"bearCrawlPullThrough",3:"bearHugSquat",4:"clean",5:"cleanAndPress",6:"curl",7:"frontCarry",8:"frontSquat",9:"lunge",10:"overheadPress",11:"plankPullThrough",12:"rotationalLunge",13:"row",14:"russianTwist",15:"shouldering",16:"shoveling",17:"sideLunge",18:"sprint",19:"zercherSquat"},sledExerciseName:{0:"backwardDrag",1:"chestPress",2:"forwardDrag",3:"lowPush",4:"push",5:"row"},sledgeHammerExerciseName:{0:"lateralSwing",1:"hammerSlam"},stairStepperExerciseName:{0:"stairStepper"},suspensionExerciseName:{0:"chestFly",1:"chestPress",2:"crunch",3:"curl",4:"dip",5:"facePull",6:"gluteBridge",7:"hamstringCurl",8:"hipDrop",9:"invertedRow",10:"kneeDriveJump",11:"kneeToChest",12:"latPullover",13:"lunge",14:"mountainClimber",15:"pendulum",16:"pike",17:"plank",18:"powerPull",19:"pullUp",20:"pushUp",21:"reverseMountainClimber",22:"reversePlank",23:"rollout",24:"row",25:"sideLunge",26:"sidePlank",27:"singleLegDeadlift",28:"singleLegSquat",29:"sitUp",30:"split",31:"squat",32:"squatJump",33:"tricepPress",34:"yFly"},tireExerciseName:{0:"flip"},bikeOutdoorExerciseName:{0:"bike"},runIndoorExerciseName:{0:"indoorTrackRun",1:"treadmill"},waterType:{0:"fresh",1:"salt",2:"en13319",3:"custom"},tissueModelType:{0:"zhl16c"},diveGasStatus:{0:"disabled",1:"enabled",2:"backupOnly"},diveAlert:{0:"ndlReached",1:"gasSwitchPrompted",2:"nearSurface",3:"approachingNdl",4:"po2Warn",5:"po2CritHigh",6:"po2CritLow",7:"timeAlert",8:"depthAlert",9:"decoCeilingBroken",10:"decoComplete",11:"safetyStopBroken",12:"safetyStopComplete",13:"cnsWarning",14:"cnsCritical",15:"otuWarning",16:"otuCritical",17:"ascentCritical",18:"alertDismissedByKey",19:"alertDismissedByTimeout",20:"batteryLow",21:"batteryCritical",22:"safetyStopStarted",23:"approachingFirstDecoStop",24:"setpointSwitchAutoLow",25:"setpointSwitchAutoHigh",26:"setpointSwitchManualLow",27:"setpointSwitchManualHigh",28:"autoSetpointSwitchIgnored",29:"switchedToOpenCircuit",30:"switchedToClosedCircuit",32:"tankBatteryLow",33:"po2CcrDilLow",34:"decoStopCleared",35:"apneaNeutralBuoyancy",36:"apneaTargetDepth",37:"apneaSurface",38:"apneaHighSpeed",39:"apneaLowSpeed"},diveAlarmType:{0:"depth",1:"time",2:"speed"},diveBacklightMode:{0:"atDepth",1:"alwaysOn"},sleepLevel:{0:"unmeasurable",1:"awake",2:"light",3:"deep",4:"rem"},spo2MeasurementType:{0:"offWrist",1:"spotCheck",2:"continuousCheck",3:"periodic"},ccrSetpointSwitchMode:{0:"manual",1:"automatic"},diveGasMode:{0:"openCircuit",1:"closedCircuitDiluent"},projectileType:{0:"arrow",1:"rifleCartridge",2:"pistolCartridge",3:"shotshell",4:"airRiflePellet",5:"other"},faveroProduct:{10:"assiomaUno",12:"assiomaDuo"},splitType:{1:"ascentSplit",2:"descentSplit",3:"intervalActive",4:"intervalRest",5:"intervalWarmup",6:"intervalCooldown",7:"intervalRecovery",8:"intervalOther",9:"climbActive",10:"climbRest",11:"surfActive",12:"runActive",13:"runRest",14:"workoutRound",17:"rwdRun",18:"rwdWalk",21:"windsurfActive",22:"rwdStand",23:"transition",28:"skiLiftSplit",29:"skiRunSplit"},climbProEvent:{0:"approach",1:"start",2:"complete"},gasConsumptionRateType:{0:"pressureSac",1:"volumeSac",2:"rmv"},tapSensitivity:{0:"high",1:"medium",2:"low"},radarThreatLevelType:{0:"threatUnknown",1:"threatNone",2:"threatApproaching",3:"threatApproachingFast"},sleepDisruptionSeverity:{0:"none",1:"low",2:"medium",3:"high"},maxMetSpeedSource:{0:"onboardGps",1:"connectedGps",2:"cadence"},maxMetHeartRateSource:{0:"whr",1:"hrm"},hrvStatus:{0:"none",1:"poor",2:"low",3:"unbalanced",4:"balanced"},noFlyTimeMode:{0:"standard",1:"flat24Hours"}},MesgNum:{FILE_ID:0,FILE_CREATOR:49,TIMESTAMP_CORRELATION:162,SOFTWARE:35,SLAVE_DEVICE:106,CAPABILITIES:1,FILE_CAPABILITIES:37,MESG_CAPABILITIES:38,FIELD_CAPABILITIES:39,DEVICE_SETTINGS:2,USER_PROFILE:3,HRM_PROFILE:4,SDM_PROFILE:5,BIKE_PROFILE:6,CONNECTIVITY:127,WATCHFACE_SETTINGS:159,OHR_SETTINGS:188,TIME_IN_ZONE:216,ZONES_TARGET:7,SPORT:12,HR_ZONE:8,SPEED_ZONE:53,CADENCE_ZONE:131,POWER_ZONE:9,MET_ZONE:10,TRAINING_SETTINGS:13,DIVE_SETTINGS:258,DIVE_ALARM:262,DIVE_APNEA_ALARM:393,DIVE_GAS:259,GOAL:15,ACTIVITY:34,SESSION:18,LAP:19,LENGTH:101,RECORD:20,EVENT:21,DEVICE_INFO:23,DEVICE_AUX_BATTERY_INFO:375,TRAINING_FILE:72,WEATHER_CONDITIONS:128,WEATHER_ALERT:129,GPS_METADATA:160,CAMERA_EVENT:161,GYROSCOPE_DATA:164,ACCELEROMETER_DATA:165,MAGNETOMETER_DATA:208,BAROMETER_DATA:209,THREE_D_SENSOR_CALIBRATION:167,ONE_D_SENSOR_CALIBRATION:210,VIDEO_FRAME:169,OBDII_DATA:174,NMEA_SENTENCE:177,AVIATION_ATTITUDE:178,VIDEO:184,VIDEO_TITLE:185,VIDEO_DESCRIPTION:186,VIDEO_CLIP:187,SET:225,JUMP:285,SPLIT:312,SPLIT_SUMMARY:313,CLIMB_PRO:317,FIELD_DESCRIPTION:206,DEVELOPER_DATA_ID:207,COURSE:31,COURSE_POINT:32,SEGMENT_ID:148,SEGMENT_LEADERBOARD_ENTRY:149,SEGMENT_POINT:150,SEGMENT_LAP:142,SEGMENT_FILE:151,WORKOUT:26,WORKOUT_SESSION:158,WORKOUT_STEP:27,EXERCISE_TITLE:264,SCHEDULE:28,TOTALS:33,WEIGHT_SCALE:30,BLOOD_PRESSURE:51,MONITORING_INFO:103,MONITORING:55,MONITORING_HR_DATA:211,SPO2_DATA:269,HR:132,STRESS_LEVEL:227,MAX_MET_DATA:229,HSA_BODY_BATTERY_DATA:314,HSA_EVENT:315,HSA_ACCELEROMETER_DATA:302,HSA_GYROSCOPE_DATA:376,HSA_STEP_DATA:304,HSA_SPO2_DATA:305,HSA_STRESS_DATA:306,HSA_RESPIRATION_DATA:307,HSA_HEART_RATE_DATA:308,HSA_CONFIGURATION_DATA:389,HSA_WRIST_TEMPERATURE_DATA:409,MEMO_GLOB:145,SLEEP_LEVEL:275,ANT_CHANNEL_ID:82,ANT_RX:80,ANT_TX:81,EXD_SCREEN_CONFIGURATION:200,EXD_DATA_FIELD_CONFIGURATION:201,EXD_DATA_CONCEPT_CONFIGURATION:202,DIVE_SUMMARY:268,AAD_ACCEL_FEATURES:289,HRV:78,BEAT_INTERVALS:290,HRV_STATUS_SUMMARY:370,HRV_VALUE:371,RAW_BBI:372,RESPIRATION_RATE:297,CHRONO_SHOT_SESSION:387,CHRONO_SHOT_DATA:388,TANK_UPDATE:319,TANK_SUMMARY:323,SLEEP_ASSESSMENT:346,SLEEP_DISRUPTION_SEVERITY_PERIOD:470,SLEEP_DISRUPTION_OVERNIGHT_SEVERITY:471,SKIN_TEMP_OVERNIGHT:398,PAD:105}},kl=new TextEncoder;class Sl{globalMessageNumber;localMesgNum;fieldDefinitions=[];developerFieldDefinitions=[];constructor(s,t,{fieldDescriptions:a=null}={}){try{if(t==null)throw new Error("mesg is missing or null");if(s==null)throw new Error("mesgNum is missing or null");const i=Ds.messages[s];if(i==null)throw new Error(`mesgNum: ${s} could not be found in the Profile`);if(this.globalMessageNumber=s,this.localMesgNum=0,Object.keys(t).forEach(n=>{if(t[n]==null)return;const o=Object.entries(i.fields).find(([,g])=>g.name===n);if(o==null)return;const l=le.FieldTypeToBaseType[o[1].baseType],r=le.BaseTypeDefinitions[l];let m=o[1].components.length>1?le.FIELD_DEFAULT_SCALE:o[1].scale,y=o[1].components.length>1?le.FIELD_DEFAULT_OFFSET:o[1].offset;m=Array.isArray(m)?m[0]:m??le.FIELD_DEFAULT_SCALE,y=Array.isArray(y)?y[0]:y??le.FIELD_DEFAULT_OFFSET,this.fieldDefinitions.push({name:n,num:o[1].num,size:this.#s(t[n],r),baseType:l,type:o[1].type,scale:m,offset:y,components:o[1].components})}),Object.keys(t.developerFields??{})?.sort()?.forEach(n=>{const{developerDataIdMesg:o,fieldDescriptionMesg:l}=this.#e(a,n),r=le.BaseTypeDefinitions[l.fitBaseTypeId];this.developerFieldDefinitions.push({key:n,baseType:l.fitBaseTypeId,fieldDefinitionNumber:l.fieldDefinitionNumber,size:this.#s(t.developerFields[n],r),developerDataIndex:o.developerDataIndex})}),this.fieldDefinitions.length===0)throw new Error("No valid fields were found in the message");if(this.fieldDefinitions.some(n=>n.size>le.MAX_FIELD_SIZE))throw new Error(`Some field sizes are greater than ${le.MAX_FIELD_SIZE}`,{cause:this.fieldDefinitions})}catch(i){throw new Error("Could not construct MesgDefinition from Message",{cause:{cause:{message:i.message,cause:i.cause}}})}}write(s){let t=le.MESG_DEFINITION_MASK|this.localMesgNum&le.LOCAL_MESG_NUM_MASK;this.developerFieldDefinitions.length>0&&(t|=le.DEV_DATA_MASK),s.writeUInt8(t),s.writeUInt8(0),s.writeUInt8(le.ARCH_LITTLE_ENDIAN),s.writeUInt16(this.globalMessageNumber),s.writeUInt8(this.fieldDefinitions.length),this.fieldDefinitions.forEach(a=>{s.writeUInt8(a.num),s.writeUInt8(a.size),s.writeUInt8(a.baseType)}),this.developerFieldDefinitions.length>0&&(s.writeUInt8(this.developerFieldDefinitions.length),this.developerFieldDefinitions.forEach(a=>{s.writeUInt8(a.fieldDefinitionNumber),s.writeUInt8(a.size),s.writeUInt8(a.developerDataIndex)}))}equals(s){if(this.globalMessageNumber!==s.globalMessageNumber||this.fieldDefinitions.length!==s.fieldDefinitions.length||this.developerFieldDefinitions.length!==s.developerFieldDefinitions.length)return!1;for(let t=0;t<this.fieldDefinitions.length;t++){const a=this.fieldDefinitions[t];if(s.fieldDefinitions.find(i=>a.num===i.num&&a.size===i.size&&a.baseType===i.baseType)==null)return!1}for(let t=0;t<this.developerFieldDefinitions.length;t++){const a=this.developerFieldDefinitions[t];if(s.developerFieldDefinitions.find(i=>a.fieldDefinitionNumber===i.fieldDefinitionNumber&&a.size===i.size&&a.developerDataIndex===i.developerDataIndex)==null)return!1}return!0}#s(s,t){const a=Array.isArray(s)?s:[s];return t.type===le.BaseType.STRING?a.reduce((n,o)=>n+kl.encode(o).length+1,0):t.size*a.length}#e(s,t){try{if(s==null)throw new Error("no developer data field descriptions provided",{cause:{fieldDescriptions:s}});const{developerDataIdMesg:a,fieldDescriptionMesg:i}=s?.[t]??{};if(a==null||i==null)throw new Error(`could not find a developer field description for key ${t}`);const n=[];if(i.fitBaseTypeId==null&&n.push(`fieldDescriptionMesg fitBaseTypeId is ${i.fitBaseTypeId}`),i.fieldDefinitionNumber==null&&n.push(`fieldDescriptionMesg fieldDefinitionNumber is ${i.fieldDefinitionNumber}`),i.developerDataIndex==null&&n.push(`fieldDescriptionMesg developerDataIndex is ${i.developerDataIndex}`),a.developerDataIndex==null&&n.push(`developerDataIdMesg developerDataIndex is ${a.developerDataIndex}`),a.developerDataIndex!==i.developerDataIndex&&n.push(`developerDataIndex values do not match in fieldDescription ${a.developerDataIndex} != ${i.developerDataIndex}`),n.length>0)throw new Error("missing or invalid values in the fieldDescription,",{cause:{developerDataIdMesg:a,fieldDescriptionMesg:i,cause:n}});return{key:t,developerDataIdMesg:a,fieldDescriptionMesg:i}}catch(a){throw new Error(`invalid field description for key ${t}`,{cause:{key:t,cause:{message:a.message,cause:a.cause}}})}}}const wn=1048576,xl=wn*10,Aa=wn/2;class El{#s=null;#e=null;#t=0;#a=0;#u=null;#i=new TextEncoder;constructor({initialByteLength:s=Aa,maxByteLength:t=xl,resizeByBytes:a=Aa}={}){this.#s=new ArrayBuffer(s,{maxByteLength:t}),this.#e=new DataView(this.#s),this.#a=a,this.#u={[le.BaseType.ENUM]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[le.BaseType.UINT8]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[le.BaseType.UINT16]:{setValue:this.#e.setUint16.bind(this.#e),size:2,mask:65535},[le.BaseType.UINT32]:{setValue:this.#e.setUint32.bind(this.#e),size:4,mask:4294967295},[le.BaseType.UINT64]:{setValue:this.#e.setBigUint64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[le.BaseType.SINT8]:{setValue:this.#e.setInt8.bind(this.#e),size:1,mask:255},[le.BaseType.SINT16]:{setValue:this.#e.setInt16.bind(this.#e),size:2,mask:65535},[le.BaseType.SINT32]:{setValue:this.#e.setInt32.bind(this.#e),size:4,mask:4294967295},[le.BaseType.SINT64]:{setValue:this.#e.setBigInt64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[le.BaseType.FLOAT32]:{setValue:this.#e.setFloat32.bind(this.#e),size:4},[le.BaseType.FLOAT64]:{setValue:this.#e.setFloat64.bind(this.#e),size:8},[le.BaseType.UINT8Z]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[le.BaseType.UINT16Z]:{setValue:this.#e.setUint16.bind(this.#e),size:2,mask:65535},[le.BaseType.UINT32Z]:{setValue:this.#e.setUint32.bind(this.#e),size:4,mask:4294967295},[le.BaseType.UINT64Z]:{setValue:this.#e.setBigUint64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[le.BaseType.BYTE]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255}}}get length(){return this.#t}get uint8Array(){return new Uint8Array(this.#s.slice(0,this.#t))}writeUInt8(s){return this.write(s,le.BaseType.UINT8)}writeUInt16(s){return this.write(s,le.BaseType.UINT16)}writeUInt32(s){return this.write(s,le.BaseType.UINT32)}writeUInt64(s){return this.write(s,le.BaseType.UINT64)}writeSInt8(s){return this.write(s,le.BaseType.SINT8)}writeSInt16(s){return this.write(s,le.BaseType.SINT16)}writeSInt32(s){return this.write(s,le.BaseType.SINT32)}writeSInt64(s){return this.write(s,le.BaseType.SINT64)}writeFloat32(s){return this.write(s,le.BaseType.FLOAT32)}writeFloat64(s){return this.write(s,le.BaseType.FLOAT64)}writeUInt8z(s){return this.write(s,le.BaseType.UINT8Z)}writeUInt16z(s){return this.write(s,le.BaseType.UINT16Z)}writeUInt32z(s){return this.write(s,le.BaseType.UINT32Z)}writeUInt64z(s){return this.write(s,le.BaseType.UINT64Z)}writeByte(s){return this.write(s,le.BaseType.BYTE)}writeString(s){const t=this.#i.encode(s);return this.#o(t.byteLength),new Uint8Array(this.#s,this.#t,t.byteLength).set(t),this.#t+=t.byteLength,this.writeUInt8(0),this}write(s,t){if(t===le.BaseType.STRING)return this.writeString(s);this.#n(t,s)}set(s,t=0){return this.#o(s.byteLength+t),new Uint8Array(this.#s).set(s,t),this.#t=Math.max(this.#t,s.byteLength+t),this}[Symbol.iterator](){let s=0;const t=this.#t,a=this.#e;return{next(){return s<t?{value:a.getUint8(s++),done:!1}:{done:!0}}}}#n(s,t){(Array.isArray(t)?t:[t]).forEach(i=>this.#l(s,i))}#l(s,t){const a=this.#u[s];this.#o(a.size);const i=a.mask==null?t:t&a.mask;return a.setValue(this.#t,i,!0),this.#t+=a.size,this}#o(s=1){if(!(this.#s.byteLength-this.#t>=s)){if(!this.#s.resizable)throw new Error("Can not resize OutputStream. Set a larger initial size.");this.#s.resize(this.#s.byteLength+Math.max(this.#a,s))}}}const gt=14,Pl=12;class Rl{constructor({fieldDescriptions:s=null}={}){this.#f={};for(const[t,{developerDataIdMesg:a,fieldDescriptionMesg:i}]of Object.entries(s??{}))this.addDeveloperField(t,a,i);this.#s()}close(){return this.#e(),this.#t(),this.#r.uint8Array}writeMesg(s){return this.onMesg(s.mesgNum,s)}onMesg(s,t){try{const a=this.#i(s,t);this.#l(a),this.#r.writeUInt8(a.localMesgNum),a.fieldDefinitions.forEach(i=>{const n=this.#a(t[i.name],i),o=le.BaseTypeDefinitions[i.baseType];this.#r.write(n,o.type)}),a.developerFieldDefinitions.forEach(i=>{const n=this.#a(t.developerFields[i.key],i),o=le.BaseTypeDefinitions[i.baseType];this.#r.write(n,o.type)})}catch(a){throw new Error("Could not write Message",{cause:{mesg:t,cause:{message:a.message,cause:a.cause}}})}return this}addDeveloperField(s,t,a){if(t.developerDataIndex==null||a.developerDataIndex==null)throw new Error("addDeveloperField() - one or more developerDataIndex values are null.",{cause:{key:s,developerDataIdMesg:t,fieldDescriptionMesg:a}});if(t.developerDataIndex!==a.developerDataIndex)throw new Error("addDeveloperField() - developerDataIndex values do not match.",{cause:{key:s,developerDataIdMesg:t,fieldDescriptionMesg:a}});return this.#f[s]={developerDataIdMesg:t,fieldDescriptionMesg:a},this}#s(){Array(gt).fill(0).forEach(s=>{this.#r.writeUInt8(s)})}#e(){const s=new ArrayBuffer(gt),t=new DataView(s);t.setUint8(0,gt),t.setUint8(1,2),t.setUint16(2,Ds.version.major*1e3+Ds.version.minor,!0),t.setUint32(4,this.#r.length-gt,!0),t.setUint8(8,46),t.setUint8(9,70),t.setUint8(10,73),t.setUint8(11,84);const a=St.calculateCRC(new Uint8Array(s),0,Pl);t.setUint16(12,a,!0),this.#r.set(new Uint8Array(s))}#t(){const s=St.calculateCRC(this.#r.uint8Array,0,this.#r.length);this.#r.writeUInt16(s)}#a(s,t){return(Array.isArray(s)?s:[s]).map(i=>this.#u(i,t))}#u(s,t){try{if(le.isNotNumberStringDateOrBoolean(s))return le.BaseTypeDefinitions[t.baseType].invalid;if(le.NumericFieldTypes.includes(t.type)){if(!le.isNumeric(s))throw new Error;if(t.scale!=le.FIELD_DEFAULT_SCALE||t.offset!=le.FIELD_DEFAULT_OFFSET){const o=(s+t.offset)*t.scale;return le.FloatingPointFieldTypes.includes(t.type)?o:Math.round(o)}return s}if(t.type==="dateTime"){if(le.isDate(s))return _l.convertDateToDateTime(s);if(!le.isNumeric(s))throw new Error;return s}if(t.type==="string"){if(!le.isString(s))throw new Error;return s}if(le.isNumeric(s))return s;const a=Ds.types[t.type],[i]=Object.entries(a).find(([,n])=>n===s);return i}catch{throw new Error(`Could not convert "${s}" to "${t.type}"`,{cause:{value:s,fieldDefinition:t}})}}#i=(s,t)=>{const a=new Sl(s,t,{fieldDescriptions:this.#f});return a.localMesgNum=this.#n(a),a};#n=s=>{const t=this.#c.findIndex(a=>a?.equals(s)??!1);return(t!==-1?t:this.#m++)&le.LOCAL_MESG_NUM_MASK};#l=s=>{const t=s.localMesgNum;return(this.#c[t]==null||!this.#c[t].equals(s))&&this.#o(s),t};#o(s){return s.write(this.#r),this.#c[s.localMesgNum]=s,this}#c=Array(16).fill(null);#m=0;#r=new El;#f=null}function Xs(e){return e!=="rest"&&e!=="race"}function Il(e){switch(e){case"swim":return"swimming";case"bike":return"cycling";case"run":return"running";case"strength":return"training";case"brick":return"multisport";default:return"generic"}}function Dl(e){switch(e){case"swim":return"lap_swimming";case"bike":return"road";case"run":return"road";case"strength":return"strength_training";case"brick":return"triathlon";default:return"generic"}}function Ll(e){switch(e){case"warmup":return"warmup";case"cooldown":return"cooldown";case"rest":return"rest";case"recovery":return"recovery";case"work":return"active";default:return"active"}}function Bl(e,s){switch(s){case"seconds":return e*1e3;case"minutes":return e*60*1e3;case"hours":return e*3600*1e3;case"meters":return e*100;case"kilometers":return e*1e5;case"miles":return e*160934;default:return e*1e3}}function Ml(e){switch(e){case"seconds":case"minutes":case"hours":return"time";case"meters":case"kilometers":case"miles":return"distance";default:return"time"}}function Ol(e){const s=[];let t=0;const a=(n,o=!1)=>{const l=Ml(n.duration?.unit??"minutes"),r=Bl(n.duration?.value??0,n.duration?.unit??"minutes"),m={messageIndex:t,workoutStepName:n.name||"",intensity:Ll(n.type),durationType:l,durationValue:r,notes:n.notes||""};if(n.intensity){const y=n.intensity.value??50;switch(n.intensity.unit){case"percent_ftp":m.targetType="power",m.targetValue=0,m.customTargetValueLow=n.intensity.valueLow??y-5,m.customTargetValueHigh=n.intensity.valueHigh??y+5;break;case"percent_lthr":case"hr_zone":m.targetType="heart_rate",m.targetValue=0,n.intensity.valueLow!==void 0&&n.intensity.valueHigh!==void 0?(m.customTargetValueLow=n.intensity.valueLow,m.customTargetValueHigh=n.intensity.valueHigh):m.targetValue=y;break;case"rpe":m.targetType="open";break;default:m.targetType="open"}}else m.targetType="open";return n.cadence&&(m.customTargetCadenceLow=n.cadence.low??80,m.customTargetCadenceHigh=n.cadence.high??100),s.push(m),t++,t-1},i=n=>{const o=t;t++;const l=[];for(const m of n.steps)l.push(a(m,!0));const r={messageIndex:o,workoutStepName:n.name||"Intervals",durationType:"repeat_until_steps_cmplt",durationValue:n.repeats,targetType:"open",intensity:"interval"};s.splice(o,0,r),t++};if(e.warmup)for(const n of e.warmup)a(n);for(const n of e.main)"repeats"in n?i(n):a(n);if(e.cooldown)for(const n of e.cooldown)a(n);return{steps:s,totalSteps:s.length}}function zl(e){const s=[],t=e.durationMinutes||60,a=Math.min(15,Math.max(5,Math.round(t*.1)));s.push({messageIndex:0,workoutStepName:"Warm Up",intensity:"warmup",durationType:"time",durationValue:a*60*1e3,targetType:"open"});const i=Math.min(10,Math.max(5,Math.round(t*.1))),n=t-a-i;let o="active";return e.type==="recovery"?o="recovery":e.type==="rest"?o="rest":(e.type==="intervals"||e.type==="vo2max")&&(o="interval"),s.push({messageIndex:1,workoutStepName:"Main Set",intensity:o,durationType:"time",durationValue:n*60*1e3,targetType:"open",notes:e.description||""}),s.push({messageIndex:2,workoutStepName:"Cool Down",intensity:"cooldown",durationType:"time",durationValue:i*60*1e3,targetType:"open"}),{steps:s,totalSteps:3}}async function An(e,s){if(!Xs(e.sport))throw new Error(`FIT export not supported for ${e.sport} workouts`);const t=new Rl;t.onMesg(Ds.MesgNum.FILE_ID,{type:"workout",manufacturer:"development",product:1,serialNumber:Math.floor(Math.random()*1e6),timeCreated:new Date});const{steps:a,totalSteps:i}=e.structure?Ol(e.structure):zl(e);t.onMesg(Ds.MesgNum.WORKOUT,{workoutName:e.name,sport:Il(e.sport),subSport:Dl(e.sport),numValidSteps:i});for(const n of a)t.onMesg(Ds.MesgNum.WORKOUT_STEP,n);return t.close()}function Qs(e){return e==="bike"}function Nl(e){const s=[];let t=0;const a=n=>{const o=n.intensity?.value??50,l=i(n);if(s.push([t,o]),n.intensity?.valueLow!==void 0&&n.intensity?.valueHigh!==void 0){const r=n.intensity.valueLow,m=n.intensity.valueHigh;s[s.length-1]=[t,r],t+=l,s.push([t,m])}else t+=l,s.push([t,o])},i=n=>{const o=n.duration?.unit??"minutes",l=n.duration?.value??0;switch(o){case"seconds":return l/60;case"minutes":return l;case"hours":return l*60;default:return o==="meters"?l/1e3/30*60:o==="kilometers"?l/30*60:l}};if(e.warmup)for(const n of e.warmup)a(n);for(const n of e.main??[])if("repeats"in n){const o=n;for(let l=0;l<(o.repeats??1);l++)for(const r of o.steps??[])a(r)}else a(n);if(e.cooldown)for(const n of e.cooldown)a(n);return s}function Wl(e){const s=e.durationMinutes||60,t=[];let a=65;switch(e.type){case"recovery":a=55;break;case"endurance":a=65;break;case"tempo":a=80;break;case"threshold":a=95;break;case"vo2max":a=110;break;case"intervals":a=85;break}const i=Math.min(15,Math.max(5,Math.round(s*.1)));t.push([0,40]),t.push([i,65]);const n=Math.min(10,Math.max(5,Math.round(s*.1))),o=s-i-n;return t.push([i,a]),t.push([i+o,a]),t.push([i+o,60]),t.push([s,40]),t}function Fn(e,s){if(!Qs(e.sport))throw new Error("ERG/MRC export only supports bike workouts");const t=e.structure?Nl(e.structure):Wl(e);let a=e.name;e.description&&(a+=` - ${e.description}`);const i=["[COURSE HEADER]","VERSION = 2","UNITS = ENGLISH",`DESCRIPTION = ${a.replace(/[\r\n]/g," ")}`,`FILE NAME = ${e.name}`,"MINUTES PERCENT","[END COURSE HEADER]","[COURSE DATA]"];for(const[n,o]of t)i.push(`${n.toFixed(2)} ${o.toFixed(0)}`);return i.push("[END COURSE DATA]"),i.join(`
|
|
29
|
+
`)}function Gt(e){return e.replace(/-/g,"")}function As(e){return e.replace(/\\/g,"\\\\").replace(/;/g,"\\;").replace(/,/g,"\\,").replace(/\n/g,"\\n").replace(/\\n/g,"\\n")}function Us(e){if(e.length<=75)return e;const t=[];let a=e;for(t.push(a.substring(0,75)),a=a.substring(75);a.length>0;)t.push(" "+a.substring(0,74)),a=a.substring(74);return t.join(`\r
|
|
30
|
+
`)}function Ul(e,s){return`${e}-${s}@endurance-coach`}function Hl(e,s,t){const a=Ul(e.id,s.date),i=Gt(s.date),n=dn(e.sport),o=aa(e.durationMinutes),l=As(`${n} ${e.sport.charAt(0).toUpperCase()+e.sport.slice(1)}: ${e.name}`);let r="";e.description&&(r+=e.description+"\\n\\n"),o&&(r+=`Duration: ${o}\\n`),e.primaryZone&&(r+=`Target Zone: ${e.primaryZone}\\n`),e.humanReadable&&(r+="\\nWorkout Structure:\\n"+e.humanReadable.replace(/\\n/g,"\\n")),r=As(r.trim());const m=[e.sport,e.type,t].join(",");return["BEGIN:VEVENT",Us(`UID:${a}`),`DTSTAMP:${new Date().toISOString().replace(/[-:]/g,"").split(".")[0]}Z`,`DTSTART;VALUE=DATE:${i}`,`DTEND;VALUE=DATE:${i}`,Us(`SUMMARY:${l}`),Us(`DESCRIPTION:${r}`),Us(`CATEGORIES:${As(m)}`),"TRANSP:TRANSPARENT","END:VEVENT"].join(`\r
|
|
31
|
+
`)}function jl(e){const s=new Date().toISOString().replace(/[-:]/g,"").split(".")[0]+"Z",t=e.meta?.event??"Training Plan",a=e.meta?.eventDate??"",i=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//Endurance Coach//Training Plan//EN","CALSCALE:GREGORIAN","METHOD:PUBLISH",`X-WR-CALNAME:${As(t)} Training`,`X-WR-CALDESC:${As(`Training plan for ${t} on ${a}`)}`].join(`\r
|
|
32
|
+
`),n=[];for(const l of e.weeks??[])for(const r of l.days??[])for(const m of r.workouts??[])m.sport==="rest"&&!m.name||n.push(Hl(m,r,t));if(a){const l=["BEGIN:VEVENT","UID:race-day@endurance-coach",`DTSTAMP:${s}`,`DTSTART;VALUE=DATE:${Gt(a)}`,`DTEND;VALUE=DATE:${Gt(a)}`,Us(`SUMMARY:🏆 RACE DAY: ${As(t)}`),Us(`DESCRIPTION:${As(`Race day for ${t}!`)}`),`CATEGORIES:race,${As(t)}`,"TRANSP:OPAQUE","END:VEVENT"].join(`\r
|
|
33
|
+
`);n.push(l)}return i+`\r
|
|
34
|
+
`+n.join(`\r
|
|
35
35
|
`)+`\r
|
|
36
|
-
`+"END:VCALENDAR"}var
|
|
37
|
-
\0`,K+=a(M,2),K+=W.magic,K+=a(k,2),K+=a(P,2),K+=a(ae.crc32,4),K+=a(ae.compressedSize,4),K+=a(ae.uncompressedSize,4),K+=a(G.length,2),K+=a(J.length,2),{fileRecord:g.LOCAL_FILE_HEADER+K+G+J,dirRecord:g.CENTRAL_FILE_HEADER+a(H,2)+K+a(te.length,2)+"\0\0\0\0"+a(x,4)+a(d,4)+G+J+te}}var o=t("../utils"),r=t("../stream/GenericWorker"),m=t("../utf8"),y=t("../crc32"),g=t("../signature");function h(c,T,p,d){r.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=T,this.zipPlatform=p,this.encodeFileName=d,this.streamFiles=c,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}o.inherits(h,r),h.prototype.push=function(c){var T=c.meta.percent||0,p=this.entriesCount,d=this._sources.length;this.accumulate?this.contentBuffer.push(c):(this.bytesWritten+=c.data.length,r.prototype.push.call(this,{data:c.data,meta:{currentFile:this.currentFile,percent:p?(T+100*(p-d-1))/p:100}}))},h.prototype.openedSource=function(c){this.currentSourceOffset=this.bytesWritten,this.currentFile=c.file.name;var T=this.streamFiles&&!c.file.dir;if(T){var p=l(c,T,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:p.fileRecord,meta:{percent:0}})}else this.accumulate=!0},h.prototype.closedSource=function(c){this.accumulate=!1;var T=this.streamFiles&&!c.file.dir,p=l(c,T,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(p.dirRecord),T)this.push({data:(function(d){return g.DATA_DESCRIPTOR+a(d.crc32,4)+a(d.compressedSize,4)+a(d.uncompressedSize,4)})(c),meta:{percent:100}});else for(this.push({data:p.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},h.prototype.flush=function(){for(var c=this.bytesWritten,T=0;T<this.dirRecords.length;T++)this.push({data:this.dirRecords[T],meta:{percent:100}});var p=this.bytesWritten-c,d=(function(b,w,k,P,_){var W=o.transformTo("string",_(P));return g.CENTRAL_DIRECTORY_END+"\0\0\0\0"+a(b,2)+a(b,2)+a(w,4)+a(k,4)+a(W.length,2)+W})(this.dirRecords.length,p,c,this.zipComment,this.encodeFileName);this.push({data:d,meta:{percent:100}})},h.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},h.prototype.registerPrevious=function(c){this._sources.push(c);var T=this;return c.on("data",function(p){T.processChunk(p)}),c.on("end",function(){T.closedSource(T.previous.streamInfo),T._sources.length?T.prepareNextSource():T.end()}),c.on("error",function(p){T.error(p)}),this},h.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},h.prototype.error=function(c){var T=this._sources;if(!r.prototype.error.call(this,c))return!1;for(var p=0;p<T.length;p++)try{T[p].error(c)}catch{}return!0},h.prototype.lock=function(){r.prototype.lock.call(this);for(var c=this._sources,T=0;T<c.length;T++)c[T].lock()},n.exports=h},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,n,i){var a=t("../compressions"),l=t("./ZipFileWorker");i.generateWorker=function(o,r,m){var y=new l(r.streamFiles,m,r.platform,r.encodeFileName),g=0;try{o.forEach(function(h,c){g++;var T=(function(w,k){var P=w||k,_=a[P];if(!_)throw new Error(P+" is not a valid compression method !");return _})(c.options.compression,r.compression),p=c.options.compressionOptions||r.compressionOptions||{},d=c.dir,b=c.date;c._compressWorker(T,p).withStreamInfo("file",{name:h,dir:d,date:b,comment:c.comment||"",unixPermissions:c.unixPermissions,dosPermissions:c.dosPermissions}).pipe(y)}),y.entriesCount=g}catch(h){y.error(h)}return y}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,n,i){function a(){if(!(this instanceof a))return new a;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var l=new a;for(var o in this)typeof this[o]!="function"&&(l[o]=this[o]);return l}}(a.prototype=t("./object")).loadAsync=t("./load"),a.support=t("./support"),a.defaults=t("./defaults"),a.version="3.10.1",a.loadAsync=function(l,o){return new a().loadAsync(l,o)},a.external=t("./external"),n.exports=a},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,n,i){var a=t("./utils"),l=t("./external"),o=t("./utf8"),r=t("./zipEntries"),m=t("./stream/Crc32Probe"),y=t("./nodejsUtils");function g(h){return new l.Promise(function(c,T){var p=h.decompressed.getContentWorker().pipe(new m);p.on("error",function(d){T(d)}).on("end",function(){p.streamInfo.crc32!==h.decompressed.crc32?T(new Error("Corrupted zip : CRC32 mismatch")):c()}).resume()})}n.exports=function(h,c){var T=this;return c=a.extend(c||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),y.isNode&&y.isStream(h)?l.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):a.prepareContent("the loaded zip file",h,!0,c.optimizedBinaryString,c.base64).then(function(p){var d=new r(c);return d.load(p),d}).then(function(p){var d=[l.Promise.resolve(p)],b=p.files;if(c.checkCRC32)for(var w=0;w<b.length;w++)d.push(g(b[w]));return l.Promise.all(d)}).then(function(p){for(var d=p.shift(),b=d.files,w=0;w<b.length;w++){var k=b[w],P=k.fileNameStr,_=a.resolve(k.fileNameStr);T.file(_,k.decompressed,{binary:!0,optimizedBinaryString:!0,date:k.date,dir:k.dir,comment:k.fileCommentStr.length?k.fileCommentStr:null,unixPermissions:k.unixPermissions,dosPermissions:k.dosPermissions,createFolders:c.createFolders}),k.dir||(T.file(_).unsafeOriginalName=P)}return d.zipComment.length&&(T.comment=d.zipComment),T})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,n,i){var a=t("../utils"),l=t("../stream/GenericWorker");function o(r,m){l.call(this,"Nodejs stream input adapter for "+r),this._upstreamEnded=!1,this._bindStream(m)}a.inherits(o,l),o.prototype._bindStream=function(r){var m=this;(this._stream=r).pause(),r.on("data",function(y){m.push({data:y,meta:{percent:0}})}).on("error",function(y){m.isPaused?this.generatedError=y:m.error(y)}).on("end",function(){m.isPaused?m._upstreamEnded=!0:m.end()})},o.prototype.pause=function(){return!!l.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!l.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},n.exports=o},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,n,i){var a=t("readable-stream").Readable;function l(o,r,m){a.call(this,r),this._helper=o;var y=this;o.on("data",function(g,h){y.push(g)||y._helper.pause(),m&&m(h)}).on("error",function(g){y.emit("error",g)}).on("end",function(){y.push(null)})}t("../utils").inherits(l,a),l.prototype._read=function(){this._helper.resume()},n.exports=l},{"../utils":32,"readable-stream":16}],14:[function(t,n,i){n.exports={isNode:typeof Buffer<"u",newBufferFrom:function(a,l){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(a,l);if(typeof a=="number")throw new Error('The "data" argument must not be a number');return new Buffer(a,l)},allocBuffer:function(a){if(Buffer.alloc)return Buffer.alloc(a);var l=new Buffer(a);return l.fill(0),l},isBuffer:function(a){return Buffer.isBuffer(a)},isStream:function(a){return a&&typeof a.on=="function"&&typeof a.pause=="function"&&typeof a.resume=="function"}}},{}],15:[function(t,n,i){function a(_,W,R){var G,O=o.getTypeOf(W),Y=o.extend(R||{},y);Y.date=Y.date||new Date,Y.compression!==null&&(Y.compression=Y.compression.toUpperCase()),typeof Y.unixPermissions=="string"&&(Y.unixPermissions=parseInt(Y.unixPermissions,8)),Y.unixPermissions&&16384&Y.unixPermissions&&(Y.dir=!0),Y.dosPermissions&&16&Y.dosPermissions&&(Y.dir=!0),Y.dir&&(_=b(_)),Y.createFolders&&(G=d(_))&&w.call(this,G,!0);var te=O==="string"&&Y.binary===!1&&Y.base64===!1;R&&R.binary!==void 0||(Y.binary=!te),(W instanceof g&&W.uncompressedSize===0||Y.dir||!W||W.length===0)&&(Y.base64=!1,Y.binary=!0,W="",Y.compression="STORE",O="string");var F=null;F=W instanceof g||W instanceof r?W:T.isNode&&T.isStream(W)?new p(_,W):o.prepareContent(_,W,Y.binary,Y.optimizedBinaryString,Y.base64);var Z=new h(_,F,Y);this.files[_]=Z}var l=t("./utf8"),o=t("./utils"),r=t("./stream/GenericWorker"),m=t("./stream/StreamHelper"),y=t("./defaults"),g=t("./compressedObject"),h=t("./zipObject"),c=t("./generate"),T=t("./nodejsUtils"),p=t("./nodejs/NodejsStreamInputAdapter"),d=function(_){_.slice(-1)==="/"&&(_=_.substring(0,_.length-1));var W=_.lastIndexOf("/");return 0<W?_.substring(0,W):""},b=function(_){return _.slice(-1)!=="/"&&(_+="/"),_},w=function(_,W){return W=W!==void 0?W:y.createFolders,_=b(_),this.files[_]||a.call(this,_,null,{dir:!0,createFolders:W}),this.files[_]};function k(_){return Object.prototype.toString.call(_)==="[object RegExp]"}var P={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(_){var W,R,G;for(W in this.files)G=this.files[W],(R=W.slice(this.root.length,W.length))&&W.slice(0,this.root.length)===this.root&&_(R,G)},filter:function(_){var W=[];return this.forEach(function(R,G){_(R,G)&&W.push(G)}),W},file:function(_,W,R){if(arguments.length!==1)return _=this.root+_,a.call(this,_,W,R),this;if(k(_)){var G=_;return this.filter(function(Y,te){return!te.dir&&G.test(Y)})}var O=this.files[this.root+_];return O&&!O.dir?O:null},folder:function(_){if(!_)return this;if(k(_))return this.filter(function(O,Y){return Y.dir&&_.test(O)});var W=this.root+_,R=w.call(this,W),G=this.clone();return G.root=R.name,G},remove:function(_){_=this.root+_;var W=this.files[_];if(W||(_.slice(-1)!=="/"&&(_+="/"),W=this.files[_]),W&&!W.dir)delete this.files[_];else for(var R=this.filter(function(O,Y){return Y.name.slice(0,_.length)===_}),G=0;G<R.length;G++)delete this.files[R[G].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(_){var W,R={};try{if((R=o.extend(_||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:l.utf8encode})).type=R.type.toLowerCase(),R.compression=R.compression.toUpperCase(),R.type==="binarystring"&&(R.type="string"),!R.type)throw new Error("No output type specified.");o.checkSupport(R.type),R.platform!=="darwin"&&R.platform!=="freebsd"&&R.platform!=="linux"&&R.platform!=="sunos"||(R.platform="UNIX"),R.platform==="win32"&&(R.platform="DOS");var G=R.comment||this.comment||"";W=c.generateWorker(this,R,G)}catch(O){(W=new r("error")).error(O)}return new m(W,R.type||"string",R.mimeType)},generateAsync:function(_,W){return this.generateInternalStream(_).accumulate(W)},generateNodeStream:function(_,W){return(_=_||{}).type||(_.type="nodebuffer"),this.generateInternalStream(_).toNodejsStream(W)}};n.exports=P},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,n,i){n.exports=t("stream")},{stream:void 0}],17:[function(t,n,i){var a=t("./DataReader");function l(o){a.call(this,o);for(var r=0;r<this.data.length;r++)o[r]=255&o[r]}t("../utils").inherits(l,a),l.prototype.byteAt=function(o){return this.data[this.zero+o]},l.prototype.lastIndexOfSignature=function(o){for(var r=o.charCodeAt(0),m=o.charCodeAt(1),y=o.charCodeAt(2),g=o.charCodeAt(3),h=this.length-4;0<=h;--h)if(this.data[h]===r&&this.data[h+1]===m&&this.data[h+2]===y&&this.data[h+3]===g)return h-this.zero;return-1},l.prototype.readAndCheckSignature=function(o){var r=o.charCodeAt(0),m=o.charCodeAt(1),y=o.charCodeAt(2),g=o.charCodeAt(3),h=this.readData(4);return r===h[0]&&m===h[1]&&y===h[2]&&g===h[3]},l.prototype.readData=function(o){if(this.checkOffset(o),o===0)return[];var r=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,r},n.exports=l},{"../utils":32,"./DataReader":18}],18:[function(t,n,i){var a=t("../utils");function l(o){this.data=o,this.length=o.length,this.index=0,this.zero=0}l.prototype={checkOffset:function(o){this.checkIndex(this.index+o)},checkIndex:function(o){if(this.length<this.zero+o||o<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+o+"). Corrupted zip ?")},setIndex:function(o){this.checkIndex(o),this.index=o},skip:function(o){this.setIndex(this.index+o)},byteAt:function(){},readInt:function(o){var r,m=0;for(this.checkOffset(o),r=this.index+o-1;r>=this.index;r--)m=(m<<8)+this.byteAt(r);return this.index+=o,m},readString:function(o){return a.transformTo("string",this.readData(o))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var o=this.readInt(4);return new Date(Date.UTC(1980+(o>>25&127),(o>>21&15)-1,o>>16&31,o>>11&31,o>>5&63,(31&o)<<1))}},n.exports=l},{"../utils":32}],19:[function(t,n,i){var a=t("./Uint8ArrayReader");function l(o){a.call(this,o)}t("../utils").inherits(l,a),l.prototype.readData=function(o){this.checkOffset(o);var r=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,r},n.exports=l},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,n,i){var a=t("./DataReader");function l(o){a.call(this,o)}t("../utils").inherits(l,a),l.prototype.byteAt=function(o){return this.data.charCodeAt(this.zero+o)},l.prototype.lastIndexOfSignature=function(o){return this.data.lastIndexOf(o)-this.zero},l.prototype.readAndCheckSignature=function(o){return o===this.readData(4)},l.prototype.readData=function(o){this.checkOffset(o);var r=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,r},n.exports=l},{"../utils":32,"./DataReader":18}],21:[function(t,n,i){var a=t("./ArrayReader");function l(o){a.call(this,o)}t("../utils").inherits(l,a),l.prototype.readData=function(o){if(this.checkOffset(o),o===0)return new Uint8Array(0);var r=this.data.subarray(this.zero+this.index,this.zero+this.index+o);return this.index+=o,r},n.exports=l},{"../utils":32,"./ArrayReader":17}],22:[function(t,n,i){var a=t("../utils"),l=t("../support"),o=t("./ArrayReader"),r=t("./StringReader"),m=t("./NodeBufferReader"),y=t("./Uint8ArrayReader");n.exports=function(g){var h=a.getTypeOf(g);return a.checkSupport(h),h!=="string"||l.uint8array?h==="nodebuffer"?new m(g):l.uint8array?new y(a.transformTo("uint8array",g)):new o(a.transformTo("array",g)):new r(g)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,n,i){i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,n,i){var a=t("./GenericWorker"),l=t("../utils");function o(r){a.call(this,"ConvertWorker to "+r),this.destType=r}l.inherits(o,a),o.prototype.processChunk=function(r){this.push({data:l.transformTo(this.destType,r.data),meta:r.meta})},n.exports=o},{"../utils":32,"./GenericWorker":28}],25:[function(t,n,i){var a=t("./GenericWorker"),l=t("../crc32");function o(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(o,a),o.prototype.processChunk=function(r){this.streamInfo.crc32=l(r.data,this.streamInfo.crc32||0),this.push(r)},n.exports=o},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,n,i){var a=t("../utils"),l=t("./GenericWorker");function o(r){l.call(this,"DataLengthProbe for "+r),this.propName=r,this.withStreamInfo(r,0)}a.inherits(o,l),o.prototype.processChunk=function(r){if(r){var m=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=m+r.data.length}l.prototype.processChunk.call(this,r)},n.exports=o},{"../utils":32,"./GenericWorker":28}],27:[function(t,n,i){var a=t("../utils"),l=t("./GenericWorker");function o(r){l.call(this,"DataWorker");var m=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,r.then(function(y){m.dataIsReady=!0,m.data=y,m.max=y&&y.length||0,m.type=a.getTypeOf(y),m.isPaused||m._tickAndRepeat()},function(y){m.error(y)})}a.inherits(o,l),o.prototype.cleanUp=function(){l.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!l.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var r=null,m=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":r=this.data.substring(this.index,m);break;case"uint8array":r=this.data.subarray(this.index,m);break;case"array":case"nodebuffer":r=this.data.slice(this.index,m)}return this.index=m,this.push({data:r,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=o},{"../utils":32,"./GenericWorker":28}],28:[function(t,n,i){function a(l){this.name=l||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(l){this.emit("data",l)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(l){this.emit("error",l)}return!0},error:function(l){return!this.isFinished&&(this.isPaused?this.generatedError=l:(this.isFinished=!0,this.emit("error",l),this.previous&&this.previous.error(l),this.cleanUp()),!0)},on:function(l,o){return this._listeners[l].push(o),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(l,o){if(this._listeners[l])for(var r=0;r<this._listeners[l].length;r++)this._listeners[l][r].call(this,o)},pipe:function(l){return l.registerPrevious(this)},registerPrevious:function(l){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=l.streamInfo,this.mergeStreamInfo(),this.previous=l;var o=this;return l.on("data",function(r){o.processChunk(r)}),l.on("end",function(){o.end()}),l.on("error",function(r){o.error(r)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var l=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),l=!0),this.previous&&this.previous.resume(),!l},flush:function(){},processChunk:function(l){this.push(l)},withStreamInfo:function(l,o){return this.extraStreamInfo[l]=o,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var l in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,l)&&(this.streamInfo[l]=this.extraStreamInfo[l])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var l="Worker "+this.name;return this.previous?this.previous+" -> "+l:l}},n.exports=a},{}],29:[function(t,n,i){var a=t("../utils"),l=t("./ConvertWorker"),o=t("./GenericWorker"),r=t("../base64"),m=t("../support"),y=t("../external"),g=null;if(m.nodestream)try{g=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function h(T,p){return new y.Promise(function(d,b){var w=[],k=T._internalType,P=T._outputType,_=T._mimeType;T.on("data",function(W,R){w.push(W),p&&p(R)}).on("error",function(W){w=[],b(W)}).on("end",function(){try{var W=(function(R,G,O){switch(R){case"blob":return a.newBlob(a.transformTo("arraybuffer",G),O);case"base64":return r.encode(G);default:return a.transformTo(R,G)}})(P,(function(R,G){var O,Y=0,te=null,F=0;for(O=0;O<G.length;O++)F+=G[O].length;switch(R){case"string":return G.join("");case"array":return Array.prototype.concat.apply([],G);case"uint8array":for(te=new Uint8Array(F),O=0;O<G.length;O++)te.set(G[O],Y),Y+=G[O].length;return te;case"nodebuffer":return Buffer.concat(G);default:throw new Error("concat : unsupported type '"+R+"'")}})(k,w),_);d(W)}catch(R){b(R)}w=[]}).resume()})}function c(T,p,d){var b=p;switch(p){case"blob":case"arraybuffer":b="uint8array";break;case"base64":b="string"}try{this._internalType=b,this._outputType=p,this._mimeType=d,a.checkSupport(b),this._worker=T.pipe(new l(b)),T.lock()}catch(w){this._worker=new o("error"),this._worker.error(w)}}c.prototype={accumulate:function(T){return h(this,T)},on:function(T,p){var d=this;return T==="data"?this._worker.on(T,function(b){p.call(d,b.data,b.meta)}):this._worker.on(T,function(){a.delay(p,arguments,d)}),this},resume:function(){return a.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(T){if(a.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new g(this,{objectMode:this._outputType!=="nodebuffer"},T)}},n.exports=c},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,n,i){if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",i.nodebuffer=typeof Buffer<"u",i.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")i.blob=!1;else{var a=new ArrayBuffer(0);try{i.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var l=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);l.append(a),i.blob=l.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,n,i){for(var a=t("./utils"),l=t("./support"),o=t("./nodejsUtils"),r=t("./stream/GenericWorker"),m=new Array(256),y=0;y<256;y++)m[y]=252<=y?6:248<=y?5:240<=y?4:224<=y?3:192<=y?2:1;m[254]=m[254]=1;function g(){r.call(this,"utf-8 decode"),this.leftOver=null}function h(){r.call(this,"utf-8 encode")}i.utf8encode=function(c){return l.nodebuffer?o.newBufferFrom(c,"utf-8"):(function(T){var p,d,b,w,k,P=T.length,_=0;for(w=0;w<P;w++)(64512&(d=T.charCodeAt(w)))==55296&&w+1<P&&(64512&(b=T.charCodeAt(w+1)))==56320&&(d=65536+(d-55296<<10)+(b-56320),w++),_+=d<128?1:d<2048?2:d<65536?3:4;for(p=l.uint8array?new Uint8Array(_):new Array(_),w=k=0;k<_;w++)(64512&(d=T.charCodeAt(w)))==55296&&w+1<P&&(64512&(b=T.charCodeAt(w+1)))==56320&&(d=65536+(d-55296<<10)+(b-56320),w++),d<128?p[k++]=d:(d<2048?p[k++]=192|d>>>6:(d<65536?p[k++]=224|d>>>12:(p[k++]=240|d>>>18,p[k++]=128|d>>>12&63),p[k++]=128|d>>>6&63),p[k++]=128|63&d);return p})(c)},i.utf8decode=function(c){return l.nodebuffer?a.transformTo("nodebuffer",c).toString("utf-8"):(function(T){var p,d,b,w,k=T.length,P=new Array(2*k);for(p=d=0;p<k;)if((b=T[p++])<128)P[d++]=b;else if(4<(w=m[b]))P[d++]=65533,p+=w-1;else{for(b&=w===2?31:w===3?15:7;1<w&&p<k;)b=b<<6|63&T[p++],w--;1<w?P[d++]=65533:b<65536?P[d++]=b:(b-=65536,P[d++]=55296|b>>10&1023,P[d++]=56320|1023&b)}return P.length!==d&&(P.subarray?P=P.subarray(0,d):P.length=d),a.applyFromCharCode(P)})(c=a.transformTo(l.uint8array?"uint8array":"array",c))},a.inherits(g,r),g.prototype.processChunk=function(c){var T=a.transformTo(l.uint8array?"uint8array":"array",c.data);if(this.leftOver&&this.leftOver.length){if(l.uint8array){var p=T;(T=new Uint8Array(p.length+this.leftOver.length)).set(this.leftOver,0),T.set(p,this.leftOver.length)}else T=this.leftOver.concat(T);this.leftOver=null}var d=(function(w,k){var P;for((k=k||w.length)>w.length&&(k=w.length),P=k-1;0<=P&&(192&w[P])==128;)P--;return P<0||P===0?k:P+m[w[P]]>k?P:k})(T),b=T;d!==T.length&&(l.uint8array?(b=T.subarray(0,d),this.leftOver=T.subarray(d,T.length)):(b=T.slice(0,d),this.leftOver=T.slice(d,T.length))),this.push({data:i.utf8decode(b),meta:c.meta})},g.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=g,a.inherits(h,r),h.prototype.processChunk=function(c){this.push({data:i.utf8encode(c.data),meta:c.meta})},i.Utf8EncodeWorker=h},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,n,i){var a=t("./support"),l=t("./base64"),o=t("./nodejsUtils"),r=t("./external");function m(p){return p}function y(p,d){for(var b=0;b<p.length;++b)d[b]=255&p.charCodeAt(b);return d}t("setimmediate"),i.newBlob=function(p,d){i.checkSupport("blob");try{return new Blob([p],{type:d})}catch{try{var b=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return b.append(p),b.getBlob(d)}catch{throw new Error("Bug : can't construct the Blob.")}}};var g={stringifyByChunk:function(p,d,b){var w=[],k=0,P=p.length;if(P<=b)return String.fromCharCode.apply(null,p);for(;k<P;)d==="array"||d==="nodebuffer"?w.push(String.fromCharCode.apply(null,p.slice(k,Math.min(k+b,P)))):w.push(String.fromCharCode.apply(null,p.subarray(k,Math.min(k+b,P)))),k+=b;return w.join("")},stringifyByChar:function(p){for(var d="",b=0;b<p.length;b++)d+=String.fromCharCode(p[b]);return d},applyCanBeUsed:{uint8array:(function(){try{return a.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return a.nodebuffer&&String.fromCharCode.apply(null,o.allocBuffer(1)).length===1}catch{return!1}})()}};function h(p){var d=65536,b=i.getTypeOf(p),w=!0;if(b==="uint8array"?w=g.applyCanBeUsed.uint8array:b==="nodebuffer"&&(w=g.applyCanBeUsed.nodebuffer),w)for(;1<d;)try{return g.stringifyByChunk(p,b,d)}catch{d=Math.floor(d/2)}return g.stringifyByChar(p)}function c(p,d){for(var b=0;b<p.length;b++)d[b]=p[b];return d}i.applyFromCharCode=h;var T={};T.string={string:m,array:function(p){return y(p,new Array(p.length))},arraybuffer:function(p){return T.string.uint8array(p).buffer},uint8array:function(p){return y(p,new Uint8Array(p.length))},nodebuffer:function(p){return y(p,o.allocBuffer(p.length))}},T.array={string:h,array:m,arraybuffer:function(p){return new Uint8Array(p).buffer},uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return o.newBufferFrom(p)}},T.arraybuffer={string:function(p){return h(new Uint8Array(p))},array:function(p){return c(new Uint8Array(p),new Array(p.byteLength))},arraybuffer:m,uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return o.newBufferFrom(new Uint8Array(p))}},T.uint8array={string:h,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return p.buffer},uint8array:m,nodebuffer:function(p){return o.newBufferFrom(p)}},T.nodebuffer={string:h,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return T.nodebuffer.uint8array(p).buffer},uint8array:function(p){return c(p,new Uint8Array(p.length))},nodebuffer:m},i.transformTo=function(p,d){if(d=d||"",!p)return d;i.checkSupport(p);var b=i.getTypeOf(d);return T[b][p](d)},i.resolve=function(p){for(var d=p.split("/"),b=[],w=0;w<d.length;w++){var k=d[w];k==="."||k===""&&w!==0&&w!==d.length-1||(k===".."?b.pop():b.push(k))}return b.join("/")},i.getTypeOf=function(p){return typeof p=="string"?"string":Object.prototype.toString.call(p)==="[object Array]"?"array":a.nodebuffer&&o.isBuffer(p)?"nodebuffer":a.uint8array&&p instanceof Uint8Array?"uint8array":a.arraybuffer&&p instanceof ArrayBuffer?"arraybuffer":void 0},i.checkSupport=function(p){if(!a[p.toLowerCase()])throw new Error(p+" is not supported by this platform")},i.MAX_VALUE_16BITS=65535,i.MAX_VALUE_32BITS=-1,i.pretty=function(p){var d,b,w="";for(b=0;b<(p||"").length;b++)w+="\\x"+((d=p.charCodeAt(b))<16?"0":"")+d.toString(16).toUpperCase();return w},i.delay=function(p,d,b){setImmediate(function(){p.apply(b||null,d||[])})},i.inherits=function(p,d){function b(){}b.prototype=d.prototype,p.prototype=new b},i.extend=function(){var p,d,b={};for(p=0;p<arguments.length;p++)for(d in arguments[p])Object.prototype.hasOwnProperty.call(arguments[p],d)&&b[d]===void 0&&(b[d]=arguments[p][d]);return b},i.prepareContent=function(p,d,b,w,k){return r.Promise.resolve(d).then(function(P){return a.blob&&(P instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(P))!==-1)&&typeof FileReader<"u"?new r.Promise(function(_,W){var R=new FileReader;R.onload=function(G){_(G.target.result)},R.onerror=function(G){W(G.target.error)},R.readAsArrayBuffer(P)}):P}).then(function(P){var _=i.getTypeOf(P);return _?(_==="arraybuffer"?P=i.transformTo("uint8array",P):_==="string"&&(k?P=l.decode(P):b&&w!==!0&&(P=(function(W){return y(W,a.uint8array?new Uint8Array(W.length):new Array(W.length))})(P))),P):r.Promise.reject(new Error("Can't read the data of '"+p+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(t,n,i){var a=t("./reader/readerFor"),l=t("./utils"),o=t("./signature"),r=t("./zipEntry"),m=t("./support");function y(g){this.files=[],this.loadOptions=g}y.prototype={checkSignature:function(g){if(!this.reader.readAndCheckSignature(g)){this.reader.index-=4;var h=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+l.pretty(h)+", expected "+l.pretty(g)+")")}},isSignature:function(g,h){var c=this.reader.index;this.reader.setIndex(g);var T=this.reader.readString(4)===h;return this.reader.setIndex(c),T},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var g=this.reader.readData(this.zipCommentLength),h=m.uint8array?"uint8array":"array",c=l.transformTo(h,g);this.zipComment=this.loadOptions.decodeFileName(c)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var g,h,c,T=this.zip64EndOfCentralSize-44;0<T;)g=this.reader.readInt(2),h=this.reader.readInt(4),c=this.reader.readData(h),this.zip64ExtensibleData[g]={id:g,length:h,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var g,h;for(g=0;g<this.files.length;g++)h=this.files[g],this.reader.setIndex(h.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),h.readLocalPart(this.reader),h.handleUTF8(),h.processAttributes()},readCentralDir:function(){var g;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(g=new r({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(g);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var g=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(g<0)throw this.isSignature(0,o.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(g);var h=g;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===l.MAX_VALUE_16BITS||this.diskWithCentralDirStart===l.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===l.MAX_VALUE_16BITS||this.centralDirRecords===l.MAX_VALUE_16BITS||this.centralDirSize===l.MAX_VALUE_32BITS||this.centralDirOffset===l.MAX_VALUE_32BITS){if(this.zip64=!0,(g=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(g),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var c=this.centralDirOffset+this.centralDirSize;this.zip64&&(c+=20,c+=12+this.zip64EndOfCentralSize);var T=h-c;if(0<T)this.isSignature(h,o.CENTRAL_FILE_HEADER)||(this.reader.zero=T);else if(T<0)throw new Error("Corrupted zip: missing "+Math.abs(T)+" bytes.")},prepareReader:function(g){this.reader=a(g)},load:function(g){this.prepareReader(g),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},n.exports=y},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(t,n,i){var a=t("./reader/readerFor"),l=t("./utils"),o=t("./compressedObject"),r=t("./crc32"),m=t("./utf8"),y=t("./compressions"),g=t("./support");function h(c,T){this.options=c,this.loadOptions=T}h.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(c){var T,p;if(c.skip(22),this.fileNameLength=c.readInt(2),p=c.readInt(2),this.fileName=c.readData(this.fileNameLength),c.skip(p),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((T=(function(d){for(var b in y)if(Object.prototype.hasOwnProperty.call(y,b)&&y[b].magic===d)return y[b];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+l.pretty(this.compressionMethod)+" unknown (inner file : "+l.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,T,c.readData(this.compressedSize))},readCentralPart:function(c){this.versionMadeBy=c.readInt(2),c.skip(2),this.bitFlag=c.readInt(2),this.compressionMethod=c.readString(2),this.date=c.readDate(),this.crc32=c.readInt(4),this.compressedSize=c.readInt(4),this.uncompressedSize=c.readInt(4);var T=c.readInt(2);if(this.extraFieldsLength=c.readInt(2),this.fileCommentLength=c.readInt(2),this.diskNumberStart=c.readInt(2),this.internalFileAttributes=c.readInt(2),this.externalFileAttributes=c.readInt(4),this.localHeaderOffset=c.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");c.skip(T),this.readExtraFields(c),this.parseZIP64ExtraField(c),this.fileComment=c.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var c=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),c==0&&(this.dosPermissions=63&this.externalFileAttributes),c==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var c=a(this.extraFields[1].value);this.uncompressedSize===l.MAX_VALUE_32BITS&&(this.uncompressedSize=c.readInt(8)),this.compressedSize===l.MAX_VALUE_32BITS&&(this.compressedSize=c.readInt(8)),this.localHeaderOffset===l.MAX_VALUE_32BITS&&(this.localHeaderOffset=c.readInt(8)),this.diskNumberStart===l.MAX_VALUE_32BITS&&(this.diskNumberStart=c.readInt(4))}},readExtraFields:function(c){var T,p,d,b=c.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});c.index+4<b;)T=c.readInt(2),p=c.readInt(2),d=c.readData(p),this.extraFields[T]={id:T,length:p,value:d};c.setIndex(b)},handleUTF8:function(){var c=g.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=m.utf8decode(this.fileName),this.fileCommentStr=m.utf8decode(this.fileComment);else{var T=this.findExtraFieldUnicodePath();if(T!==null)this.fileNameStr=T;else{var p=l.transformTo(c,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(p)}var d=this.findExtraFieldUnicodeComment();if(d!==null)this.fileCommentStr=d;else{var b=l.transformTo(c,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(b)}}},findExtraFieldUnicodePath:function(){var c=this.extraFields[28789];if(c){var T=a(c.value);return T.readInt(1)!==1||r(this.fileName)!==T.readInt(4)?null:m.utf8decode(T.readData(c.length-5))}return null},findExtraFieldUnicodeComment:function(){var c=this.extraFields[25461];if(c){var T=a(c.value);return T.readInt(1)!==1||r(this.fileComment)!==T.readInt(4)?null:m.utf8decode(T.readData(c.length-5))}return null}},n.exports=h},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,n,i){function a(T,p,d){this.name=T,this.dir=d.dir,this.date=d.date,this.comment=d.comment,this.unixPermissions=d.unixPermissions,this.dosPermissions=d.dosPermissions,this._data=p,this._dataBinary=d.binary,this.options={compression:d.compression,compressionOptions:d.compressionOptions}}var l=t("./stream/StreamHelper"),o=t("./stream/DataWorker"),r=t("./utf8"),m=t("./compressedObject"),y=t("./stream/GenericWorker");a.prototype={internalStream:function(T){var p=null,d="string";try{if(!T)throw new Error("No output type specified.");var b=(d=T.toLowerCase())==="string"||d==="text";d!=="binarystring"&&d!=="text"||(d="string"),p=this._decompressWorker();var w=!this._dataBinary;w&&!b&&(p=p.pipe(new r.Utf8EncodeWorker)),!w&&b&&(p=p.pipe(new r.Utf8DecodeWorker))}catch(k){(p=new y("error")).error(k)}return new l(p,d,"")},async:function(T,p){return this.internalStream(T).accumulate(p)},nodeStream:function(T,p){return this.internalStream(T||"nodebuffer").toNodejsStream(p)},_compressWorker:function(T,p){if(this._data instanceof m&&this._data.compression.magic===T.magic)return this._data.getCompressedWorker();var d=this._decompressWorker();return this._dataBinary||(d=d.pipe(new r.Utf8EncodeWorker)),m.createWorkerFrom(d,T,p)},_decompressWorker:function(){return this._data instanceof m?this._data.getContentWorker():this._data instanceof y?this._data:new o(this._data)}};for(var g=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],h=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},c=0;c<g.length;c++)a.prototype[g[c]]=h;n.exports=a},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,n,i){(function(a){var l,o,r=a.MutationObserver||a.WebKitMutationObserver;if(r){var m=0,y=new r(T),g=a.document.createTextNode("");y.observe(g,{characterData:!0}),l=function(){g.data=m=++m%2}}else if(a.setImmediate||a.MessageChannel===void 0)l="document"in a&&"onreadystatechange"in a.document.createElement("script")?function(){var p=a.document.createElement("script");p.onreadystatechange=function(){T(),p.onreadystatechange=null,p.parentNode.removeChild(p),p=null},a.document.documentElement.appendChild(p)}:function(){setTimeout(T,0)};else{var h=new a.MessageChannel;h.port1.onmessage=T,l=function(){h.port2.postMessage(0)}}var c=[];function T(){var p,d;o=!0;for(var b=c.length;b;){for(d=c,c=[],p=-1;++p<b;)d[p]();b=c.length}o=!1}n.exports=function(p){c.push(p)!==1||o||l()}}).call(this,typeof gt<"u"?gt:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(t,n,i){var a=t("immediate");function l(){}var o={},r=["REJECTED"],m=["FULFILLED"],y=["PENDING"];function g(b){if(typeof b!="function")throw new TypeError("resolver must be a function");this.state=y,this.queue=[],this.outcome=void 0,b!==l&&p(this,b)}function h(b,w,k){this.promise=b,typeof w=="function"&&(this.onFulfilled=w,this.callFulfilled=this.otherCallFulfilled),typeof k=="function"&&(this.onRejected=k,this.callRejected=this.otherCallRejected)}function c(b,w,k){a(function(){var P;try{P=w(k)}catch(_){return o.reject(b,_)}P===b?o.reject(b,new TypeError("Cannot resolve promise with itself")):o.resolve(b,P)})}function T(b){var w=b&&b.then;if(b&&(typeof b=="object"||typeof b=="function")&&typeof w=="function")return function(){w.apply(b,arguments)}}function p(b,w){var k=!1;function P(R){k||(k=!0,o.reject(b,R))}function _(R){k||(k=!0,o.resolve(b,R))}var W=d(function(){w(_,P)});W.status==="error"&&P(W.value)}function d(b,w){var k={};try{k.value=b(w),k.status="success"}catch(P){k.status="error",k.value=P}return k}(n.exports=g).prototype.finally=function(b){if(typeof b!="function")return this;var w=this.constructor;return this.then(function(k){return w.resolve(b()).then(function(){return k})},function(k){return w.resolve(b()).then(function(){throw k})})},g.prototype.catch=function(b){return this.then(null,b)},g.prototype.then=function(b,w){if(typeof b!="function"&&this.state===m||typeof w!="function"&&this.state===r)return this;var k=new this.constructor(l);return this.state!==y?c(k,this.state===m?b:w,this.outcome):this.queue.push(new h(k,b,w)),k},h.prototype.callFulfilled=function(b){o.resolve(this.promise,b)},h.prototype.otherCallFulfilled=function(b){c(this.promise,this.onFulfilled,b)},h.prototype.callRejected=function(b){o.reject(this.promise,b)},h.prototype.otherCallRejected=function(b){c(this.promise,this.onRejected,b)},o.resolve=function(b,w){var k=d(T,w);if(k.status==="error")return o.reject(b,k.value);var P=k.value;if(P)p(b,P);else{b.state=m,b.outcome=w;for(var _=-1,W=b.queue.length;++_<W;)b.queue[_].callFulfilled(w)}return b},o.reject=function(b,w){b.state=r,b.outcome=w;for(var k=-1,P=b.queue.length;++k<P;)b.queue[k].callRejected(w);return b},g.resolve=function(b){return b instanceof this?b:o.resolve(new this(l),b)},g.reject=function(b){var w=new this(l);return o.reject(w,b)},g.all=function(b){var w=this;if(Object.prototype.toString.call(b)!=="[object Array]")return this.reject(new TypeError("must be an array"));var k=b.length,P=!1;if(!k)return this.resolve([]);for(var _=new Array(k),W=0,R=-1,G=new this(l);++R<k;)O(b[R],R);return G;function O(Y,te){w.resolve(Y).then(function(F){_[te]=F,++W!==k||P||(P=!0,o.resolve(G,_))},function(F){P||(P=!0,o.reject(G,F))})}},g.race=function(b){var w=this;if(Object.prototype.toString.call(b)!=="[object Array]")return this.reject(new TypeError("must be an array"));var k=b.length,P=!1;if(!k)return this.resolve([]);for(var _=-1,W=new this(l);++_<k;)R=b[_],w.resolve(R).then(function(G){P||(P=!0,o.resolve(W,G))},function(G){P||(P=!0,o.reject(W,G))});var R;return W}},{immediate:36}],38:[function(t,n,i){var a={};(0,t("./lib/utils/common").assign)(a,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),n.exports=a},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,n,i){var a=t("./zlib/deflate"),l=t("./utils/common"),o=t("./utils/strings"),r=t("./zlib/messages"),m=t("./zlib/zstream"),y=Object.prototype.toString,g=0,h=-1,c=0,T=8;function p(b){if(!(this instanceof p))return new p(b);this.options=l.assign({level:h,method:T,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},b||{});var w=this.options;w.raw&&0<w.windowBits?w.windowBits=-w.windowBits:w.gzip&&0<w.windowBits&&w.windowBits<16&&(w.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new m,this.strm.avail_out=0;var k=a.deflateInit2(this.strm,w.level,w.method,w.windowBits,w.memLevel,w.strategy);if(k!==g)throw new Error(r[k]);if(w.header&&a.deflateSetHeader(this.strm,w.header),w.dictionary){var P;if(P=typeof w.dictionary=="string"?o.string2buf(w.dictionary):y.call(w.dictionary)==="[object ArrayBuffer]"?new Uint8Array(w.dictionary):w.dictionary,(k=a.deflateSetDictionary(this.strm,P))!==g)throw new Error(r[k]);this._dict_set=!0}}function d(b,w){var k=new p(w);if(k.push(b,!0),k.err)throw k.msg||r[k.err];return k.result}p.prototype.push=function(b,w){var k,P,_=this.strm,W=this.options.chunkSize;if(this.ended)return!1;P=w===~~w?w:w===!0?4:0,typeof b=="string"?_.input=o.string2buf(b):y.call(b)==="[object ArrayBuffer]"?_.input=new Uint8Array(b):_.input=b,_.next_in=0,_.avail_in=_.input.length;do{if(_.avail_out===0&&(_.output=new l.Buf8(W),_.next_out=0,_.avail_out=W),(k=a.deflate(_,P))!==1&&k!==g)return this.onEnd(k),!(this.ended=!0);_.avail_out!==0&&(_.avail_in!==0||P!==4&&P!==2)||(this.options.to==="string"?this.onData(o.buf2binstring(l.shrinkBuf(_.output,_.next_out))):this.onData(l.shrinkBuf(_.output,_.next_out)))}while((0<_.avail_in||_.avail_out===0)&&k!==1);return P===4?(k=a.deflateEnd(this.strm),this.onEnd(k),this.ended=!0,k===g):P!==2||(this.onEnd(g),!(_.avail_out=0))},p.prototype.onData=function(b){this.chunks.push(b)},p.prototype.onEnd=function(b){b===g&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=l.flattenChunks(this.chunks)),this.chunks=[],this.err=b,this.msg=this.strm.msg},i.Deflate=p,i.deflate=d,i.deflateRaw=function(b,w){return(w=w||{}).raw=!0,d(b,w)},i.gzip=function(b,w){return(w=w||{}).gzip=!0,d(b,w)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,n,i){var a=t("./zlib/inflate"),l=t("./utils/common"),o=t("./utils/strings"),r=t("./zlib/constants"),m=t("./zlib/messages"),y=t("./zlib/zstream"),g=t("./zlib/gzheader"),h=Object.prototype.toString;function c(p){if(!(this instanceof c))return new c(p);this.options=l.assign({chunkSize:16384,windowBits:0,to:""},p||{});var d=this.options;d.raw&&0<=d.windowBits&&d.windowBits<16&&(d.windowBits=-d.windowBits,d.windowBits===0&&(d.windowBits=-15)),!(0<=d.windowBits&&d.windowBits<16)||p&&p.windowBits||(d.windowBits+=32),15<d.windowBits&&d.windowBits<48&&(15&d.windowBits)==0&&(d.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new y,this.strm.avail_out=0;var b=a.inflateInit2(this.strm,d.windowBits);if(b!==r.Z_OK)throw new Error(m[b]);this.header=new g,a.inflateGetHeader(this.strm,this.header)}function T(p,d){var b=new c(d);if(b.push(p,!0),b.err)throw b.msg||m[b.err];return b.result}c.prototype.push=function(p,d){var b,w,k,P,_,W,R=this.strm,G=this.options.chunkSize,O=this.options.dictionary,Y=!1;if(this.ended)return!1;w=d===~~d?d:d===!0?r.Z_FINISH:r.Z_NO_FLUSH,typeof p=="string"?R.input=o.binstring2buf(p):h.call(p)==="[object ArrayBuffer]"?R.input=new Uint8Array(p):R.input=p,R.next_in=0,R.avail_in=R.input.length;do{if(R.avail_out===0&&(R.output=new l.Buf8(G),R.next_out=0,R.avail_out=G),(b=a.inflate(R,r.Z_NO_FLUSH))===r.Z_NEED_DICT&&O&&(W=typeof O=="string"?o.string2buf(O):h.call(O)==="[object ArrayBuffer]"?new Uint8Array(O):O,b=a.inflateSetDictionary(this.strm,W)),b===r.Z_BUF_ERROR&&Y===!0&&(b=r.Z_OK,Y=!1),b!==r.Z_STREAM_END&&b!==r.Z_OK)return this.onEnd(b),!(this.ended=!0);R.next_out&&(R.avail_out!==0&&b!==r.Z_STREAM_END&&(R.avail_in!==0||w!==r.Z_FINISH&&w!==r.Z_SYNC_FLUSH)||(this.options.to==="string"?(k=o.utf8border(R.output,R.next_out),P=R.next_out-k,_=o.buf2string(R.output,k),R.next_out=P,R.avail_out=G-P,P&&l.arraySet(R.output,R.output,k,P,0),this.onData(_)):this.onData(l.shrinkBuf(R.output,R.next_out)))),R.avail_in===0&&R.avail_out===0&&(Y=!0)}while((0<R.avail_in||R.avail_out===0)&&b!==r.Z_STREAM_END);return b===r.Z_STREAM_END&&(w=r.Z_FINISH),w===r.Z_FINISH?(b=a.inflateEnd(this.strm),this.onEnd(b),this.ended=!0,b===r.Z_OK):w!==r.Z_SYNC_FLUSH||(this.onEnd(r.Z_OK),!(R.avail_out=0))},c.prototype.onData=function(p){this.chunks.push(p)},c.prototype.onEnd=function(p){p===r.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=l.flattenChunks(this.chunks)),this.chunks=[],this.err=p,this.msg=this.strm.msg},i.Inflate=c,i.inflate=T,i.inflateRaw=function(p,d){return(d=d||{}).raw=!0,T(p,d)},i.ungzip=T},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,n,i){var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";i.assign=function(r){for(var m=Array.prototype.slice.call(arguments,1);m.length;){var y=m.shift();if(y){if(typeof y!="object")throw new TypeError(y+"must be non-object");for(var g in y)y.hasOwnProperty(g)&&(r[g]=y[g])}}return r},i.shrinkBuf=function(r,m){return r.length===m?r:r.subarray?r.subarray(0,m):(r.length=m,r)};var l={arraySet:function(r,m,y,g,h){if(m.subarray&&r.subarray)r.set(m.subarray(y,y+g),h);else for(var c=0;c<g;c++)r[h+c]=m[y+c]},flattenChunks:function(r){var m,y,g,h,c,T;for(m=g=0,y=r.length;m<y;m++)g+=r[m].length;for(T=new Uint8Array(g),m=h=0,y=r.length;m<y;m++)c=r[m],T.set(c,h),h+=c.length;return T}},o={arraySet:function(r,m,y,g,h){for(var c=0;c<g;c++)r[h+c]=m[y+c]},flattenChunks:function(r){return[].concat.apply([],r)}};i.setTyped=function(r){r?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,l)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,o))},i.setTyped(a)},{}],42:[function(t,n,i){var a=t("./common"),l=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch{l=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{o=!1}for(var r=new a.Buf8(256),m=0;m<256;m++)r[m]=252<=m?6:248<=m?5:240<=m?4:224<=m?3:192<=m?2:1;function y(g,h){if(h<65537&&(g.subarray&&o||!g.subarray&&l))return String.fromCharCode.apply(null,a.shrinkBuf(g,h));for(var c="",T=0;T<h;T++)c+=String.fromCharCode(g[T]);return c}r[254]=r[254]=1,i.string2buf=function(g){var h,c,T,p,d,b=g.length,w=0;for(p=0;p<b;p++)(64512&(c=g.charCodeAt(p)))==55296&&p+1<b&&(64512&(T=g.charCodeAt(p+1)))==56320&&(c=65536+(c-55296<<10)+(T-56320),p++),w+=c<128?1:c<2048?2:c<65536?3:4;for(h=new a.Buf8(w),p=d=0;d<w;p++)(64512&(c=g.charCodeAt(p)))==55296&&p+1<b&&(64512&(T=g.charCodeAt(p+1)))==56320&&(c=65536+(c-55296<<10)+(T-56320),p++),c<128?h[d++]=c:(c<2048?h[d++]=192|c>>>6:(c<65536?h[d++]=224|c>>>12:(h[d++]=240|c>>>18,h[d++]=128|c>>>12&63),h[d++]=128|c>>>6&63),h[d++]=128|63&c);return h},i.buf2binstring=function(g){return y(g,g.length)},i.binstring2buf=function(g){for(var h=new a.Buf8(g.length),c=0,T=h.length;c<T;c++)h[c]=g.charCodeAt(c);return h},i.buf2string=function(g,h){var c,T,p,d,b=h||g.length,w=new Array(2*b);for(c=T=0;c<b;)if((p=g[c++])<128)w[T++]=p;else if(4<(d=r[p]))w[T++]=65533,c+=d-1;else{for(p&=d===2?31:d===3?15:7;1<d&&c<b;)p=p<<6|63&g[c++],d--;1<d?w[T++]=65533:p<65536?w[T++]=p:(p-=65536,w[T++]=55296|p>>10&1023,w[T++]=56320|1023&p)}return y(w,T)},i.utf8border=function(g,h){var c;for((h=h||g.length)>g.length&&(h=g.length),c=h-1;0<=c&&(192&g[c])==128;)c--;return c<0||c===0?h:c+r[g[c]]>h?c:h}},{"./common":41}],43:[function(t,n,i){n.exports=function(a,l,o,r){for(var m=65535&a|0,y=a>>>16&65535|0,g=0;o!==0;){for(o-=g=2e3<o?2e3:o;y=y+(m=m+l[r++]|0)|0,--g;);m%=65521,y%=65521}return m|y<<16|0}},{}],44:[function(t,n,i){n.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,n,i){var a=(function(){for(var l,o=[],r=0;r<256;r++){l=r;for(var m=0;m<8;m++)l=1&l?3988292384^l>>>1:l>>>1;o[r]=l}return o})();n.exports=function(l,o,r,m){var y=a,g=m+r;l^=-1;for(var h=m;h<g;h++)l=l>>>8^y[255&(l^o[h])];return-1^l}},{}],46:[function(t,n,i){var a,l=t("../utils/common"),o=t("./trees"),r=t("./adler32"),m=t("./crc32"),y=t("./messages"),g=0,h=4,c=0,T=-2,p=-1,d=4,b=2,w=8,k=9,P=286,_=30,W=19,R=2*P+1,G=15,O=3,Y=258,te=Y+O+1,F=42,Z=113,f=1,J=2,me=3,X=4;function be(u,j){return u.msg=y[j],j}function Q(u){return(u<<1)-(4<u?9:0)}function ae(u){for(var j=u.length;0<=--j;)u[j]=0}function M(u){var j=u.state,L=j.pending;L>u.avail_out&&(L=u.avail_out),L!==0&&(l.arraySet(u.output,j.pending_buf,j.pending_out,L,u.next_out),u.next_out+=L,j.pending_out+=L,u.total_out+=L,u.avail_out-=L,j.pending-=L,j.pending===0&&(j.pending_out=0))}function x(u,j){o._tr_flush_block(u,0<=u.block_start?u.block_start:-1,u.strstart-u.block_start,j),u.block_start=u.strstart,M(u.strm)}function H(u,j){u.pending_buf[u.pending++]=j}function K(u,j){u.pending_buf[u.pending++]=j>>>8&255,u.pending_buf[u.pending++]=255&j}function q(u,j){var L,C,v=u.max_chain_length,S=u.strstart,N=u.prev_length,V=u.nice_match,E=u.strstart>u.w_size-te?u.strstart-(u.w_size-te):0,B=u.window,z=u.w_mask,U=u.prev,$=u.strstart+Y,Te=B[S+N-1],ce=B[S+N];u.prev_length>=u.good_match&&(v>>=2),V>u.lookahead&&(V=u.lookahead);do if(B[(L=j)+N]===ce&&B[L+N-1]===Te&&B[L]===B[S]&&B[++L]===B[S+1]){S+=2,L++;do;while(B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&S<$);if(C=Y-($-S),S=$-Y,N<C){if(u.match_start=j,V<=(N=C))break;Te=B[S+N-1],ce=B[S+N]}}while((j=U[j&z])>E&&--v!=0);return N<=u.lookahead?N:u.lookahead}function fe(u){var j,L,C,v,S,N,V,E,B,z,U=u.w_size;do{if(v=u.window_size-u.lookahead-u.strstart,u.strstart>=U+(U-te)){for(l.arraySet(u.window,u.window,U,U,0),u.match_start-=U,u.strstart-=U,u.block_start-=U,j=L=u.hash_size;C=u.head[--j],u.head[j]=U<=C?C-U:0,--L;);for(j=L=U;C=u.prev[--j],u.prev[j]=U<=C?C-U:0,--L;);v+=U}if(u.strm.avail_in===0)break;if(N=u.strm,V=u.window,E=u.strstart+u.lookahead,B=v,z=void 0,z=N.avail_in,B<z&&(z=B),L=z===0?0:(N.avail_in-=z,l.arraySet(V,N.input,N.next_in,z,E),N.state.wrap===1?N.adler=r(N.adler,V,z,E):N.state.wrap===2&&(N.adler=m(N.adler,V,z,E)),N.next_in+=z,N.total_in+=z,z),u.lookahead+=L,u.lookahead+u.insert>=O)for(S=u.strstart-u.insert,u.ins_h=u.window[S],u.ins_h=(u.ins_h<<u.hash_shift^u.window[S+1])&u.hash_mask;u.insert&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[S+O-1])&u.hash_mask,u.prev[S&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=S,S++,u.insert--,!(u.lookahead+u.insert<O)););}while(u.lookahead<te&&u.strm.avail_in!==0)}function ye(u,j){for(var L,C;;){if(u.lookahead<te){if(fe(u),u.lookahead<te&&j===g)return f;if(u.lookahead===0)break}if(L=0,u.lookahead>=O&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,L=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),L!==0&&u.strstart-L<=u.w_size-te&&(u.match_length=q(u,L)),u.match_length>=O)if(C=o._tr_tally(u,u.strstart-u.match_start,u.match_length-O),u.lookahead-=u.match_length,u.match_length<=u.max_lazy_match&&u.lookahead>=O){for(u.match_length--;u.strstart++,u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,L=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart,--u.match_length!=0;);u.strstart++}else u.strstart+=u.match_length,u.match_length=0,u.ins_h=u.window[u.strstart],u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+1])&u.hash_mask;else C=o._tr_tally(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++;if(C&&(x(u,!1),u.strm.avail_out===0))return f}return u.insert=u.strstart<O-1?u.strstart:O-1,j===h?(x(u,!0),u.strm.avail_out===0?me:X):u.last_lit&&(x(u,!1),u.strm.avail_out===0)?f:J}function re(u,j){for(var L,C,v;;){if(u.lookahead<te){if(fe(u),u.lookahead<te&&j===g)return f;if(u.lookahead===0)break}if(L=0,u.lookahead>=O&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,L=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),u.prev_length=u.match_length,u.prev_match=u.match_start,u.match_length=O-1,L!==0&&u.prev_length<u.max_lazy_match&&u.strstart-L<=u.w_size-te&&(u.match_length=q(u,L),u.match_length<=5&&(u.strategy===1||u.match_length===O&&4096<u.strstart-u.match_start)&&(u.match_length=O-1)),u.prev_length>=O&&u.match_length<=u.prev_length){for(v=u.strstart+u.lookahead-O,C=o._tr_tally(u,u.strstart-1-u.prev_match,u.prev_length-O),u.lookahead-=u.prev_length-1,u.prev_length-=2;++u.strstart<=v&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,L=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),--u.prev_length!=0;);if(u.match_available=0,u.match_length=O-1,u.strstart++,C&&(x(u,!1),u.strm.avail_out===0))return f}else if(u.match_available){if((C=o._tr_tally(u,0,u.window[u.strstart-1]))&&x(u,!1),u.strstart++,u.lookahead--,u.strm.avail_out===0)return f}else u.match_available=1,u.strstart++,u.lookahead--}return u.match_available&&(C=o._tr_tally(u,0,u.window[u.strstart-1]),u.match_available=0),u.insert=u.strstart<O-1?u.strstart:O-1,j===h?(x(u,!0),u.strm.avail_out===0?me:X):u.last_lit&&(x(u,!1),u.strm.avail_out===0)?f:J}function se(u,j,L,C,v){this.good_length=u,this.max_lazy=j,this.nice_length=L,this.max_chain=C,this.func=v}function le(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=w,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new l.Buf16(2*R),this.dyn_dtree=new l.Buf16(2*(2*_+1)),this.bl_tree=new l.Buf16(2*(2*W+1)),ae(this.dyn_ltree),ae(this.dyn_dtree),ae(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new l.Buf16(G+1),this.heap=new l.Buf16(2*P+1),ae(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new l.Buf16(2*P+1),ae(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ue(u){var j;return u&&u.state?(u.total_in=u.total_out=0,u.data_type=b,(j=u.state).pending=0,j.pending_out=0,j.wrap<0&&(j.wrap=-j.wrap),j.status=j.wrap?F:Z,u.adler=j.wrap===2?0:1,j.last_flush=g,o._tr_init(j),c):be(u,T)}function ge(u){var j=ue(u);return j===c&&(function(L){L.window_size=2*L.w_size,ae(L.head),L.max_lazy_match=a[L.level].max_lazy,L.good_match=a[L.level].good_length,L.nice_match=a[L.level].nice_length,L.max_chain_length=a[L.level].max_chain,L.strstart=0,L.block_start=0,L.lookahead=0,L.insert=0,L.match_length=L.prev_length=O-1,L.match_available=0,L.ins_h=0})(u.state),j}function ve(u,j,L,C,v,S){if(!u)return T;var N=1;if(j===p&&(j=6),C<0?(N=0,C=-C):15<C&&(N=2,C-=16),v<1||k<v||L!==w||C<8||15<C||j<0||9<j||S<0||d<S)return be(u,T);C===8&&(C=9);var V=new le;return(u.state=V).strm=u,V.wrap=N,V.gzhead=null,V.w_bits=C,V.w_size=1<<V.w_bits,V.w_mask=V.w_size-1,V.hash_bits=v+7,V.hash_size=1<<V.hash_bits,V.hash_mask=V.hash_size-1,V.hash_shift=~~((V.hash_bits+O-1)/O),V.window=new l.Buf8(2*V.w_size),V.head=new l.Buf16(V.hash_size),V.prev=new l.Buf16(V.w_size),V.lit_bufsize=1<<v+6,V.pending_buf_size=4*V.lit_bufsize,V.pending_buf=new l.Buf8(V.pending_buf_size),V.d_buf=1*V.lit_bufsize,V.l_buf=3*V.lit_bufsize,V.level=j,V.strategy=S,V.method=L,ge(u)}a=[new se(0,0,0,0,function(u,j){var L=65535;for(L>u.pending_buf_size-5&&(L=u.pending_buf_size-5);;){if(u.lookahead<=1){if(fe(u),u.lookahead===0&&j===g)return f;if(u.lookahead===0)break}u.strstart+=u.lookahead,u.lookahead=0;var C=u.block_start+L;if((u.strstart===0||u.strstart>=C)&&(u.lookahead=u.strstart-C,u.strstart=C,x(u,!1),u.strm.avail_out===0)||u.strstart-u.block_start>=u.w_size-te&&(x(u,!1),u.strm.avail_out===0))return f}return u.insert=0,j===h?(x(u,!0),u.strm.avail_out===0?me:X):(u.strstart>u.block_start&&(x(u,!1),u.strm.avail_out),f)}),new se(4,4,8,4,ye),new se(4,5,16,8,ye),new se(4,6,32,32,ye),new se(4,4,16,16,re),new se(8,16,32,32,re),new se(8,16,128,128,re),new se(8,32,128,256,re),new se(32,128,258,1024,re),new se(32,258,258,4096,re)],i.deflateInit=function(u,j){return ve(u,j,w,15,8,0)},i.deflateInit2=ve,i.deflateReset=ge,i.deflateResetKeep=ue,i.deflateSetHeader=function(u,j){return u&&u.state?u.state.wrap!==2?T:(u.state.gzhead=j,c):T},i.deflate=function(u,j){var L,C,v,S;if(!u||!u.state||5<j||j<0)return u?be(u,T):T;if(C=u.state,!u.output||!u.input&&u.avail_in!==0||C.status===666&&j!==h)return be(u,u.avail_out===0?-5:T);if(C.strm=u,L=C.last_flush,C.last_flush=j,C.status===F)if(C.wrap===2)u.adler=0,H(C,31),H(C,139),H(C,8),C.gzhead?(H(C,(C.gzhead.text?1:0)+(C.gzhead.hcrc?2:0)+(C.gzhead.extra?4:0)+(C.gzhead.name?8:0)+(C.gzhead.comment?16:0)),H(C,255&C.gzhead.time),H(C,C.gzhead.time>>8&255),H(C,C.gzhead.time>>16&255),H(C,C.gzhead.time>>24&255),H(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),H(C,255&C.gzhead.os),C.gzhead.extra&&C.gzhead.extra.length&&(H(C,255&C.gzhead.extra.length),H(C,C.gzhead.extra.length>>8&255)),C.gzhead.hcrc&&(u.adler=m(u.adler,C.pending_buf,C.pending,0)),C.gzindex=0,C.status=69):(H(C,0),H(C,0),H(C,0),H(C,0),H(C,0),H(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),H(C,3),C.status=Z);else{var N=w+(C.w_bits-8<<4)<<8;N|=(2<=C.strategy||C.level<2?0:C.level<6?1:C.level===6?2:3)<<6,C.strstart!==0&&(N|=32),N+=31-N%31,C.status=Z,K(C,N),C.strstart!==0&&(K(C,u.adler>>>16),K(C,65535&u.adler)),u.adler=1}if(C.status===69)if(C.gzhead.extra){for(v=C.pending;C.gzindex<(65535&C.gzhead.extra.length)&&(C.pending!==C.pending_buf_size||(C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),M(u),v=C.pending,C.pending!==C.pending_buf_size));)H(C,255&C.gzhead.extra[C.gzindex]),C.gzindex++;C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),C.gzindex===C.gzhead.extra.length&&(C.gzindex=0,C.status=73)}else C.status=73;if(C.status===73)if(C.gzhead.name){v=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),M(u),v=C.pending,C.pending===C.pending_buf_size)){S=1;break}S=C.gzindex<C.gzhead.name.length?255&C.gzhead.name.charCodeAt(C.gzindex++):0,H(C,S)}while(S!==0);C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),S===0&&(C.gzindex=0,C.status=91)}else C.status=91;if(C.status===91)if(C.gzhead.comment){v=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),M(u),v=C.pending,C.pending===C.pending_buf_size)){S=1;break}S=C.gzindex<C.gzhead.comment.length?255&C.gzhead.comment.charCodeAt(C.gzindex++):0,H(C,S)}while(S!==0);C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),S===0&&(C.status=103)}else C.status=103;if(C.status===103&&(C.gzhead.hcrc?(C.pending+2>C.pending_buf_size&&M(u),C.pending+2<=C.pending_buf_size&&(H(C,255&u.adler),H(C,u.adler>>8&255),u.adler=0,C.status=Z)):C.status=Z),C.pending!==0){if(M(u),u.avail_out===0)return C.last_flush=-1,c}else if(u.avail_in===0&&Q(j)<=Q(L)&&j!==h)return be(u,-5);if(C.status===666&&u.avail_in!==0)return be(u,-5);if(u.avail_in!==0||C.lookahead!==0||j!==g&&C.status!==666){var V=C.strategy===2?(function(E,B){for(var z;;){if(E.lookahead===0&&(fe(E),E.lookahead===0)){if(B===g)return f;break}if(E.match_length=0,z=o._tr_tally(E,0,E.window[E.strstart]),E.lookahead--,E.strstart++,z&&(x(E,!1),E.strm.avail_out===0))return f}return E.insert=0,B===h?(x(E,!0),E.strm.avail_out===0?me:X):E.last_lit&&(x(E,!1),E.strm.avail_out===0)?f:J})(C,j):C.strategy===3?(function(E,B){for(var z,U,$,Te,ce=E.window;;){if(E.lookahead<=Y){if(fe(E),E.lookahead<=Y&&B===g)return f;if(E.lookahead===0)break}if(E.match_length=0,E.lookahead>=O&&0<E.strstart&&(U=ce[$=E.strstart-1])===ce[++$]&&U===ce[++$]&&U===ce[++$]){Te=E.strstart+Y;do;while(U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&$<Te);E.match_length=Y-(Te-$),E.match_length>E.lookahead&&(E.match_length=E.lookahead)}if(E.match_length>=O?(z=o._tr_tally(E,1,E.match_length-O),E.lookahead-=E.match_length,E.strstart+=E.match_length,E.match_length=0):(z=o._tr_tally(E,0,E.window[E.strstart]),E.lookahead--,E.strstart++),z&&(x(E,!1),E.strm.avail_out===0))return f}return E.insert=0,B===h?(x(E,!0),E.strm.avail_out===0?me:X):E.last_lit&&(x(E,!1),E.strm.avail_out===0)?f:J})(C,j):a[C.level].func(C,j);if(V!==me&&V!==X||(C.status=666),V===f||V===me)return u.avail_out===0&&(C.last_flush=-1),c;if(V===J&&(j===1?o._tr_align(C):j!==5&&(o._tr_stored_block(C,0,0,!1),j===3&&(ae(C.head),C.lookahead===0&&(C.strstart=0,C.block_start=0,C.insert=0))),M(u),u.avail_out===0))return C.last_flush=-1,c}return j!==h?c:C.wrap<=0?1:(C.wrap===2?(H(C,255&u.adler),H(C,u.adler>>8&255),H(C,u.adler>>16&255),H(C,u.adler>>24&255),H(C,255&u.total_in),H(C,u.total_in>>8&255),H(C,u.total_in>>16&255),H(C,u.total_in>>24&255)):(K(C,u.adler>>>16),K(C,65535&u.adler)),M(u),0<C.wrap&&(C.wrap=-C.wrap),C.pending!==0?c:1)},i.deflateEnd=function(u){var j;return u&&u.state?(j=u.state.status)!==F&&j!==69&&j!==73&&j!==91&&j!==103&&j!==Z&&j!==666?be(u,T):(u.state=null,j===Z?be(u,-3):c):T},i.deflateSetDictionary=function(u,j){var L,C,v,S,N,V,E,B,z=j.length;if(!u||!u.state||(S=(L=u.state).wrap)===2||S===1&&L.status!==F||L.lookahead)return T;for(S===1&&(u.adler=r(u.adler,j,z,0)),L.wrap=0,z>=L.w_size&&(S===0&&(ae(L.head),L.strstart=0,L.block_start=0,L.insert=0),B=new l.Buf8(L.w_size),l.arraySet(B,j,z-L.w_size,L.w_size,0),j=B,z=L.w_size),N=u.avail_in,V=u.next_in,E=u.input,u.avail_in=z,u.next_in=0,u.input=j,fe(L);L.lookahead>=O;){for(C=L.strstart,v=L.lookahead-(O-1);L.ins_h=(L.ins_h<<L.hash_shift^L.window[C+O-1])&L.hash_mask,L.prev[C&L.w_mask]=L.head[L.ins_h],L.head[L.ins_h]=C,C++,--v;);L.strstart=C,L.lookahead=O-1,fe(L)}return L.strstart+=L.lookahead,L.block_start=L.strstart,L.insert=L.lookahead,L.lookahead=0,L.match_length=L.prev_length=O-1,L.match_available=0,u.next_in=V,u.input=E,u.avail_in=N,L.wrap=S,c},i.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,n,i){n.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,n,i){n.exports=function(a,l){var o,r,m,y,g,h,c,T,p,d,b,w,k,P,_,W,R,G,O,Y,te,F,Z,f,J;o=a.state,r=a.next_in,f=a.input,m=r+(a.avail_in-5),y=a.next_out,J=a.output,g=y-(l-a.avail_out),h=y+(a.avail_out-257),c=o.dmax,T=o.wsize,p=o.whave,d=o.wnext,b=o.window,w=o.hold,k=o.bits,P=o.lencode,_=o.distcode,W=(1<<o.lenbits)-1,R=(1<<o.distbits)-1;e:do{k<15&&(w+=f[r++]<<k,k+=8,w+=f[r++]<<k,k+=8),G=P[w&W];s:for(;;){if(w>>>=O=G>>>24,k-=O,(O=G>>>16&255)===0)J[y++]=65535&G;else{if(!(16&O)){if((64&O)==0){G=P[(65535&G)+(w&(1<<O)-1)];continue s}if(32&O){o.mode=12;break e}a.msg="invalid literal/length code",o.mode=30;break e}Y=65535&G,(O&=15)&&(k<O&&(w+=f[r++]<<k,k+=8),Y+=w&(1<<O)-1,w>>>=O,k-=O),k<15&&(w+=f[r++]<<k,k+=8,w+=f[r++]<<k,k+=8),G=_[w&R];t:for(;;){if(w>>>=O=G>>>24,k-=O,!(16&(O=G>>>16&255))){if((64&O)==0){G=_[(65535&G)+(w&(1<<O)-1)];continue t}a.msg="invalid distance code",o.mode=30;break e}if(te=65535&G,k<(O&=15)&&(w+=f[r++]<<k,(k+=8)<O&&(w+=f[r++]<<k,k+=8)),c<(te+=w&(1<<O)-1)){a.msg="invalid distance too far back",o.mode=30;break e}if(w>>>=O,k-=O,(O=y-g)<te){if(p<(O=te-O)&&o.sane){a.msg="invalid distance too far back",o.mode=30;break e}if(Z=b,(F=0)===d){if(F+=T-O,O<Y){for(Y-=O;J[y++]=b[F++],--O;);F=y-te,Z=J}}else if(d<O){if(F+=T+d-O,(O-=d)<Y){for(Y-=O;J[y++]=b[F++],--O;);if(F=0,d<Y){for(Y-=O=d;J[y++]=b[F++],--O;);F=y-te,Z=J}}}else if(F+=d-O,O<Y){for(Y-=O;J[y++]=b[F++],--O;);F=y-te,Z=J}for(;2<Y;)J[y++]=Z[F++],J[y++]=Z[F++],J[y++]=Z[F++],Y-=3;Y&&(J[y++]=Z[F++],1<Y&&(J[y++]=Z[F++]))}else{for(F=y-te;J[y++]=J[F++],J[y++]=J[F++],J[y++]=J[F++],2<(Y-=3););Y&&(J[y++]=J[F++],1<Y&&(J[y++]=J[F++]))}break}}break}}while(r<m&&y<h);r-=Y=k>>3,w&=(1<<(k-=Y<<3))-1,a.next_in=r,a.next_out=y,a.avail_in=r<m?m-r+5:5-(r-m),a.avail_out=y<h?h-y+257:257-(y-h),o.hold=w,o.bits=k}},{}],49:[function(t,n,i){var a=t("../utils/common"),l=t("./adler32"),o=t("./crc32"),r=t("./inffast"),m=t("./inftrees"),y=1,g=2,h=0,c=-2,T=1,p=852,d=592;function b(F){return(F>>>24&255)+(F>>>8&65280)+((65280&F)<<8)+((255&F)<<24)}function w(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function k(F){var Z;return F&&F.state?(Z=F.state,F.total_in=F.total_out=Z.total=0,F.msg="",Z.wrap&&(F.adler=1&Z.wrap),Z.mode=T,Z.last=0,Z.havedict=0,Z.dmax=32768,Z.head=null,Z.hold=0,Z.bits=0,Z.lencode=Z.lendyn=new a.Buf32(p),Z.distcode=Z.distdyn=new a.Buf32(d),Z.sane=1,Z.back=-1,h):c}function P(F){var Z;return F&&F.state?((Z=F.state).wsize=0,Z.whave=0,Z.wnext=0,k(F)):c}function _(F,Z){var f,J;return F&&F.state?(J=F.state,Z<0?(f=0,Z=-Z):(f=1+(Z>>4),Z<48&&(Z&=15)),Z&&(Z<8||15<Z)?c:(J.window!==null&&J.wbits!==Z&&(J.window=null),J.wrap=f,J.wbits=Z,P(F))):c}function W(F,Z){var f,J;return F?(J=new w,(F.state=J).window=null,(f=_(F,Z))!==h&&(F.state=null),f):c}var R,G,O=!0;function Y(F){if(O){var Z;for(R=new a.Buf32(512),G=new a.Buf32(32),Z=0;Z<144;)F.lens[Z++]=8;for(;Z<256;)F.lens[Z++]=9;for(;Z<280;)F.lens[Z++]=7;for(;Z<288;)F.lens[Z++]=8;for(m(y,F.lens,0,288,R,0,F.work,{bits:9}),Z=0;Z<32;)F.lens[Z++]=5;m(g,F.lens,0,32,G,0,F.work,{bits:5}),O=!1}F.lencode=R,F.lenbits=9,F.distcode=G,F.distbits=5}function te(F,Z,f,J){var me,X=F.state;return X.window===null&&(X.wsize=1<<X.wbits,X.wnext=0,X.whave=0,X.window=new a.Buf8(X.wsize)),J>=X.wsize?(a.arraySet(X.window,Z,f-X.wsize,X.wsize,0),X.wnext=0,X.whave=X.wsize):(J<(me=X.wsize-X.wnext)&&(me=J),a.arraySet(X.window,Z,f-J,me,X.wnext),(J-=me)?(a.arraySet(X.window,Z,f-J,J,0),X.wnext=J,X.whave=X.wsize):(X.wnext+=me,X.wnext===X.wsize&&(X.wnext=0),X.whave<X.wsize&&(X.whave+=me))),0}i.inflateReset=P,i.inflateReset2=_,i.inflateResetKeep=k,i.inflateInit=function(F){return W(F,15)},i.inflateInit2=W,i.inflate=function(F,Z){var f,J,me,X,be,Q,ae,M,x,H,K,q,fe,ye,re,se,le,ue,ge,ve,u,j,L,C,v=0,S=new a.Buf8(4),N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!F||!F.state||!F.output||!F.input&&F.avail_in!==0)return c;(f=F.state).mode===12&&(f.mode=13),be=F.next_out,me=F.output,ae=F.avail_out,X=F.next_in,J=F.input,Q=F.avail_in,M=f.hold,x=f.bits,H=Q,K=ae,j=h;e:for(;;)switch(f.mode){case T:if(f.wrap===0){f.mode=13;break}for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(2&f.wrap&&M===35615){S[f.check=0]=255&M,S[1]=M>>>8&255,f.check=o(f.check,S,2,0),x=M=0,f.mode=2;break}if(f.flags=0,f.head&&(f.head.done=!1),!(1&f.wrap)||(((255&M)<<8)+(M>>8))%31){F.msg="incorrect header check",f.mode=30;break}if((15&M)!=8){F.msg="unknown compression method",f.mode=30;break}if(x-=4,u=8+(15&(M>>>=4)),f.wbits===0)f.wbits=u;else if(u>f.wbits){F.msg="invalid window size",f.mode=30;break}f.dmax=1<<u,F.adler=f.check=1,f.mode=512&M?10:12,x=M=0;break;case 2:for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(f.flags=M,(255&f.flags)!=8){F.msg="unknown compression method",f.mode=30;break}if(57344&f.flags){F.msg="unknown header flags set",f.mode=30;break}f.head&&(f.head.text=M>>8&1),512&f.flags&&(S[0]=255&M,S[1]=M>>>8&255,f.check=o(f.check,S,2,0)),x=M=0,f.mode=3;case 3:for(;x<32;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.head&&(f.head.time=M),512&f.flags&&(S[0]=255&M,S[1]=M>>>8&255,S[2]=M>>>16&255,S[3]=M>>>24&255,f.check=o(f.check,S,4,0)),x=M=0,f.mode=4;case 4:for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.head&&(f.head.xflags=255&M,f.head.os=M>>8),512&f.flags&&(S[0]=255&M,S[1]=M>>>8&255,f.check=o(f.check,S,2,0)),x=M=0,f.mode=5;case 5:if(1024&f.flags){for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.length=M,f.head&&(f.head.extra_len=M),512&f.flags&&(S[0]=255&M,S[1]=M>>>8&255,f.check=o(f.check,S,2,0)),x=M=0}else f.head&&(f.head.extra=null);f.mode=6;case 6:if(1024&f.flags&&(Q<(q=f.length)&&(q=Q),q&&(f.head&&(u=f.head.extra_len-f.length,f.head.extra||(f.head.extra=new Array(f.head.extra_len)),a.arraySet(f.head.extra,J,X,q,u)),512&f.flags&&(f.check=o(f.check,J,q,X)),Q-=q,X+=q,f.length-=q),f.length))break e;f.length=0,f.mode=7;case 7:if(2048&f.flags){if(Q===0)break e;for(q=0;u=J[X+q++],f.head&&u&&f.length<65536&&(f.head.name+=String.fromCharCode(u)),u&&q<Q;);if(512&f.flags&&(f.check=o(f.check,J,q,X)),Q-=q,X+=q,u)break e}else f.head&&(f.head.name=null);f.length=0,f.mode=8;case 8:if(4096&f.flags){if(Q===0)break e;for(q=0;u=J[X+q++],f.head&&u&&f.length<65536&&(f.head.comment+=String.fromCharCode(u)),u&&q<Q;);if(512&f.flags&&(f.check=o(f.check,J,q,X)),Q-=q,X+=q,u)break e}else f.head&&(f.head.comment=null);f.mode=9;case 9:if(512&f.flags){for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(M!==(65535&f.check)){F.msg="header crc mismatch",f.mode=30;break}x=M=0}f.head&&(f.head.hcrc=f.flags>>9&1,f.head.done=!0),F.adler=f.check=0,f.mode=12;break;case 10:for(;x<32;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}F.adler=f.check=b(M),x=M=0,f.mode=11;case 11:if(f.havedict===0)return F.next_out=be,F.avail_out=ae,F.next_in=X,F.avail_in=Q,f.hold=M,f.bits=x,2;F.adler=f.check=1,f.mode=12;case 12:if(Z===5||Z===6)break e;case 13:if(f.last){M>>>=7&x,x-=7&x,f.mode=27;break}for(;x<3;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}switch(f.last=1&M,x-=1,3&(M>>>=1)){case 0:f.mode=14;break;case 1:if(Y(f),f.mode=20,Z!==6)break;M>>>=2,x-=2;break e;case 2:f.mode=17;break;case 3:F.msg="invalid block type",f.mode=30}M>>>=2,x-=2;break;case 14:for(M>>>=7&x,x-=7&x;x<32;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if((65535&M)!=(M>>>16^65535)){F.msg="invalid stored block lengths",f.mode=30;break}if(f.length=65535&M,x=M=0,f.mode=15,Z===6)break e;case 15:f.mode=16;case 16:if(q=f.length){if(Q<q&&(q=Q),ae<q&&(q=ae),q===0)break e;a.arraySet(me,J,X,q,be),Q-=q,X+=q,ae-=q,be+=q,f.length-=q;break}f.mode=12;break;case 17:for(;x<14;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(f.nlen=257+(31&M),M>>>=5,x-=5,f.ndist=1+(31&M),M>>>=5,x-=5,f.ncode=4+(15&M),M>>>=4,x-=4,286<f.nlen||30<f.ndist){F.msg="too many length or distance symbols",f.mode=30;break}f.have=0,f.mode=18;case 18:for(;f.have<f.ncode;){for(;x<3;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.lens[N[f.have++]]=7&M,M>>>=3,x-=3}for(;f.have<19;)f.lens[N[f.have++]]=0;if(f.lencode=f.lendyn,f.lenbits=7,L={bits:f.lenbits},j=m(0,f.lens,0,19,f.lencode,0,f.work,L),f.lenbits=L.bits,j){F.msg="invalid code lengths set",f.mode=30;break}f.have=0,f.mode=19;case 19:for(;f.have<f.nlen+f.ndist;){for(;se=(v=f.lencode[M&(1<<f.lenbits)-1])>>>16&255,le=65535&v,!((re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(le<16)M>>>=re,x-=re,f.lens[f.have++]=le;else{if(le===16){for(C=re+2;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(M>>>=re,x-=re,f.have===0){F.msg="invalid bit length repeat",f.mode=30;break}u=f.lens[f.have-1],q=3+(3&M),M>>>=2,x-=2}else if(le===17){for(C=re+3;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}x-=re,u=0,q=3+(7&(M>>>=re)),M>>>=3,x-=3}else{for(C=re+7;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}x-=re,u=0,q=11+(127&(M>>>=re)),M>>>=7,x-=7}if(f.have+q>f.nlen+f.ndist){F.msg="invalid bit length repeat",f.mode=30;break}for(;q--;)f.lens[f.have++]=u}}if(f.mode===30)break;if(f.lens[256]===0){F.msg="invalid code -- missing end-of-block",f.mode=30;break}if(f.lenbits=9,L={bits:f.lenbits},j=m(y,f.lens,0,f.nlen,f.lencode,0,f.work,L),f.lenbits=L.bits,j){F.msg="invalid literal/lengths set",f.mode=30;break}if(f.distbits=6,f.distcode=f.distdyn,L={bits:f.distbits},j=m(g,f.lens,f.nlen,f.ndist,f.distcode,0,f.work,L),f.distbits=L.bits,j){F.msg="invalid distances set",f.mode=30;break}if(f.mode=20,Z===6)break e;case 20:f.mode=21;case 21:if(6<=Q&&258<=ae){F.next_out=be,F.avail_out=ae,F.next_in=X,F.avail_in=Q,f.hold=M,f.bits=x,r(F,K),be=F.next_out,me=F.output,ae=F.avail_out,X=F.next_in,J=F.input,Q=F.avail_in,M=f.hold,x=f.bits,f.mode===12&&(f.back=-1);break}for(f.back=0;se=(v=f.lencode[M&(1<<f.lenbits)-1])>>>16&255,le=65535&v,!((re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(se&&(240&se)==0){for(ue=re,ge=se,ve=le;se=(v=f.lencode[ve+((M&(1<<ue+ge)-1)>>ue)])>>>16&255,le=65535&v,!(ue+(re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}M>>>=ue,x-=ue,f.back+=ue}if(M>>>=re,x-=re,f.back+=re,f.length=le,se===0){f.mode=26;break}if(32&se){f.back=-1,f.mode=12;break}if(64&se){F.msg="invalid literal/length code",f.mode=30;break}f.extra=15&se,f.mode=22;case 22:if(f.extra){for(C=f.extra;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.length+=M&(1<<f.extra)-1,M>>>=f.extra,x-=f.extra,f.back+=f.extra}f.was=f.length,f.mode=23;case 23:for(;se=(v=f.distcode[M&(1<<f.distbits)-1])>>>16&255,le=65535&v,!((re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if((240&se)==0){for(ue=re,ge=se,ve=le;se=(v=f.distcode[ve+((M&(1<<ue+ge)-1)>>ue)])>>>16&255,le=65535&v,!(ue+(re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}M>>>=ue,x-=ue,f.back+=ue}if(M>>>=re,x-=re,f.back+=re,64&se){F.msg="invalid distance code",f.mode=30;break}f.offset=le,f.extra=15&se,f.mode=24;case 24:if(f.extra){for(C=f.extra;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.offset+=M&(1<<f.extra)-1,M>>>=f.extra,x-=f.extra,f.back+=f.extra}if(f.offset>f.dmax){F.msg="invalid distance too far back",f.mode=30;break}f.mode=25;case 25:if(ae===0)break e;if(q=K-ae,f.offset>q){if((q=f.offset-q)>f.whave&&f.sane){F.msg="invalid distance too far back",f.mode=30;break}fe=q>f.wnext?(q-=f.wnext,f.wsize-q):f.wnext-q,q>f.length&&(q=f.length),ye=f.window}else ye=me,fe=be-f.offset,q=f.length;for(ae<q&&(q=ae),ae-=q,f.length-=q;me[be++]=ye[fe++],--q;);f.length===0&&(f.mode=21);break;case 26:if(ae===0)break e;me[be++]=f.length,ae--,f.mode=21;break;case 27:if(f.wrap){for(;x<32;){if(Q===0)break e;Q--,M|=J[X++]<<x,x+=8}if(K-=ae,F.total_out+=K,f.total+=K,K&&(F.adler=f.check=f.flags?o(f.check,me,K,be-K):l(f.check,me,K,be-K)),K=ae,(f.flags?M:b(M))!==f.check){F.msg="incorrect data check",f.mode=30;break}x=M=0}f.mode=28;case 28:if(f.wrap&&f.flags){for(;x<32;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(M!==(4294967295&f.total)){F.msg="incorrect length check",f.mode=30;break}x=M=0}f.mode=29;case 29:j=1;break e;case 30:j=-3;break e;case 31:return-4;default:return c}return F.next_out=be,F.avail_out=ae,F.next_in=X,F.avail_in=Q,f.hold=M,f.bits=x,(f.wsize||K!==F.avail_out&&f.mode<30&&(f.mode<27||Z!==4))&&te(F,F.output,F.next_out,K-F.avail_out)?(f.mode=31,-4):(H-=F.avail_in,K-=F.avail_out,F.total_in+=H,F.total_out+=K,f.total+=K,f.wrap&&K&&(F.adler=f.check=f.flags?o(f.check,me,K,F.next_out-K):l(f.check,me,K,F.next_out-K)),F.data_type=f.bits+(f.last?64:0)+(f.mode===12?128:0)+(f.mode===20||f.mode===15?256:0),(H==0&&K===0||Z===4)&&j===h&&(j=-5),j)},i.inflateEnd=function(F){if(!F||!F.state)return c;var Z=F.state;return Z.window&&(Z.window=null),F.state=null,h},i.inflateGetHeader=function(F,Z){var f;return F&&F.state?(2&(f=F.state).wrap)==0?c:((f.head=Z).done=!1,h):c},i.inflateSetDictionary=function(F,Z){var f,J=Z.length;return F&&F.state?(f=F.state).wrap!==0&&f.mode!==11?c:f.mode===11&&l(1,Z,J,0)!==f.check?-3:te(F,Z,J,J)?(f.mode=31,-4):(f.havedict=1,h):c},i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,n,i){var a=t("../utils/common"),l=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],r=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];n.exports=function(y,g,h,c,T,p,d,b){var w,k,P,_,W,R,G,O,Y,te=b.bits,F=0,Z=0,f=0,J=0,me=0,X=0,be=0,Q=0,ae=0,M=0,x=null,H=0,K=new a.Buf16(16),q=new a.Buf16(16),fe=null,ye=0;for(F=0;F<=15;F++)K[F]=0;for(Z=0;Z<c;Z++)K[g[h+Z]]++;for(me=te,J=15;1<=J&&K[J]===0;J--);if(J<me&&(me=J),J===0)return T[p++]=20971520,T[p++]=20971520,b.bits=1,0;for(f=1;f<J&&K[f]===0;f++);for(me<f&&(me=f),F=Q=1;F<=15;F++)if(Q<<=1,(Q-=K[F])<0)return-1;if(0<Q&&(y===0||J!==1))return-1;for(q[1]=0,F=1;F<15;F++)q[F+1]=q[F]+K[F];for(Z=0;Z<c;Z++)g[h+Z]!==0&&(d[q[g[h+Z]]++]=Z);if(R=y===0?(x=fe=d,19):y===1?(x=l,H-=257,fe=o,ye-=257,256):(x=r,fe=m,-1),F=f,W=p,be=Z=M=0,P=-1,_=(ae=1<<(X=me))-1,y===1&&852<ae||y===2&&592<ae)return 1;for(;;){for(G=F-be,Y=d[Z]<R?(O=0,d[Z]):d[Z]>R?(O=fe[ye+d[Z]],x[H+d[Z]]):(O=96,0),w=1<<F-be,f=k=1<<X;T[W+(M>>be)+(k-=w)]=G<<24|O<<16|Y|0,k!==0;);for(w=1<<F-1;M&w;)w>>=1;if(w!==0?(M&=w-1,M+=w):M=0,Z++,--K[F]==0){if(F===J)break;F=g[h+d[Z]]}if(me<F&&(M&_)!==P){for(be===0&&(be=me),W+=f,Q=1<<(X=F-be);X+be<J&&!((Q-=K[X+be])<=0);)X++,Q<<=1;if(ae+=1<<X,y===1&&852<ae||y===2&&592<ae)return 1;T[P=M&_]=me<<24|X<<16|W-p|0}}return M!==0&&(T[W+M]=F-be<<24|64<<16|0),b.bits=me,0}},{"../utils/common":41}],51:[function(t,n,i){n.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,n,i){var a=t("../utils/common"),l=0,o=1;function r(v){for(var S=v.length;0<=--S;)v[S]=0}var m=0,y=29,g=256,h=g+1+y,c=30,T=19,p=2*h+1,d=15,b=16,w=7,k=256,P=16,_=17,W=18,R=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],G=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Y=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],te=new Array(2*(h+2));r(te);var F=new Array(2*c);r(F);var Z=new Array(512);r(Z);var f=new Array(256);r(f);var J=new Array(y);r(J);var me,X,be,Q=new Array(c);function ae(v,S,N,V,E){this.static_tree=v,this.extra_bits=S,this.extra_base=N,this.elems=V,this.max_length=E,this.has_stree=v&&v.length}function M(v,S){this.dyn_tree=v,this.max_code=0,this.stat_desc=S}function x(v){return v<256?Z[v]:Z[256+(v>>>7)]}function H(v,S){v.pending_buf[v.pending++]=255&S,v.pending_buf[v.pending++]=S>>>8&255}function K(v,S,N){v.bi_valid>b-N?(v.bi_buf|=S<<v.bi_valid&65535,H(v,v.bi_buf),v.bi_buf=S>>b-v.bi_valid,v.bi_valid+=N-b):(v.bi_buf|=S<<v.bi_valid&65535,v.bi_valid+=N)}function q(v,S,N){K(v,N[2*S],N[2*S+1])}function fe(v,S){for(var N=0;N|=1&v,v>>>=1,N<<=1,0<--S;);return N>>>1}function ye(v,S,N){var V,E,B=new Array(d+1),z=0;for(V=1;V<=d;V++)B[V]=z=z+N[V-1]<<1;for(E=0;E<=S;E++){var U=v[2*E+1];U!==0&&(v[2*E]=fe(B[U]++,U))}}function re(v){var S;for(S=0;S<h;S++)v.dyn_ltree[2*S]=0;for(S=0;S<c;S++)v.dyn_dtree[2*S]=0;for(S=0;S<T;S++)v.bl_tree[2*S]=0;v.dyn_ltree[2*k]=1,v.opt_len=v.static_len=0,v.last_lit=v.matches=0}function se(v){8<v.bi_valid?H(v,v.bi_buf):0<v.bi_valid&&(v.pending_buf[v.pending++]=v.bi_buf),v.bi_buf=0,v.bi_valid=0}function le(v,S,N,V){var E=2*S,B=2*N;return v[E]<v[B]||v[E]===v[B]&&V[S]<=V[N]}function ue(v,S,N){for(var V=v.heap[N],E=N<<1;E<=v.heap_len&&(E<v.heap_len&&le(S,v.heap[E+1],v.heap[E],v.depth)&&E++,!le(S,V,v.heap[E],v.depth));)v.heap[N]=v.heap[E],N=E,E<<=1;v.heap[N]=V}function ge(v,S,N){var V,E,B,z,U=0;if(v.last_lit!==0)for(;V=v.pending_buf[v.d_buf+2*U]<<8|v.pending_buf[v.d_buf+2*U+1],E=v.pending_buf[v.l_buf+U],U++,V===0?q(v,E,S):(q(v,(B=f[E])+g+1,S),(z=R[B])!==0&&K(v,E-=J[B],z),q(v,B=x(--V),N),(z=G[B])!==0&&K(v,V-=Q[B],z)),U<v.last_lit;);q(v,k,S)}function ve(v,S){var N,V,E,B=S.dyn_tree,z=S.stat_desc.static_tree,U=S.stat_desc.has_stree,$=S.stat_desc.elems,Te=-1;for(v.heap_len=0,v.heap_max=p,N=0;N<$;N++)B[2*N]!==0?(v.heap[++v.heap_len]=Te=N,v.depth[N]=0):B[2*N+1]=0;for(;v.heap_len<2;)B[2*(E=v.heap[++v.heap_len]=Te<2?++Te:0)]=1,v.depth[E]=0,v.opt_len--,U&&(v.static_len-=z[2*E+1]);for(S.max_code=Te,N=v.heap_len>>1;1<=N;N--)ue(v,B,N);for(E=$;N=v.heap[1],v.heap[1]=v.heap[v.heap_len--],ue(v,B,1),V=v.heap[1],v.heap[--v.heap_max]=N,v.heap[--v.heap_max]=V,B[2*E]=B[2*N]+B[2*V],v.depth[E]=(v.depth[N]>=v.depth[V]?v.depth[N]:v.depth[V])+1,B[2*N+1]=B[2*V+1]=E,v.heap[1]=E++,ue(v,B,1),2<=v.heap_len;);v.heap[--v.heap_max]=v.heap[1],(function(ce,he){var Ee,xe,Ke,_e,Xe,Cs,Me=he.dyn_tree,ws=he.max_code,Oe=he.stat_desc.static_tree,ls=he.stat_desc.has_stree,Mn=he.stat_desc.extra_bits,la=he.stat_desc.extra_base,et=he.stat_desc.max_length,dt=0;for(_e=0;_e<=d;_e++)ce.bl_count[_e]=0;for(Me[2*ce.heap[ce.heap_max]+1]=0,Ee=ce.heap_max+1;Ee<p;Ee++)et<(_e=Me[2*Me[2*(xe=ce.heap[Ee])+1]+1]+1)&&(_e=et,dt++),Me[2*xe+1]=_e,ws<xe||(ce.bl_count[_e]++,Xe=0,la<=xe&&(Xe=Mn[xe-la]),Cs=Me[2*xe],ce.opt_len+=Cs*(_e+Xe),ls&&(ce.static_len+=Cs*(Oe[2*xe+1]+Xe)));if(dt!==0){do{for(_e=et-1;ce.bl_count[_e]===0;)_e--;ce.bl_count[_e]--,ce.bl_count[_e+1]+=2,ce.bl_count[et]--,dt-=2}while(0<dt);for(_e=et;_e!==0;_e--)for(xe=ce.bl_count[_e];xe!==0;)ws<(Ke=ce.heap[--Ee])||(Me[2*Ke+1]!==_e&&(ce.opt_len+=(_e-Me[2*Ke+1])*Me[2*Ke],Me[2*Ke+1]=_e),xe--)}})(v,S),ye(B,Te,v.bl_count)}function u(v,S,N){var V,E,B=-1,z=S[1],U=0,$=7,Te=4;for(z===0&&($=138,Te=3),S[2*(N+1)+1]=65535,V=0;V<=N;V++)E=z,z=S[2*(V+1)+1],++U<$&&E===z||(U<Te?v.bl_tree[2*E]+=U:E!==0?(E!==B&&v.bl_tree[2*E]++,v.bl_tree[2*P]++):U<=10?v.bl_tree[2*_]++:v.bl_tree[2*W]++,B=E,Te=(U=0)===z?($=138,3):E===z?($=6,3):($=7,4))}function j(v,S,N){var V,E,B=-1,z=S[1],U=0,$=7,Te=4;for(z===0&&($=138,Te=3),V=0;V<=N;V++)if(E=z,z=S[2*(V+1)+1],!(++U<$&&E===z)){if(U<Te)for(;q(v,E,v.bl_tree),--U!=0;);else E!==0?(E!==B&&(q(v,E,v.bl_tree),U--),q(v,P,v.bl_tree),K(v,U-3,2)):U<=10?(q(v,_,v.bl_tree),K(v,U-3,3)):(q(v,W,v.bl_tree),K(v,U-11,7));B=E,Te=(U=0)===z?($=138,3):E===z?($=6,3):($=7,4)}}r(Q);var L=!1;function C(v,S,N,V){K(v,(m<<1)+(V?1:0),3),(function(E,B,z,U){se(E),H(E,z),H(E,~z),a.arraySet(E.pending_buf,E.window,B,z,E.pending),E.pending+=z})(v,S,N)}i._tr_init=function(v){L||((function(){var S,N,V,E,B,z=new Array(d+1);for(E=V=0;E<y-1;E++)for(J[E]=V,S=0;S<1<<R[E];S++)f[V++]=E;for(f[V-1]=E,E=B=0;E<16;E++)for(Q[E]=B,S=0;S<1<<G[E];S++)Z[B++]=E;for(B>>=7;E<c;E++)for(Q[E]=B<<7,S=0;S<1<<G[E]-7;S++)Z[256+B++]=E;for(N=0;N<=d;N++)z[N]=0;for(S=0;S<=143;)te[2*S+1]=8,S++,z[8]++;for(;S<=255;)te[2*S+1]=9,S++,z[9]++;for(;S<=279;)te[2*S+1]=7,S++,z[7]++;for(;S<=287;)te[2*S+1]=8,S++,z[8]++;for(ye(te,h+1,z),S=0;S<c;S++)F[2*S+1]=5,F[2*S]=fe(S,5);me=new ae(te,R,g+1,h,d),X=new ae(F,G,0,c,d),be=new ae(new Array(0),O,0,T,w)})(),L=!0),v.l_desc=new M(v.dyn_ltree,me),v.d_desc=new M(v.dyn_dtree,X),v.bl_desc=new M(v.bl_tree,be),v.bi_buf=0,v.bi_valid=0,re(v)},i._tr_stored_block=C,i._tr_flush_block=function(v,S,N,V){var E,B,z=0;0<v.level?(v.strm.data_type===2&&(v.strm.data_type=(function(U){var $,Te=4093624447;for($=0;$<=31;$++,Te>>>=1)if(1&Te&&U.dyn_ltree[2*$]!==0)return l;if(U.dyn_ltree[18]!==0||U.dyn_ltree[20]!==0||U.dyn_ltree[26]!==0)return o;for($=32;$<g;$++)if(U.dyn_ltree[2*$]!==0)return o;return l})(v)),ve(v,v.l_desc),ve(v,v.d_desc),z=(function(U){var $;for(u(U,U.dyn_ltree,U.l_desc.max_code),u(U,U.dyn_dtree,U.d_desc.max_code),ve(U,U.bl_desc),$=T-1;3<=$&&U.bl_tree[2*Y[$]+1]===0;$--);return U.opt_len+=3*($+1)+5+5+4,$})(v),E=v.opt_len+3+7>>>3,(B=v.static_len+3+7>>>3)<=E&&(E=B)):E=B=N+5,N+4<=E&&S!==-1?C(v,S,N,V):v.strategy===4||B===E?(K(v,2+(V?1:0),3),ge(v,te,F)):(K(v,4+(V?1:0),3),(function(U,$,Te,ce){var he;for(K(U,$-257,5),K(U,Te-1,5),K(U,ce-4,4),he=0;he<ce;he++)K(U,U.bl_tree[2*Y[he]+1],3);j(U,U.dyn_ltree,$-1),j(U,U.dyn_dtree,Te-1)})(v,v.l_desc.max_code+1,v.d_desc.max_code+1,z+1),ge(v,v.dyn_ltree,v.dyn_dtree)),re(v),V&&se(v)},i._tr_tally=function(v,S,N){return v.pending_buf[v.d_buf+2*v.last_lit]=S>>>8&255,v.pending_buf[v.d_buf+2*v.last_lit+1]=255&S,v.pending_buf[v.l_buf+v.last_lit]=255&N,v.last_lit++,S===0?v.dyn_ltree[2*N]++:(v.matches++,S--,v.dyn_ltree[2*(f[N]+g+1)]++,v.dyn_dtree[2*x(S)]++),v.last_lit===v.lit_bufsize-1},i._tr_align=function(v){K(v,2,3),q(v,k,te),(function(S){S.bi_valid===16?(H(S,S.bi_buf),S.bi_buf=0,S.bi_valid=0):8<=S.bi_valid&&(S.pending_buf[S.pending++]=255&S.bi_buf,S.bi_buf>>=8,S.bi_valid-=8)})(v)}},{"../utils/common":41}],53:[function(t,n,i){n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,n,i){(function(a){(function(l,o){if(!l.setImmediate){var r,m,y,g,h=1,c={},T=!1,p=l.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(l);d=d&&d.setTimeout?d:l,r={}.toString.call(l.process)==="[object process]"?function(P){process.nextTick(function(){w(P)})}:(function(){if(l.postMessage&&!l.importScripts){var P=!0,_=l.onmessage;return l.onmessage=function(){P=!1},l.postMessage("","*"),l.onmessage=_,P}})()?(g="setImmediate$"+Math.random()+"$",l.addEventListener?l.addEventListener("message",k,!1):l.attachEvent("onmessage",k),function(P){l.postMessage(g+P,"*")}):l.MessageChannel?((y=new MessageChannel).port1.onmessage=function(P){w(P.data)},function(P){y.port2.postMessage(P)}):p&&"onreadystatechange"in p.createElement("script")?(m=p.documentElement,function(P){var _=p.createElement("script");_.onreadystatechange=function(){w(P),_.onreadystatechange=null,m.removeChild(_),_=null},m.appendChild(_)}):function(P){setTimeout(w,0,P)},d.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var _=new Array(arguments.length-1),W=0;W<_.length;W++)_[W]=arguments[W+1];var R={callback:P,args:_};return c[h]=R,r(h),h++},d.clearImmediate=b}function b(P){delete c[P]}function w(P){if(T)setTimeout(w,0,P);else{var _=c[P];if(_){T=!0;try{(function(W){var R=W.callback,G=W.args;switch(G.length){case 0:R();break;case 1:R(G[0]);break;case 2:R(G[0],G[1]);break;case 3:R(G[0],G[1],G[2]);break;default:R.apply(o,G)}})(_)}finally{b(P),T=!1}}}}function k(P){P.source===l&&typeof P.data=="string"&&P.data.indexOf(g)===0&&w(+P.data.slice(g.length))}})(typeof self>"u"?a===void 0?this:a:self)}).call(this,typeof gt<"u"?gt:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(Mt)),Mt.exports}var Yl=Jl();const Xl=Vl(Yl);function rt(e,s,t){const n=e instanceof Uint8Array?new Blob([new Uint8Array(e)],{type:t}):new Blob([e],{type:t}),i=URL.createObjectURL(n),a=document.createElement("a");a.href=i,a.download=s,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(i)}function Dt(e){return e.replace(/[<>:"/\\|?*]/g,"").replace(/\s+/g,"_").substring(0,100)}function Ql(e){const s=[];return Xs(e)&&s.push("zwo"),Qs(e)&&s.push("fit"),$s(e)&&s.push("mrc"),s}async function $l(e,s,t){const n=Dt(e.name);try{switch(s){case"zwo":{if(!Xs(e.sport))return{success:!1,filename:"",error:"Zwift export only supports bike and run workouts"};const i=vn(e,t),a=`${n}.zwo`;return rt(i,a,"application/xml"),{success:!0,filename:a}}case"fit":{if(!Qs(e.sport))return{success:!1,filename:"",error:`FIT export not supported for ${e.sport} workouts`};const i=await Sn(e,t),a=`${n}.fit`;return rt(i,a,"application/vnd.ant.fit"),{success:!0,filename:a}}case"mrc":{if(!$s(e.sport))return{success:!1,filename:"",error:"MRC export only supports bike workouts"};const i=xn(e,t),a=`${n}.mrc`;return rt(i,a,"text/plain"),{success:!0,filename:a}}default:return{success:!1,filename:"",error:`Unknown format: ${s}`}}}catch(i){return{success:!1,filename:"",error:i instanceof Error?i.message:"Unknown error"}}}function eo(e){try{const s=ql(e),n=`${Dt(e.meta.event)}_training_plan.ics`;return rt(s,n,"text/calendar"),{success:!0,filename:n}}catch(s){return{success:!1,filename:"",error:s instanceof Error?s.message:"Unknown error"}}}async function so(e,s,t){const n=Dt(e.name);try{switch(s){case"zwo":return Xs(e.sport)?{content:vn(e,t),filename:`${n}.zwo`}:null;case"fit":return Qs(e.sport)?{content:await Sn(e,t),filename:`${n}.fit`}:null;case"mrc":return $s(e.sport)?{content:xn(e,t),filename:`${n}.mrc`}:null;default:return null}}catch{return null}}async function to(e,s,t){const n=[];let i=0,a=0;const l=new Xl;for(const o of e.weeks??[])for(const r of o.days??[])for(const m of r.workouts??[]){if(m.sport==="rest"){a++;continue}if(s==="zwo"&&!Xs(m.sport)){a++;continue}if(s==="fit"&&!Qs(m.sport)){a++;continue}if(s==="mrc"&&!$s(m.sport)){a++;continue}try{const y=await so(m,s,t);y?(l.file(y.filename,y.content),i++):a++}catch(y){n.push(`${m.name}: ${y instanceof Error?y.message:"Unknown error"}`)}}if(i>0){const o=await l.generateAsync({type:"uint8array"}),m=`${Dt(e.meta.event)}_workouts_${s}.zip`;rt(o,m,"application/zip")}return{exported:i,skipped:a,errors:n}}var ao=oe("<div> </div>"),no=oe('<div class="export-menu svelte-dkgmtr"><button class="export-option svelte-dkgmtr"><span class="export-icon calendar svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg></span> <div><div class="export-name svelte-dkgmtr">Calendar (.ics)</div> <div class="export-desc svelte-dkgmtr">Apple, Google, Outlook</div></div></button> <div class="export-divider svelte-dkgmtr"></div> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">Z</span> <div><div class="export-name svelte-dkgmtr">Zwift (.zwo)</div> <div class="export-desc svelte-dkgmtr">Bike & run workouts</div></div></button> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">G</span> <div><div class="export-name svelte-dkgmtr">Garmin (.fit)</div> <div class="export-desc svelte-dkgmtr">All workout types</div></div></button> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">E</span> <div><div class="export-name svelte-dkgmtr">ERG/MRC (.mrc)</div> <div class="export-desc svelte-dkgmtr">Bike workouts only</div></div></button></div>'),io=oe('<button class="clear-filter svelte-dkgmtr">Clear</button>'),lo=oe('<div class="check-icon svelte-dkgmtr">✓</div>'),oo=oe('<button><div> </div> <div class="sport-info svelte-dkgmtr"><div class="sport-name svelte-dkgmtr"> </div> <div class="sport-hours svelte-dkgmtr"> </div></div> <!></button>'),ro=oe("<button> </button>"),uo=oe('<aside><div class="event-header svelte-dkgmtr"><h1 class="event-name svelte-dkgmtr"> </h1> <div class="event-date svelte-dkgmtr"> </div> <div class="athlete-name svelte-dkgmtr"> </div></div> <div class="progress-section svelte-dkgmtr"><div class="progress-ring-container svelte-dkgmtr"><svg class="progress-ring svelte-dkgmtr" width="140" height="140"><defs><linearGradient id="progressGradient" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" style="stop-color: var(--accent)"></stop><stop offset="100%" style="stop-color: var(--run)"></stop></linearGradient></defs><circle class="progress-ring-bg svelte-dkgmtr" cx="70" cy="70" r="60"></circle><circle class="progress-ring-fill svelte-dkgmtr" cx="70" cy="70" r="60"></circle></svg> <div class="progress-text svelte-dkgmtr"><div class="progress-percent svelte-dkgmtr"> </div> <div class="progress-label svelte-dkgmtr">Complete</div></div></div></div> <div class="stats-grid svelte-dkgmtr"><div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Weeks</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Hours</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Workouts</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Days Left</div></div></div> <button class="settings-btn svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg> Settings</button> <div class="export-section svelte-dkgmtr"><!> <div class="export-main svelte-dkgmtr"><button class="export-main-btn svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> <div class="export-main-text svelte-dkgmtr"><span class="export-main-title svelte-dkgmtr">Export Plan</span> <span class="export-main-desc svelte-dkgmtr">Calendar, Zwift, Garmin, TrainerRoad</span></div> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></button> <!></div> <button class="import-help-link svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> How to import workouts in training apps</button></div> <div class="sport-stats svelte-dkgmtr"><div class="sport-stats-header svelte-dkgmtr"><h3 class="svelte-dkgmtr">Filter by Sport</h3> <!></div> <!></div> <div class="filters-section svelte-dkgmtr"><h3 class="svelte-dkgmtr">Filter by Status</h3> <div class="filter-group svelte-dkgmtr"></div></div></aside>');function co(e,s){us(s,!0);const t=Re(()=>()=>{let B=0,z=0,U=0;const $={swim:0,bike:0,run:0,strength:0,brick:0,race:0};return s.plan.weeks?.forEach(Te=>{Te.days?.forEach(ce=>{ce.workouts?.forEach(he=>{he.sport!=="rest"&&(B++,s.completed[he.id]&&z++,he.durationMinutes&&(U+=he.durationMinutes,$[he.sport]!==void 0&&($[he.sport]+=he.durationMinutes/60)))})})}),{totalWorkouts:B,completedCount:z,totalHours:Math.round(U/60),sportHours:$,progress:B>0?Math.round(z/B*100):0}}),n=Re(()=>377-A(t)().progress/100*377),i=Re(()=>cl(s.plan.meta?.eventDate??"")),a=Re(()=>Object.entries(A(t)().sportHours).filter(([B,z])=>z>0).map(([B])=>B));function l(B){s.filters.sport===B?s.onFilterChange({...s.filters,sport:"all"}):s.onFilterChange({...s.filters,sport:B})}function o(B){s.onFilterChange({...s.filters,status:B})}let r=we(!1),m=we(null);function y(){ee(r,!1),ee(m,{message:"Exporting calendar...",isError:!1},!0);const B=eo(s.plan);B.success?ee(m,{message:`Downloaded ${B.filename}`,isError:!1},!0):ee(m,{message:B.error||"Export failed",isError:!0},!0),setTimeout(()=>{ee(m,null)},3e3)}async function g(B){ee(r,!1),ee(m,{message:`Exporting ${B.toUpperCase()} files...`,isError:!1},!0);const z=await to(s.plan,B,s.settings);z.errors.length===0?ee(m,{message:`Exported ${z.exported} workouts (${z.skipped} skipped)`,isError:!1},!0):ee(m,{message:`Exported ${z.exported}, ${z.errors.length} errors`,isError:!0},!0),setTimeout(()=>{ee(m,null)},4e3)}var h=uo();let c;var T=D(h),p=D(T),d=D(p),b=I(p,2),w=D(b),k=I(b,2),P=D(k),_=I(T,2),W=D(_),R=D(W),G=I(D(R),2),O=I(R,2),Y=D(O),te=D(Y),F=I(_,2),Z=D(F),f=D(Z),J=D(f),me=I(Z,2),X=D(me),be=D(X),Q=I(me,2),ae=D(Q),M=D(ae),x=I(Q,2),H=D(x),K=D(H),q=I(F,2);q.__click=function(...B){s.onSettingsClick?.apply(this,B)};var fe=I(q,2),ye=D(fe);{var re=B=>{var z=ao();let U;var $=D(z);Fe(()=>{U=Pe(z,1,"export-status svelte-dkgmtr",null,U,{error:A(m).isError}),pe($,A(m).message)}),ie(B,z)};Ce(ye,B=>{A(m)&&B(re)})}var se=I(ye,2),le=D(se);le.__click=()=>ee(r,!A(r));var ue=I(D(le),4);let ge;var ve=I(le,2);{var u=B=>{var z=no(),U=D(z);U.__click=y;var $=I(U,4);$.__click=()=>g("zwo");var Te=I($,2);Te.__click=()=>g("fit");var ce=I(Te,2);ce.__click=()=>g("mrc"),ie(B,z)};Ce(ve,B=>{A(r)&&B(u)})}var j=I(se,2);j.__click=function(...B){s.onImportHelpClick?.apply(this,B)};var L=I(fe,2),C=D(L),v=I(D(C),2);{var S=B=>{var z=io();z.__click=()=>s.onFilterChange({...s.filters,sport:"all"}),ie(B,z)};Ce(v,B=>{s.filters.sport!=="all"&&B(S)})}var N=I(C,2);Ue(N,17,()=>A(a),ss,(B,z)=>{var U=oo();let $;U.__click=()=>l(A(z));var Te=D(U),ce=D(Te),he=I(Te,2),Ee=D(he),xe=D(Ee),Ke=I(Ee,2),_e=D(Ke),Xe=I(he,2);{var Cs=Me=>{var ws=lo();ie(Me,ws)};Ce(Xe,Me=>{s.filters.sport===A(z)&&Me(Cs)})}Fe((Me,ws,Oe)=>{$=Pe(U,1,`sport-stat ${A(z)??""}`,"svelte-dkgmtr",$,{active:s.filters.sport===A(z)}),Pe(Te,1,`sport-icon ${A(z)??""}`,"svelte-dkgmtr"),pe(ce,Me),pe(xe,ws),pe(_e,`${Oe??""} hours`)},[()=>gn(A(z)),()=>A(z).charAt(0).toUpperCase()+A(z).slice(1),()=>A(t)().sportHours[A(z)].toFixed(1)]),ie(B,U)});var V=I(L,2),E=I(D(V),2);Ue(E,20,()=>[["all","All"],["pending","Pending"],["completed","Completed"]],ss,(B,z)=>{var U=Re(()=>Ra(z,2));let $=()=>A(U)[0],Te=()=>A(U)[1];var ce=ro();let he;ce.__click=()=>o($());var Ee=D(ce);Fe(()=>{he=Pe(ce,1,"filter-chip svelte-dkgmtr",null,he,{active:s.filters.status===$()}),pe(Ee,Te())}),ie(B,ce)}),Fe((B,z,U,$)=>{c=Pe(h,1,"sidebar svelte-dkgmtr",null,c,{open:s.open}),pe(d,s.plan.meta?.event??"Training Plan"),pe(w,B),pe(P,s.plan.meta?.athlete??"Athlete"),aa(G,`stroke-dashoffset: ${A(n)??""}`),pe(te,`${z??""}%`),pe(J,s.plan.meta?.totalWeeks??0),pe(be,U),pe(M,$),pe(K,A(i)),ge=Pe(ue,0,"dropdown-arrow svelte-dkgmtr",null,ge,{open:A(r)})},[()=>rl(s.plan.meta?.eventDate??""),()=>A(t)().progress,()=>A(t)().totalHours,()=>A(t)().totalWorkouts]),ie(e,h),cs()}Ts(["click"]);function mo(){const e=document.getElementById("plan-data");if(!e)throw new Error("Plan data not found");return JSON.parse(e.textContent||"{}")}const Le=mo(),En=`plan-${Le.meta.id}-completed`;function fo(){const e={};Le.weeks?.forEach(n=>{n.days?.forEach(i=>{i.workouts?.forEach(a=>{a.completed&&(e[a.id]=!0)})})});const s=localStorage.getItem(En),t=s?JSON.parse(s):{};return{...e,...t}}function po(e){localStorage.setItem(En,JSON.stringify(e))}const Pn=`plan-${Le.meta.id}-changes`;function ka(){return{moved:{},edited:{},deleted:[],added:{}}}function ho(){const e=localStorage.getItem(Pn);if(!e)return ka();try{const s=JSON.parse(e);return{moved:s.moved||{},edited:s.edited||{},deleted:s.deleted||[],added:s.added||{}}}catch{return ka()}}function Tt(e){localStorage.setItem(Pn,JSON.stringify(e))}function bo(){return`user-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function yo(e,s){const t=s.edited[e.id];return t?{...e,...t}:e}function Sa(e,s){return s.deleted.includes(e)}var go=oe('<div class="workout-duration svelte-ynjai0"> </div>'),vo=oe('<button draggable="true"><div class="workout-sport svelte-ynjai0"> </div> <div class="workout-name svelte-ynjai0"> </div> <!></button>');function To(e,s){us(s,!0);let t=we(!1);function n(c){ee(t,!0),c.dataTransfer.setData("text/plain",s.workout.id),c.dataTransfer.effectAllowed="move"}function i(){ee(t,!1)}var a=vo();let l;a.__click=function(...c){s.onClick?.apply(this,c)};var o=D(a),r=D(o),m=I(o,2),y=D(m),g=I(m,2);{var h=c=>{var T=go(),p=D(T);Fe(d=>pe(p,d),[()=>na(s.workout.durationMinutes)]),ie(c,T)};Ce(g,c=>{s.workout.durationMinutes&&c(h)})}Fe(()=>{l=Pe(a,1,`workout-card ${s.workout.sport??""}`,"svelte-ynjai0",l,{completed:s.isCompleted,dragging:A(t)}),pe(r,s.workout.sport),pe(y,s.workout.name)}),Es("dragstart",a,n),Es("dragend",a,i),ie(e,a),cs()}Ts(["click"]);var Co=oe('<div class="empty-day svelte-ldqnzx">Rest</div>'),wo=oe('<div role="listbox" tabindex="0"><div class="day-header svelte-ldqnzx"><span class="day-name svelte-ldqnzx"> </span> <span class="day-date svelte-ldqnzx"> </span></div> <!> <button class="add-workout-btn svelte-ldqnzx" title="Add workout"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-ldqnzx"><path d="M12 5v14M5 12h14"></path></svg></button></div>'),Ao=oe('<div class="week-card svelte-ldqnzx"><div class="week-header svelte-ldqnzx"><div class="week-title svelte-ldqnzx"><span class="week-number svelte-ldqnzx"> </span> <span> </span> <span class="week-focus svelte-ldqnzx"> </span></div> <div class="week-hours svelte-ldqnzx"><span class="svelte-ldqnzx"> </span> hrs</div></div> <div class="days-grid svelte-ldqnzx"></div></div>');function Fo(e,s){us(s,!0);let t=we(null);const n=Re(()=>(s.week.phase??"base").toLowerCase());function i(P,_){P.preventDefault(),ee(t,_,!0)}function a(){ee(t,null)}function l(P,_){P.preventDefault(),ee(t,null);const W=P.dataTransfer?.getData("text/plain");W&&s.onDrop(W,_)}var o=Ao(),r=D(o),m=D(r),y=D(m),g=D(y),h=I(y,2),c=D(h),T=I(h,2),p=D(T),d=I(m,2),b=D(d),w=D(b),k=I(r,2);Ue(k,21,()=>s.fullWeek,P=>P.date,(P,_)=>{const W=Re(()=>A(_).date===s.today),R=Re(()=>(A(_).workouts??[]).filter(s.filterWorkout)),G=Re(()=>A(t)===A(_).date);var O=wo();let Y;var te=D(O),F=D(te),Z=D(F),f=I(F,2),J=D(f),me=I(te,2);{var X=ae=>{var M=ba(),x=Je(M);Ue(x,17,()=>A(R),H=>H.id,(H,K)=>{{let q=Re(()=>!!s.completed[A(K).id]);To(H,{get workout(){return A(K)},get day(){return A(_)},get settings(){return s.settings},get isCompleted(){return A(q)},onClick:()=>s.onWorkoutClick(A(K),A(_))})}}),ie(ae,M)},be=ae=>{var M=ba(),x=Je(M);{var H=K=>{var q=Co();ie(K,q)};Ce(x,K=>{A(_).workouts.length===0&&K(H)},!0)}ie(ae,M)};Ce(me,ae=>{A(R).length>0?ae(X):ae(be,!1)})}var Q=I(me,2);Q.__click=()=>s.onAddWorkout(A(_)),Fe((ae,M)=>{Y=Pe(O,1,"day-column svelte-ldqnzx",null,Y,{today:A(W),"drag-over":A(G)}),pe(Z,ae),pe(J,M)},[()=>A(_).dayOfWeek.slice(0,3),()=>It(A(_).date).getDate()]),Es("dragover",O,ae=>i(ae,A(_).date)),Es("dragleave",O,a),Es("drop",O,ae=>l(ae,A(_).date)),ie(P,O)}),Fe(()=>{aa(o,`animation-delay: ${s.animationDelay??""}s`),pe(g,`W${s.week.weekNumber??""}`),Pe(h,1,`week-phase ${A(n)??""}`,"svelte-ldqnzx"),pe(c,s.week.phase??"Base"),pe(p,s.week.focus??""),pe(w,s.week.targetHours??0)}),ie(e,o),cs()}Ts(["click"]);var _o=oe('<button><span class="phase-label svelte-aq400f"> </span></button>'),ko=oe("<div><!></div>"),So=oe('<div class="phase-timeline svelte-aq400f"></div> <div class="weeks-container svelte-aq400f"></div>',1);function xo(e,s){us(s,!0);const t=fl();function n(g,h){return s.changes.moved[g]||h}function i(g){const h=ml(s.settings.firstDayOfWeek),c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],T={};g.days?.forEach(_=>{T[_.dayOfWeek]=_});const p=g.days?.[0];if(!p)return h.map(_=>({date:"",dayOfWeek:_,workouts:[]}));const d=It(p.date),b=c.indexOf(p.dayOfWeek);function w(_){let R=c.indexOf(_)-b;R<-3&&(R+=7),R>3&&(R-=7);const G=new Date(d);return G.setDate(G.getDate()+R),yn(G)}const k=h.map(_=>{const W=T[_];return W?W.date:w(_)}),P={};return k.forEach(_=>P[_]=[]),s.plan.weeks?.forEach(_=>{_.days?.forEach(W=>{W.workouts?.forEach(R=>{if(Sa(R.id,s.changes))return;const G=n(R.id,W.date);if(k.includes(G)){const O=yo(R,s.changes);P[G].push(O)}})})}),Object.entries(s.changes.added??{}).forEach(([_,{date:W,workout:R}])=>{k.includes(W)&&!Sa(_,s.changes)&&P[W].push(R)}),h.map((_,W)=>{const R=k[W];return{date:R,dayOfWeek:_,workouts:P[R]||[]}})}function a(g){return!(s.filters.sport!=="all"&&g.sport!==s.filters.sport||s.filters.status==="completed"&&!s.completed[g.id]||s.filters.status==="pending"&&s.completed[g.id])}function l(g){if(s.changes.added?.[g])return s.changes.added[g].date;for(const h of s.plan.weeks??[])for(const c of h.days??[])for(const T of c.workouts??[])if(T.id===g)return c.date;return""}function o(g,h){const c=l(g);s.onWorkoutMove(g,c,h)}var r=So(),m=Je(r);Ue(m,21,()=>s.plan.phases??[],ss,(g,h)=>{const c=Re(()=>A(h).endWeek-A(h).startWeek+1),T=Re(()=>A(h).name.toLowerCase());var p=_o();p.__click=()=>{document.querySelector(`[data-week="${A(h).startWeek}"]`)?.scrollIntoView({behavior:"smooth",block:"start"})};var d=D(p),b=D(d);Fe(()=>{Pe(p,1,`phase-segment ${A(T)??""}`,"svelte-aq400f"),aa(p,`flex: ${A(c)??""}`),pe(b,A(h).name)}),ie(g,p)});var y=I(m,2);Ue(y,23,()=>s.plan.weeks??[],g=>g.weekNumber,(g,h,c)=>{var T=ko(),p=D(T);{let d=Re(()=>i(A(h))),b=Re(()=>A(c)*.05);Fo(p,{get week(){return A(h)},get fullWeek(){return A(d)},get settings(){return s.settings},get today(){return t},get completed(){return s.completed},filterWorkout:a,get onWorkoutClick(){return s.onWorkoutClick},onDrop:o,get onAddWorkout(){return s.onAddWorkout},get animationDelay(){return A(b)}})}Fe(()=>sl(T,"data-week",A(h).weekNumber)),ie(g,T)}),ie(e,r),cs()}Ts(["click"]);var Eo=oe('<div><div> </div> <h2 class="modal-title svelte-12rtkin"> </h2> <div class="modal-date svelte-12rtkin"> </div></div>'),Po=oe('<div><h2 class="modal-title svelte-12rtkin"> </h2> <div class="modal-date svelte-12rtkin"> </div></div>'),Ro=oe('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Duration</div></div>'),Io=oe('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Distance</div></div>'),Do=oe('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Target Zone</div></div>'),Lo=oe('<div class="modal-section svelte-12rtkin"><h4 class="modal-section-title svelte-12rtkin">Description</h4> <p class="modal-description svelte-12rtkin"> </p></div>'),Bo=oe('<div class="modal-section svelte-12rtkin"><h4 class="modal-section-title svelte-12rtkin">Workout Structure</h4> <pre class="workout-structure svelte-12rtkin"> </pre></div>'),Mo=oe('<div class="modal-stats svelte-12rtkin"><!> <!> <!></div> <!> <!>',1),Oo=oe("<option> </option>"),zo=oe("<option> </option>"),No=oe('<div class="form-grid svelte-12rtkin"><div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-sport">Sport</label> <select id="edit-sport" class="form-select svelte-12rtkin"></select></div> <div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-type">Type</label> <select id="edit-type" class="form-select svelte-12rtkin"></select></div></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-name">Name</label> <input id="edit-name" type="text" class="form-input svelte-12rtkin" placeholder="Easy Run"/></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-description">Description</label> <textarea id="edit-description" class="form-textarea svelte-12rtkin" placeholder="Conversational pace, focus on form" rows="2"></textarea></div> <div class="form-grid svelte-12rtkin"><div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-duration">Duration (minutes)</label> <input id="edit-duration" type="number" class="form-input svelte-12rtkin" placeholder="60"/></div> <div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-distance">Distance (meters)</label> <input id="edit-distance" type="number" class="form-input svelte-12rtkin" placeholder="10000"/></div></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-zone">Target Zone</label> <input id="edit-zone" type="text" class="form-input svelte-12rtkin" placeholder="Zone 2"/></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-structure">Workout Structure</label> <textarea id="edit-structure" class="form-textarea mono svelte-12rtkin" placeholder="Warm-up: 10min easy Main: 4x1km @ threshold Cool-down: 10min easy" rows="5"></textarea></div>',1),Wo=oe('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">Z</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">Zwift (.zwo)</div> <div class="export-desc svelte-12rtkin">For Zwift indoor training</div></div></button>'),Uo=oe('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">G</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">Garmin (.fit)</div> <div class="export-desc svelte-12rtkin">For Garmin Connect</div></div></button>'),Ho=oe('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">E</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">ERG/MRC (.mrc)</div> <div class="export-desc svelte-12rtkin">For TrainerRoad, etc.</div></div></button>'),jo=oe('<div class="export-menu svelte-12rtkin"><!> <!> <!> <div class="export-divider svelte-12rtkin"></div> <button class="export-help-link svelte-12rtkin"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> How to import files</button></div>'),Go=oe('<div class="export-dropdown svelte-12rtkin"><button class="icon-btn export svelte-12rtkin" title="Export"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></button> <!></div>'),Zo=oe("<div> </div>"),Ko=oe("<span>↩</span> Mark Incomplete",1),qo=oe("<span>✓</span> Mark Complete",1),Vo=oe('<div class="footer-left svelte-12rtkin"><button class="icon-btn edit svelte-12rtkin" title="Edit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg></button> <button class="icon-btn delete svelte-12rtkin" title="Delete"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg></button> <!></div> <div class="footer-right svelte-12rtkin"><!> <button><!></button></div>',1),Jo=oe('<button class="cancel-btn svelte-12rtkin">Cancel</button> <button class="save-btn svelte-12rtkin"> </button>',1),Yo=oe('<div class="confirm-overlay svelte-12rtkin"><div class="confirm-dialog svelte-12rtkin"><p class="svelte-12rtkin">Delete this workout?</p> <div class="confirm-actions svelte-12rtkin"><button class="cancel-btn svelte-12rtkin">Cancel</button> <button class="delete-btn svelte-12rtkin">Delete</button></div></div></div>'),Xo=oe('<div class="modal-overlay active svelte-12rtkin" role="dialog" aria-modal="true" tabindex="-1"><div class="modal svelte-12rtkin"><div class="modal-header svelte-12rtkin"><!> <button class="modal-close svelte-12rtkin">×</button></div> <div class="modal-body svelte-12rtkin"><!></div> <div class="modal-footer svelte-12rtkin"><!></div> <!></div></div>');function Qo(e,s){us(s,!0);let t=Ca(s,"mode",3,"view"),n=Ca(s,"isCompleted",3,!1),i=we(De(Ve(()=>t()))),a=we(!1),l=we(!1),o=we(null),r=we(De(Ve(()=>s.workout?.sport||"run"))),m=we(De(Ve(()=>s.workout?.type||"endurance"))),y=we(De(Ve(()=>s.workout?.name||""))),g=we(De(Ve(()=>s.workout?.description||""))),h=we(De(Ve(()=>s.workout?.durationMinutes?.toString()||""))),c=we(De(Ve(()=>s.workout?.distanceMeters?.toString()||""))),T=we(De(Ve(()=>s.workout?.primaryZone||""))),p=we(De(Ve(()=>s.workout?.humanReadable||"")));const d=["swim","bike","run","strength","brick","race","rest"],b=["rest","recovery","endurance","tempo","threshold","intervals","vo2max","sprint","race","brick","technique","openwater","hills","long"];function w(se){se.key==="Escape"&&(A(a)?ee(a,!1):A(i)!=="view"?(ee(i,(s.workout,"view"),!0),s.workout||s.onClose()):s.onClose())}function k(se){se.target.classList.contains("modal-overlay")&&s.onClose()}function P(){ee(r,s.workout?.sport||"run",!0),ee(m,s.workout?.type||"endurance",!0),ee(y,s.workout?.name||"",!0),ee(g,s.workout?.description||"",!0),ee(h,s.workout?.durationMinutes?.toString()||"",!0),ee(c,s.workout?.distanceMeters?.toString()||"",!0),ee(T,s.workout?.primaryZone||"",!0),ee(p,s.workout?.humanReadable||"",!0),ee(i,"edit")}function _(){t()==="create"?s.onClose():ee(i,"view")}function W(){const se={sport:A(r),type:A(m),name:A(y),description:A(g),durationMinutes:A(h)?parseInt(A(h)):void 0,distanceMeters:A(c)?parseInt(A(c)):void 0,primaryZone:A(T)||void 0,humanReadable:A(p)||void 0};s.onSave(se),t()!=="create"&&ee(i,"view")}function R(){s.workout&&s.onDelete(s.workout.id)}async function G(se){if(!s.workout)return;ee(l,!1),ee(o,{message:"Exporting...",isError:!1},!0);const le=await $l(s.workout,se,s.settings);le.success?ee(o,{message:`Downloaded ${le.filename}`,isError:!1},!0):ee(o,{message:le.error||"Export failed",isError:!0},!0),setTimeout(()=>{ee(o,null)},3e3)}const O=Re(()=>s.workout?Ql(s.workout.sport):[]),Y=Re(()=>A(O).length>0),te=Re(()=>s.workout||{id:"",sport:A(r),type:A(m),name:A(y),description:A(g),durationMinutes:A(h)?parseInt(A(h)):void 0,distanceMeters:A(c)?parseInt(A(c)):void 0,primaryZone:A(T),humanReadable:A(p),completed:!1});var F=Xo();Es("keydown",ut,w),F.__click=k,F.__keydown=w;var Z=D(F),f=D(Z),J=D(f);{var me=se=>{var le=Eo(),ue=D(le),ge=D(ue),ve=I(ue,2),u=D(ve),j=I(ve,2),L=D(j);Fe((C,v)=>{Pe(ue,1,`modal-sport-badge ${A(te).sport??""}`,"svelte-12rtkin"),pe(ge,C),pe(u,A(te).name),pe(L,v)},[()=>A(te).sport.toUpperCase(),()=>wa(s.day.date)]),ie(se,le)},X=se=>{var le=Po(),ue=D(le),ge=D(ue),ve=I(ue,2),u=D(ve);Fe(j=>{pe(ge,A(i)==="create"?"New Workout":"Edit Workout"),pe(u,j)},[()=>wa(s.day.date)]),ie(se,le)};Ce(J,se=>{A(i)==="view"?se(me):se(X,!1)})}var be=I(J,2);be.__click=function(...se){s.onClose?.apply(this,se)};var Q=I(f,2),ae=D(Q);{var M=se=>{var le=Mo(),ue=Je(le),ge=D(ue);{var ve=E=>{var B=Ro(),z=D(B),U=D(z);Fe($=>pe(U,$),[()=>na(A(te).durationMinutes)]),ie(E,B)};Ce(ge,E=>{A(te).durationMinutes&&E(ve)})}var u=I(ge,2);{var j=E=>{var B=Io(),z=D(B),U=D(z);Fe($=>pe(U,$),[()=>ol(A(te).distanceMeters,A(te).sport,s.settings)]),ie(E,B)};Ce(u,E=>{A(te).distanceMeters&&E(j)})}var L=I(u,2);{var C=E=>{var B=Do(),z=D(B),U=D(z);Fe($=>pe(U,$),[()=>ul(A(te).sport,A(te).primaryZone,s.settings)]),ie(E,B)};Ce(L,E=>{A(te).primaryZone&&E(C)})}var v=I(ue,2);{var S=E=>{var B=Lo(),z=I(D(B),2),U=D(z);Fe(()=>pe(U,A(te).description)),ie(E,B)};Ce(v,E=>{A(te).description&&E(S)})}var N=I(v,2);{var V=E=>{var B=Bo(),z=I(D(B),2),U=D(z);Fe($=>pe(U,$),[()=>A(te).humanReadable.replace(/\\n/g,`
|
|
38
|
-
`)]),ie(E,B)};Ce(N,E=>{A(te).humanReadable&&E(V)})}ie(se,le)},x=se=>{var le=No(),ue=Je(le),ge=D(ue),ve=I(D(ge),2);Ue(ve,21,()=>d,ss,(he,Ee)=>{var xe=Oo(),Ke=D(xe),_e={};Fe(Xe=>{pe(Ke,Xe),_e!==(_e=A(Ee))&&(xe.value=(xe.__value=A(Ee))??"")},[()=>A(Ee).charAt(0).toUpperCase()+A(Ee).slice(1)]),ie(he,xe)});var u=I(ge,2),j=I(D(u),2);Ue(j,21,()=>b,ss,(he,Ee)=>{var xe=zo(),Ke=D(xe),_e={};Fe(Xe=>{pe(Ke,Xe),_e!==(_e=A(Ee))&&(xe.value=(xe.__value=A(Ee))??"")},[()=>A(Ee).charAt(0).toUpperCase()+A(Ee).slice(1)]),ie(he,xe)});var L=I(ue,2),C=I(D(L),2),v=I(L,2),S=I(D(v),2),N=I(v,2),V=D(N),E=I(D(V),2),B=I(V,2),z=I(D(B),2),U=I(N,2),$=I(D(U),2),Te=I(U,2),ce=I(D(Te),2);Hs(ve,()=>A(r),he=>ee(r,he)),Hs(j,()=>A(m),he=>ee(m,he)),Ie(C,()=>A(y),he=>ee(y,he)),Ie(S,()=>A(g),he=>ee(g,he)),Ie(E,()=>A(h),he=>ee(h,he)),Ie(z,()=>A(c),he=>ee(c,he)),Ie($,()=>A(T),he=>ee(T,he)),Ie(ce,()=>A(p),he=>ee(p,he)),ie(se,le)};Ce(ae,se=>{A(i)==="view"?se(M):se(x,!1)})}var H=I(Q,2),K=D(H);{var q=se=>{var le=Vo(),ue=Je(le),ge=D(ue);ge.__click=P;var ve=I(ge,2);ve.__click=()=>ee(a,!0);var u=I(ve,2);{var j=z=>{var U=Go(),$=D(U);$.__click=()=>ee(l,!A(l));var Te=I($,2);{var ce=he=>{var Ee=jo(),xe=D(Ee);{var Ke=Oe=>{var ls=Wo();ls.__click=()=>G("zwo"),ie(Oe,ls)};Ce(xe,Oe=>{Xs(A(te).sport)&&Oe(Ke)})}var _e=I(xe,2);{var Xe=Oe=>{var ls=Uo();ls.__click=()=>G("fit"),ie(Oe,ls)};Ce(_e,Oe=>{Qs(A(te).sport)&&Oe(Xe)})}var Cs=I(_e,2);{var Me=Oe=>{var ls=Ho();ls.__click=()=>G("mrc"),ie(Oe,ls)};Ce(Cs,Oe=>{$s(A(te).sport)&&Oe(Me)})}var ws=I(Cs,4);ws.__click=function(...Oe){s.onImportHelpClick?.apply(this,Oe)},ie(he,Ee)};Ce(Te,he=>{A(l)&&he(ce)})}ie(z,U)};Ce(u,z=>{A(Y)&&z(j)})}var L=I(ue,2),C=D(L);{var v=z=>{var U=Zo();let $;var Te=D(U);Fe(()=>{$=Pe(U,1,"export-status svelte-12rtkin",null,$,{error:A(o).isError}),pe(Te,A(o).message)}),ie(z,U)};Ce(C,z=>{A(o)&&z(v)})}var S=I(C,2);let N;S.__click=()=>s.onToggleComplete(A(te).id);var V=D(S);{var E=z=>{var U=Ko();ie(z,U)},B=z=>{var U=qo();ie(z,U)};Ce(V,z=>{n()?z(E):z(B,!1)})}Fe(()=>N=Pe(S,1,"complete-btn svelte-12rtkin",null,N,{mark:!n(),unmark:n()})),ie(se,le)},fe=se=>{var le=Jo(),ue=Je(le);ue.__click=_;var ge=I(ue,2);ge.__click=W;var ve=D(ge);Fe(()=>{ge.disabled=!A(y),pe(ve,A(i)==="create"?"Add Workout":"Save Changes")}),ie(se,le)};Ce(K,se=>{A(i)==="view"?se(q):se(fe,!1)})}var ye=I(H,2);{var re=se=>{var le=Yo(),ue=D(le),ge=I(D(ue),2),ve=D(ge);ve.__click=()=>ee(a,!1);var u=I(ve,2);u.__click=R,ie(se,le)};Ce(ye,se=>{A(a)&&se(re)})}ie(e,F),cs()}Ts(["click","keydown"]);const $o={theme:"dark",units:{swim:"meters",bike:"kilometers",run:"kilometers"},firstDayOfWeek:"monday",run:{lthr:165,hrZones:[{zone:1,name:"Recovery",low:0,high:134},{zone:2,name:"Aerobic",low:134,high:147},{zone:3,name:"Tempo",low:147,high:156},{zone:4,name:"Threshold",low:156,high:165},{zone:5,name:"VO2max",low:165,high:180}],thresholdPace:"4:30",paceZones:[{zone:"E",name:"Easy",pace:"5:20"},{zone:"M",name:"Marathon",pace:"4:50"},{zone:"T",name:"Threshold",pace:"4:30"},{zone:"I",name:"Interval",pace:"4:00"},{zone:"R",name:"Repetition",pace:"3:40"}]},bike:{lthr:160,hrZones:[{zone:1,name:"Recovery",low:0,high:130},{zone:2,name:"Aerobic",low:130,high:142},{zone:3,name:"Tempo",low:142,high:151},{zone:4,name:"Threshold",low:151,high:160},{zone:5,name:"VO2max",low:160,high:175}],ftp:200,powerZones:[{zone:1,name:"Active Recovery",low:0,high:110},{zone:2,name:"Endurance",low:110,high:150},{zone:3,name:"Tempo",low:150,high:180},{zone:4,name:"Threshold",low:180,high:210},{zone:5,name:"VO2max",low:210,high:240}]},swim:{css:"1:50",cssSeconds:110,paceZones:[{zone:1,name:"Recovery",offset:20,pace:"2:10"},{zone:2,name:"Aerobic",offset:10,pace:"2:00"},{zone:3,name:"Tempo",offset:5,pace:"1:55"},{zone:4,name:"Threshold",offset:0,pace:"1:50"},{zone:5,name:"VO2max",offset:-5,pace:"1:45"}]}},Rn=`plan-${Le.meta.id}-settings`;function er(){const e=JSON.parse(JSON.stringify($o));Le.preferences&&(e.units.swim=Le.preferences.swim||e.units.swim,e.units.bike=Le.preferences.bike||e.units.bike,e.units.run=Le.preferences.run||e.units.run,e.firstDayOfWeek=Le.preferences.firstDayOfWeek||e.firstDayOfWeek);const s=Le.zones;s?.run?.hr&&(e.run.lthr=s.run.hr.lthr,s.run.hr.zones&&(e.run.hrZones=s.run.hr.zones.map(n=>({zone:n.zone,name:n.name,low:n.hrLow,high:n.hrHigh})))),s?.run?.pace&&(e.run.thresholdPace=s.run.pace.thresholdPace||e.run.thresholdPace,s.run.pace.zones&&(e.run.paceZones=s.run.pace.zones.map(n=>({zone:n.zone,name:n.name,pace:n.pace})))),s?.bike?.hr&&(e.bike.lthr=s.bike.hr.lthr,s.bike.hr.zones&&(e.bike.hrZones=s.bike.hr.zones.map(n=>({zone:n.zone,name:n.name,low:n.hrLow,high:n.hrHigh})))),s?.bike?.power&&(e.bike.ftp=s.bike.power.ftp,s.bike.power.zones&&(e.bike.powerZones=s.bike.power.zones.map(n=>({zone:n.zone,name:n.name,low:n.wattsLow,high:n.wattsHigh})))),s?.swim&&(e.swim.css=s.swim.css||e.swim.css,e.swim.cssSeconds=s.swim.cssSeconds||e.swim.cssSeconds,s.swim.zones&&(e.swim.paceZones=s.swim.zones.map(n=>({zone:n.zone,name:n.name,offset:n.paceOffset,pace:n.pace}))));const t=localStorage.getItem(Rn);if(t){const n=JSON.parse(t);n.theme&&(e.theme=n.theme),n.units&&(e.units={...e.units,...n.units}),n.firstDayOfWeek&&(e.firstDayOfWeek=n.firstDayOfWeek),n.run&&(e.run={...e.run,...n.run}),n.bike&&(e.bike={...e.bike,...n.bike}),n.swim&&(e.swim={...e.swim,...n.swim})}return e}function sr(e){localStorage.setItem(Rn,JSON.stringify(e))}function In(e){if(!e)return 0;const s=e.split(":");return parseInt(s[0]??"0")*60+parseInt(s[1]??"0")}function Dn(e){const s=Math.floor(e/60),t=Math.round(e%60);return`${s}:${t.toString().padStart(2,"0")}`}function tr(e){return[{zone:1,name:"Recovery",lowPct:0,highPct:81},{zone:2,name:"Aerobic",lowPct:81,highPct:89},{zone:3,name:"Tempo",lowPct:89,highPct:94},{zone:4,name:"Threshold",lowPct:94,highPct:100},{zone:5,name:"VO2max",lowPct:100,highPct:106}].map(t=>({zone:t.zone,name:t.name,low:Math.round(e*t.lowPct/100),high:Math.round(e*t.highPct/100)}))}function ar(e){return[{zone:1,name:"Active Recovery",lowPct:0,highPct:55},{zone:2,name:"Endurance",lowPct:55,highPct:75},{zone:3,name:"Tempo",lowPct:75,highPct:90},{zone:4,name:"Threshold",lowPct:90,highPct:105},{zone:5,name:"VO2max",lowPct:105,highPct:120}].map(t=>({zone:t.zone,name:t.name,low:Math.round(e*t.lowPct/100),high:Math.round(e*t.highPct/100)}))}function nr(e){const s=In(e);return[{zone:"E",name:"Easy",factor:1.18},{zone:"M",name:"Marathon",factor:1.07},{zone:"T",name:"Threshold",factor:1},{zone:"I",name:"Interval",factor:.89},{zone:"R",name:"Repetition",factor:.82}].map(n=>({zone:n.zone,name:n.name,pace:Dn(Math.round(s*n.factor))}))}function ir(e){const s=In(e);return[{zone:1,name:"Recovery",offset:20},{zone:2,name:"Aerobic",offset:10},{zone:3,name:"Tempo",offset:5},{zone:4,name:"Threshold",offset:0},{zone:5,name:"VO2max",offset:-5}].map(n=>({zone:n.zone,name:n.name,offset:n.offset,pace:Dn(s+n.offset)}))}const lr="0.1.1";function or(e,s,t){const n=JSON.parse(JSON.stringify(e)),i=new Map;return n.weeks?.forEach((a,l)=>{a.days?.forEach((o,r)=>{o.workouts?.forEach((m,y)=>{i.set(m.id,{weekIdx:l,dayIdx:r,workoutIdx:y})})})}),s.deleted.forEach(a=>{const l=i.get(a);if(l){const{weekIdx:o,dayIdx:r,workoutIdx:m}=l;n.weeks[o].days[r].workouts.splice(m,1)}}),i.clear(),n.weeks?.forEach((a,l)=>{a.days?.forEach((o,r)=>{o.workouts?.forEach((m,y)=>{i.set(m.id,{weekIdx:l,dayIdx:r,workoutIdx:y})})})}),Object.entries(s.edited).forEach(([a,l])=>{const o=i.get(a);if(o){const{weekIdx:r,dayIdx:m,workoutIdx:y}=o,g=n.weeks[r].days[m].workouts[y];Object.assign(g,l)}}),Object.entries(s.moved).forEach(([a,l])=>{const o=i.get(a);if(!o)return;const{weekIdx:r,dayIdx:m,workoutIdx:y}=o,[g]=n.weeks[r].days[m].workouts.splice(y,1);let h=null;for(const c of n.weeks||[]){for(const T of c.days||[])if(T.date===l){h=T;break}if(h)break}h&&(h.workouts||(h.workouts=[]),h.workouts.push(g))}),Object.entries(s.added).forEach(([a,{date:l,workout:o}])=>{let r=null;for(const m of n.weeks||[]){for(const y of m.days||[])if(y.date===l){r=y;break}if(r)break}r&&(r.workouts||(r.workouts=[]),r.workouts.push(o))}),n.weeks?.forEach(a=>{a.days?.forEach(l=>{l.workouts?.forEach(o=>{o.completed=t[o.id]||!1})})}),n.meta.updatedAt=new Date().toISOString(),n}function rr(e,s,t){const n=new Blob([e],{type:t}),i=URL.createObjectURL(n),a=document.createElement("a");a.href=i,a.download=s,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(i)}function ur(e,s){const t=e.meta.event.replace(/[<>:"/\\|?*]/g,"").replace(/\s+/g,"-").toLowerCase().substring(0,50),n=new Date().toISOString().split("T")[0];return`${t}-updated-${n}.${s}`}function Ln(e,s){return e.deleted.length+Object.keys(e.edited).length+Object.keys(e.moved).length+Object.keys(e.added).length+Object.keys(s).filter(t=>s[t]).length}function cr(e,s,t){try{if(Ln(s,t)===0)return{success:!1,error:"No changes to apply"};const i=or(e,s,t),a=JSON.stringify(i,null,2),l=ur(i,"json");rr(a,l,"application/json");const o=Object.keys(t).filter(r=>t[r]).length;return{success:!0,planFilename:l,changesSummary:{deleted:s.deleted.length,edited:Object.keys(s.edited).length,moved:Object.keys(s.moved).length,added:Object.keys(s.added).length,completed:o}}}catch(n){return console.error("Error updating plan:",n),{success:!1,error:n instanceof Error?n.message:"Unknown error"}}}function Bn(e){const s=`plan-${e}-changes`,t=`plan-${e}-completed`,n=localStorage.getItem(s),i=localStorage.getItem(t),a=n?JSON.parse(n):{moved:{},edited:{},deleted:[],added:{}},l=i?JSON.parse(i):{};return{changes:a,completed:l}}function mr(e){const{changes:s,completed:t}=Bn(e);return Ln(s,t)>0}var fr=oe('<button class="data-btn export svelte-1g25oqh"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1g25oqh"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> Export</button>');function pr(e,s){us(s,!0);let t=Re(()=>mr(Le.meta.id));function n(){try{const{changes:a,completed:l}=Bn(Le.meta.id),o=cr(Le,a,l);o.success?s.onStatus?.({message:`Downloaded ${o.planFilename}`,isError:!1}):s.onStatus?.({message:o.error||"Export failed",isError:!0})}catch(a){s.onStatus?.({message:a instanceof Error?a.message:"Unknown error",isError:!0})}}var i=fr();i.__click=n,Fe(()=>i.disabled=!A(t)),ie(e,i),cs()}Ts(["click"]);var dr=oe("<button> </button>"),hr=oe('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Appearance</h4> <div class="theme-toggle svelte-1uhipit"><button><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><circle cx="12" cy="12" r="5"></circle><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"></path></svg> Light</button> <button><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg> Dark</button></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Distance Units</h4> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Swim</span> <select class="settings-select svelte-1uhipit"><option>Meters</option><option>Yards</option></select></div> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Bike</span> <select class="settings-select svelte-1uhipit"><option>Kilometers</option><option>Miles</option></select></div> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Run</span> <select class="settings-select svelte-1uhipit"><option>Kilometers</option><option>Miles</option></select></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Calendar</h4> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">First day of week</span> <select class="settings-select svelte-1uhipit"><option>Monday</option><option>Sunday</option></select></div></div>',1),br=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="number" class="zone-input svelte-1uhipit"/> <input type="number" class="zone-input svelte-1uhipit"/></div>'),yr=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="text" class="pace-input svelte-1uhipit"/></div>'),gr=oe('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Heart Rate Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Run LTHR</span> <input type="number" class="threshold-input svelte-1uhipit" min="100" max="220"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low</span><span>High</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your LTHR</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>30-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 15 minutes</li> <li class="svelte-1uhipit">Run as hard as you can sustain for 30 minutes</li> <li class="svelte-1uhipit">Your average HR for the last 20 minutes is your LTHR</li></ol></div></details></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Pace Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Threshold Pace</span> <input type="text" class="threshold-input svelte-1uhipit" placeholder="4:30"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span colspan="2">Pace/km</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your Threshold Pace</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>Option 1: Race-Based</strong></p> <ul class="svelte-1uhipit"><li class="svelte-1uhipit">Recent 5K race pace + 15-20 sec/km</li> <li class="svelte-1uhipit">Recent 10K race pace + 5-10 sec/km</li></ul> <p class="svelte-1uhipit"><strong>Option 2: 30-Minute Test</strong></p> <p class="svelte-1uhipit">Run 30 minutes at max sustainable effort. Average pace = threshold.</p></div></details></div>',1),vr=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="number" class="zone-input svelte-1uhipit"/> <input type="number" class="zone-input svelte-1uhipit"/></div>'),Tr=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="number" class="zone-input svelte-1uhipit"/> <input type="number" class="zone-input svelte-1uhipit"/></div>'),Cr=oe('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Heart Rate Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Bike LTHR</span> <input type="number" class="threshold-input svelte-1uhipit" min="100" max="220"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low</span><span>High</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your LTHR</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>30-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 15 minutes</li> <li class="svelte-1uhipit">Bike as hard as you can sustain for 30 minutes</li> <li class="svelte-1uhipit">Your average HR for the last 20 minutes is your LTHR</li></ol> <p class="help-note svelte-1uhipit">Bike LTHR is typically 5-10 bpm lower than run.</p></div></details></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Power Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">FTP (watts)</span> <input type="number" class="threshold-input svelte-1uhipit" min="50" max="500"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low W</span><span>High W</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your FTP</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>20-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 20 minutes including a few hard efforts</li> <li class="svelte-1uhipit">Ride as hard as you can sustain for 20 minutes</li> <li class="svelte-1uhipit">FTP = Average power × 0.95</li></ol> <p class="svelte-1uhipit"><strong>Ramp Test:</strong> Most trainer apps (Zwift, TrainerRoad) have built-in FTP tests.</p></div></details></div>',1),wr=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="text" class="pace-input svelte-1uhipit"/></div>'),Ar=oe('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Pace Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">CSS (per 100m)</span> <input type="text" class="threshold-input svelte-1uhipit" placeholder="1:45"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Offset</span><span>Pace/100</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your CSS</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>CSS Test (Critical Swim Speed):</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 10 minutes</li> <li class="svelte-1uhipit">Swim 400m all-out, record time (T400)</li> <li class="svelte-1uhipit">Rest 5-10 minutes</li> <li class="svelte-1uhipit">Swim 200m all-out, record time (T200)</li> <li class="svelte-1uhipit">CSS = (T400 - T200) ÷ 2 = pace per 100m</li></ol> <p class="svelte-1uhipit"><strong>Example:</strong> 400m in 6:40 (400s), 200m in 3:00 (180s)<br/> CSS = (400 - 180) ÷ 2 = 110 sec/100m = 1:50/100m</p></div></details></div>'),Fr=oe("<div> </div>"),_r=oe(`<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Your Data</h4> <div class="data-explainer svelte-1uhipit"><p class="svelte-1uhipit">Your training data is stored <strong>only on this device</strong>, in your browser's
|
|
36
|
+
`+"END:VCALENDAR"}var vt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Gl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Tt(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Mt={exports:{}};var Fa;function Zl(){return Fa||(Fa=1,(function(e,s){(function(t){e.exports=t()})(function(){return(function t(a,i,n){function o(m,y){if(!i[m]){if(!a[m]){var g=typeof Tt=="function"&&Tt;if(!y&&g)return g(m,!0);if(l)return l(m,!0);var d=new Error("Cannot find module '"+m+"'");throw d.code="MODULE_NOT_FOUND",d}var c=i[m]={exports:{}};a[m][0].call(c.exports,function(T){var p=a[m][1][T];return o(p||T)},c,c.exports,t,a,i,n)}return i[m].exports}for(var l=typeof Tt=="function"&&Tt,r=0;r<n.length;r++)o(n[r]);return o})({1:[function(t,a,i){var n=t("./utils"),o=t("./support"),l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";i.encode=function(r){for(var m,y,g,d,c,T,p,h=[],b=0,w=r.length,k=w,P=n.getTypeOf(r)!=="string";b<r.length;)k=w-b,g=P?(m=r[b++],y=b<w?r[b++]:0,b<w?r[b++]:0):(m=r.charCodeAt(b++),y=b<w?r.charCodeAt(b++):0,b<w?r.charCodeAt(b++):0),d=m>>2,c=(3&m)<<4|y>>4,T=1<k?(15&y)<<2|g>>6:64,p=2<k?63&g:64,h.push(l.charAt(d)+l.charAt(c)+l.charAt(T)+l.charAt(p));return h.join("")},i.decode=function(r){var m,y,g,d,c,T,p=0,h=0,b="data:";if(r.substr(0,b.length)===b)throw new Error("Invalid base64 input, it looks like a data url.");var w,k=3*(r=r.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(r.charAt(r.length-1)===l.charAt(64)&&k--,r.charAt(r.length-2)===l.charAt(64)&&k--,k%1!=0)throw new Error("Invalid base64 input, bad content length.");for(w=o.uint8array?new Uint8Array(0|k):new Array(0|k);p<r.length;)m=l.indexOf(r.charAt(p++))<<2|(d=l.indexOf(r.charAt(p++)))>>4,y=(15&d)<<4|(c=l.indexOf(r.charAt(p++)))>>2,g=(3&c)<<6|(T=l.indexOf(r.charAt(p++))),w[h++]=m,c!==64&&(w[h++]=y),T!==64&&(w[h++]=g);return w}},{"./support":30,"./utils":32}],2:[function(t,a,i){var n=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),r=t("./stream/DataLengthProbe");function m(y,g,d,c,T){this.compressedSize=y,this.uncompressedSize=g,this.crc32=d,this.compression=c,this.compressedContent=T}m.prototype={getContentWorker:function(){var y=new o(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new r("data_length")),g=this;return y.on("end",function(){if(this.streamInfo.data_length!==g.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),y},getCompressedWorker:function(){return new o(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},m.createWorkerFrom=function(y,g,d){return y.pipe(new l).pipe(new r("uncompressedSize")).pipe(g.compressWorker(d)).pipe(new r("compressedSize")).withStreamInfo("compression",g)},a.exports=m},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,a,i){var n=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,a,i){var n=t("./utils"),o=(function(){for(var l,r=[],m=0;m<256;m++){l=m;for(var y=0;y<8;y++)l=1&l?3988292384^l>>>1:l>>>1;r[m]=l}return r})();a.exports=function(l,r){return l!==void 0&&l.length?n.getTypeOf(l)!=="string"?(function(m,y,g,d){var c=o,T=d+g;m^=-1;for(var p=d;p<T;p++)m=m>>>8^c[255&(m^y[p])];return-1^m})(0|r,l,l.length,0):(function(m,y,g,d){var c=o,T=d+g;m^=-1;for(var p=d;p<T;p++)m=m>>>8^c[255&(m^y.charCodeAt(p))];return-1^m})(0|r,l,l.length,0):0}},{"./utils":32}],5:[function(t,a,i){i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,a,i){var n=null;n=typeof Promise<"u"?Promise:t("lie"),a.exports={Promise:n}},{lie:37}],7:[function(t,a,i){var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),r=t("./stream/GenericWorker"),m=n?"uint8array":"array";function y(g,d){r.call(this,"FlateWorker/"+g),this._pako=null,this._pakoAction=g,this._pakoOptions=d,this.meta={}}i.magic="\b\0",l.inherits(y,r),y.prototype.processChunk=function(g){this.meta=g.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(m,g.data),!1)},y.prototype.flush=function(){r.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},y.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this._pako=null},y.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var g=this;this._pako.onData=function(d){g.push({data:d,meta:g.meta})}},i.compressWorker=function(g){return new y("Deflate",g)},i.uncompressWorker=function(){return new y("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,a,i){function n(c,T){var p,h="";for(p=0;p<T;p++)h+=String.fromCharCode(255&c),c>>>=8;return h}function o(c,T,p,h,b,w){var k,P,_=c.file,W=c.compression,R=w!==m.utf8encode,G=l.transformTo("string",w(_.name)),O=l.transformTo("string",m.utf8encode(_.name)),Y=_.comment,te=l.transformTo("string",w(Y)),F=l.transformTo("string",m.utf8encode(Y)),Z=O.length!==_.name.length,f=F.length!==Y.length,J="",me="",X="",be=_.dir,Q=_.date,ae={crc32:0,compressedSize:0,uncompressedSize:0};T&&!p||(ae.crc32=c.crc32,ae.compressedSize=c.compressedSize,ae.uncompressedSize=c.uncompressedSize);var M=0;T&&(M|=8),R||!Z&&!f||(M|=2048);var x=0,H=0;be&&(x|=16),b==="UNIX"?(H=798,x|=(function(q,fe){var ye=q;return q||(ye=fe?16893:33204),(65535&ye)<<16})(_.unixPermissions,be)):(H=20,x|=(function(q){return 63&(q||0)})(_.dosPermissions)),k=Q.getUTCHours(),k<<=6,k|=Q.getUTCMinutes(),k<<=5,k|=Q.getUTCSeconds()/2,P=Q.getUTCFullYear()-1980,P<<=4,P|=Q.getUTCMonth()+1,P<<=5,P|=Q.getUTCDate(),Z&&(me=n(1,1)+n(y(G),4)+O,J+="up"+n(me.length,2)+me),f&&(X=n(1,1)+n(y(te),4)+F,J+="uc"+n(X.length,2)+X);var K="";return K+=`
|
|
37
|
+
\0`,K+=n(M,2),K+=W.magic,K+=n(k,2),K+=n(P,2),K+=n(ae.crc32,4),K+=n(ae.compressedSize,4),K+=n(ae.uncompressedSize,4),K+=n(G.length,2),K+=n(J.length,2),{fileRecord:g.LOCAL_FILE_HEADER+K+G+J,dirRecord:g.CENTRAL_FILE_HEADER+n(H,2)+K+n(te.length,2)+"\0\0\0\0"+n(x,4)+n(h,4)+G+J+te}}var l=t("../utils"),r=t("../stream/GenericWorker"),m=t("../utf8"),y=t("../crc32"),g=t("../signature");function d(c,T,p,h){r.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=T,this.zipPlatform=p,this.encodeFileName=h,this.streamFiles=c,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(d,r),d.prototype.push=function(c){var T=c.meta.percent||0,p=this.entriesCount,h=this._sources.length;this.accumulate?this.contentBuffer.push(c):(this.bytesWritten+=c.data.length,r.prototype.push.call(this,{data:c.data,meta:{currentFile:this.currentFile,percent:p?(T+100*(p-h-1))/p:100}}))},d.prototype.openedSource=function(c){this.currentSourceOffset=this.bytesWritten,this.currentFile=c.file.name;var T=this.streamFiles&&!c.file.dir;if(T){var p=o(c,T,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:p.fileRecord,meta:{percent:0}})}else this.accumulate=!0},d.prototype.closedSource=function(c){this.accumulate=!1;var T=this.streamFiles&&!c.file.dir,p=o(c,T,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(p.dirRecord),T)this.push({data:(function(h){return g.DATA_DESCRIPTOR+n(h.crc32,4)+n(h.compressedSize,4)+n(h.uncompressedSize,4)})(c),meta:{percent:100}});else for(this.push({data:p.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},d.prototype.flush=function(){for(var c=this.bytesWritten,T=0;T<this.dirRecords.length;T++)this.push({data:this.dirRecords[T],meta:{percent:100}});var p=this.bytesWritten-c,h=(function(b,w,k,P,_){var W=l.transformTo("string",_(P));return g.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(b,2)+n(b,2)+n(w,4)+n(k,4)+n(W.length,2)+W})(this.dirRecords.length,p,c,this.zipComment,this.encodeFileName);this.push({data:h,meta:{percent:100}})},d.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},d.prototype.registerPrevious=function(c){this._sources.push(c);var T=this;return c.on("data",function(p){T.processChunk(p)}),c.on("end",function(){T.closedSource(T.previous.streamInfo),T._sources.length?T.prepareNextSource():T.end()}),c.on("error",function(p){T.error(p)}),this},d.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},d.prototype.error=function(c){var T=this._sources;if(!r.prototype.error.call(this,c))return!1;for(var p=0;p<T.length;p++)try{T[p].error(c)}catch{}return!0},d.prototype.lock=function(){r.prototype.lock.call(this);for(var c=this._sources,T=0;T<c.length;T++)c[T].lock()},a.exports=d},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,a,i){var n=t("../compressions"),o=t("./ZipFileWorker");i.generateWorker=function(l,r,m){var y=new o(r.streamFiles,m,r.platform,r.encodeFileName),g=0;try{l.forEach(function(d,c){g++;var T=(function(w,k){var P=w||k,_=n[P];if(!_)throw new Error(P+" is not a valid compression method !");return _})(c.options.compression,r.compression),p=c.options.compressionOptions||r.compressionOptions||{},h=c.dir,b=c.date;c._compressWorker(T,p).withStreamInfo("file",{name:d,dir:h,date:b,comment:c.comment||"",unixPermissions:c.unixPermissions,dosPermissions:c.dosPermissions}).pipe(y)}),y.entriesCount=g}catch(d){y.error(d)}return y}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,a,i){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var o=new n;for(var l in this)typeof this[l]!="function"&&(o[l]=this[l]);return o}}(n.prototype=t("./object")).loadAsync=t("./load"),n.support=t("./support"),n.defaults=t("./defaults"),n.version="3.10.1",n.loadAsync=function(o,l){return new n().loadAsync(o,l)},n.external=t("./external"),a.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,a,i){var n=t("./utils"),o=t("./external"),l=t("./utf8"),r=t("./zipEntries"),m=t("./stream/Crc32Probe"),y=t("./nodejsUtils");function g(d){return new o.Promise(function(c,T){var p=d.decompressed.getContentWorker().pipe(new m);p.on("error",function(h){T(h)}).on("end",function(){p.streamInfo.crc32!==d.decompressed.crc32?T(new Error("Corrupted zip : CRC32 mismatch")):c()}).resume()})}a.exports=function(d,c){var T=this;return c=n.extend(c||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:l.utf8decode}),y.isNode&&y.isStream(d)?o.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",d,!0,c.optimizedBinaryString,c.base64).then(function(p){var h=new r(c);return h.load(p),h}).then(function(p){var h=[o.Promise.resolve(p)],b=p.files;if(c.checkCRC32)for(var w=0;w<b.length;w++)h.push(g(b[w]));return o.Promise.all(h)}).then(function(p){for(var h=p.shift(),b=h.files,w=0;w<b.length;w++){var k=b[w],P=k.fileNameStr,_=n.resolve(k.fileNameStr);T.file(_,k.decompressed,{binary:!0,optimizedBinaryString:!0,date:k.date,dir:k.dir,comment:k.fileCommentStr.length?k.fileCommentStr:null,unixPermissions:k.unixPermissions,dosPermissions:k.dosPermissions,createFolders:c.createFolders}),k.dir||(T.file(_).unsafeOriginalName=P)}return h.zipComment.length&&(T.comment=h.zipComment),T})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,a,i){var n=t("../utils"),o=t("../stream/GenericWorker");function l(r,m){o.call(this,"Nodejs stream input adapter for "+r),this._upstreamEnded=!1,this._bindStream(m)}n.inherits(l,o),l.prototype._bindStream=function(r){var m=this;(this._stream=r).pause(),r.on("data",function(y){m.push({data:y,meta:{percent:0}})}).on("error",function(y){m.isPaused?this.generatedError=y:m.error(y)}).on("end",function(){m.isPaused?m._upstreamEnded=!0:m.end()})},l.prototype.pause=function(){return!!o.prototype.pause.call(this)&&(this._stream.pause(),!0)},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},a.exports=l},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,a,i){var n=t("readable-stream").Readable;function o(l,r,m){n.call(this,r),this._helper=l;var y=this;l.on("data",function(g,d){y.push(g)||y._helper.pause(),m&&m(d)}).on("error",function(g){y.emit("error",g)}).on("end",function(){y.push(null)})}t("../utils").inherits(o,n),o.prototype._read=function(){this._helper.resume()},a.exports=o},{"../utils":32,"readable-stream":16}],14:[function(t,a,i){a.exports={isNode:typeof Buffer<"u",newBufferFrom:function(n,o){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(n,o);if(typeof n=="number")throw new Error('The "data" argument must not be a number');return new Buffer(n,o)},allocBuffer:function(n){if(Buffer.alloc)return Buffer.alloc(n);var o=new Buffer(n);return o.fill(0),o},isBuffer:function(n){return Buffer.isBuffer(n)},isStream:function(n){return n&&typeof n.on=="function"&&typeof n.pause=="function"&&typeof n.resume=="function"}}},{}],15:[function(t,a,i){function n(_,W,R){var G,O=l.getTypeOf(W),Y=l.extend(R||{},y);Y.date=Y.date||new Date,Y.compression!==null&&(Y.compression=Y.compression.toUpperCase()),typeof Y.unixPermissions=="string"&&(Y.unixPermissions=parseInt(Y.unixPermissions,8)),Y.unixPermissions&&16384&Y.unixPermissions&&(Y.dir=!0),Y.dosPermissions&&16&Y.dosPermissions&&(Y.dir=!0),Y.dir&&(_=b(_)),Y.createFolders&&(G=h(_))&&w.call(this,G,!0);var te=O==="string"&&Y.binary===!1&&Y.base64===!1;R&&R.binary!==void 0||(Y.binary=!te),(W instanceof g&&W.uncompressedSize===0||Y.dir||!W||W.length===0)&&(Y.base64=!1,Y.binary=!0,W="",Y.compression="STORE",O="string");var F=null;F=W instanceof g||W instanceof r?W:T.isNode&&T.isStream(W)?new p(_,W):l.prepareContent(_,W,Y.binary,Y.optimizedBinaryString,Y.base64);var Z=new d(_,F,Y);this.files[_]=Z}var o=t("./utf8"),l=t("./utils"),r=t("./stream/GenericWorker"),m=t("./stream/StreamHelper"),y=t("./defaults"),g=t("./compressedObject"),d=t("./zipObject"),c=t("./generate"),T=t("./nodejsUtils"),p=t("./nodejs/NodejsStreamInputAdapter"),h=function(_){_.slice(-1)==="/"&&(_=_.substring(0,_.length-1));var W=_.lastIndexOf("/");return 0<W?_.substring(0,W):""},b=function(_){return _.slice(-1)!=="/"&&(_+="/"),_},w=function(_,W){return W=W!==void 0?W:y.createFolders,_=b(_),this.files[_]||n.call(this,_,null,{dir:!0,createFolders:W}),this.files[_]};function k(_){return Object.prototype.toString.call(_)==="[object RegExp]"}var P={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(_){var W,R,G;for(W in this.files)G=this.files[W],(R=W.slice(this.root.length,W.length))&&W.slice(0,this.root.length)===this.root&&_(R,G)},filter:function(_){var W=[];return this.forEach(function(R,G){_(R,G)&&W.push(G)}),W},file:function(_,W,R){if(arguments.length!==1)return _=this.root+_,n.call(this,_,W,R),this;if(k(_)){var G=_;return this.filter(function(Y,te){return!te.dir&&G.test(Y)})}var O=this.files[this.root+_];return O&&!O.dir?O:null},folder:function(_){if(!_)return this;if(k(_))return this.filter(function(O,Y){return Y.dir&&_.test(O)});var W=this.root+_,R=w.call(this,W),G=this.clone();return G.root=R.name,G},remove:function(_){_=this.root+_;var W=this.files[_];if(W||(_.slice(-1)!=="/"&&(_+="/"),W=this.files[_]),W&&!W.dir)delete this.files[_];else for(var R=this.filter(function(O,Y){return Y.name.slice(0,_.length)===_}),G=0;G<R.length;G++)delete this.files[R[G].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(_){var W,R={};try{if((R=l.extend(_||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:o.utf8encode})).type=R.type.toLowerCase(),R.compression=R.compression.toUpperCase(),R.type==="binarystring"&&(R.type="string"),!R.type)throw new Error("No output type specified.");l.checkSupport(R.type),R.platform!=="darwin"&&R.platform!=="freebsd"&&R.platform!=="linux"&&R.platform!=="sunos"||(R.platform="UNIX"),R.platform==="win32"&&(R.platform="DOS");var G=R.comment||this.comment||"";W=c.generateWorker(this,R,G)}catch(O){(W=new r("error")).error(O)}return new m(W,R.type||"string",R.mimeType)},generateAsync:function(_,W){return this.generateInternalStream(_).accumulate(W)},generateNodeStream:function(_,W){return(_=_||{}).type||(_.type="nodebuffer"),this.generateInternalStream(_).toNodejsStream(W)}};a.exports=P},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,a,i){a.exports=t("stream")},{stream:void 0}],17:[function(t,a,i){var n=t("./DataReader");function o(l){n.call(this,l);for(var r=0;r<this.data.length;r++)l[r]=255&l[r]}t("../utils").inherits(o,n),o.prototype.byteAt=function(l){return this.data[this.zero+l]},o.prototype.lastIndexOfSignature=function(l){for(var r=l.charCodeAt(0),m=l.charCodeAt(1),y=l.charCodeAt(2),g=l.charCodeAt(3),d=this.length-4;0<=d;--d)if(this.data[d]===r&&this.data[d+1]===m&&this.data[d+2]===y&&this.data[d+3]===g)return d-this.zero;return-1},o.prototype.readAndCheckSignature=function(l){var r=l.charCodeAt(0),m=l.charCodeAt(1),y=l.charCodeAt(2),g=l.charCodeAt(3),d=this.readData(4);return r===d[0]&&m===d[1]&&y===d[2]&&g===d[3]},o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return[];var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./DataReader":18}],18:[function(t,a,i){var n=t("../utils");function o(l){this.data=l,this.length=l.length,this.index=0,this.zero=0}o.prototype={checkOffset:function(l){this.checkIndex(this.index+l)},checkIndex:function(l){if(this.length<this.zero+l||l<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+l+"). Corrupted zip ?")},setIndex:function(l){this.checkIndex(l),this.index=l},skip:function(l){this.setIndex(this.index+l)},byteAt:function(){},readInt:function(l){var r,m=0;for(this.checkOffset(l),r=this.index+l-1;r>=this.index;r--)m=(m<<8)+this.byteAt(r);return this.index+=l,m},readString:function(l){return n.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},a.exports=o},{"../utils":32}],19:[function(t,a,i){var n=t("./Uint8ArrayReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.readData=function(l){this.checkOffset(l);var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,a,i){var n=t("./DataReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,a,i){var n=t("./ArrayReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var r=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,a,i){var n=t("../utils"),o=t("../support"),l=t("./ArrayReader"),r=t("./StringReader"),m=t("./NodeBufferReader"),y=t("./Uint8ArrayReader");a.exports=function(g){var d=n.getTypeOf(g);return n.checkSupport(d),d!=="string"||o.uint8array?d==="nodebuffer"?new m(g):o.uint8array?new y(n.transformTo("uint8array",g)):new l(n.transformTo("array",g)):new r(g)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,a,i){i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,a,i){var n=t("./GenericWorker"),o=t("../utils");function l(r){n.call(this,"ConvertWorker to "+r),this.destType=r}o.inherits(l,n),l.prototype.processChunk=function(r){this.push({data:o.transformTo(this.destType,r.data),meta:r.meta})},a.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,a,i){var n=t("./GenericWorker"),o=t("../crc32");function l(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,n),l.prototype.processChunk=function(r){this.streamInfo.crc32=o(r.data,this.streamInfo.crc32||0),this.push(r)},a.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,a,i){var n=t("../utils"),o=t("./GenericWorker");function l(r){o.call(this,"DataLengthProbe for "+r),this.propName=r,this.withStreamInfo(r,0)}n.inherits(l,o),l.prototype.processChunk=function(r){if(r){var m=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=m+r.data.length}o.prototype.processChunk.call(this,r)},a.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,a,i){var n=t("../utils"),o=t("./GenericWorker");function l(r){o.call(this,"DataWorker");var m=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,r.then(function(y){m.dataIsReady=!0,m.data=y,m.max=y&&y.length||0,m.type=n.getTypeOf(y),m.isPaused||m._tickAndRepeat()},function(y){m.error(y)})}n.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var r=null,m=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":r=this.data.substring(this.index,m);break;case"uint8array":r=this.data.subarray(this.index,m);break;case"array":case"nodebuffer":r=this.data.slice(this.index,m)}return this.index=m,this.push({data:r,meta:{percent:this.max?this.index/this.max*100:0}})},a.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,a,i){function n(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var r=0;r<this._listeners[o].length;r++)this._listeners[o][r].call(this,l)},pipe:function(o){return o.registerPrevious(this)},registerPrevious:function(o){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=o.streamInfo,this.mergeStreamInfo(),this.previous=o;var l=this;return o.on("data",function(r){l.processChunk(r)}),o.on("end",function(){l.end()}),o.on("error",function(r){l.error(r)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var o=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),o=!0),this.previous&&this.previous.resume(),!o},flush:function(){},processChunk:function(o){this.push(o)},withStreamInfo:function(o,l){return this.extraStreamInfo[o]=l,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var o in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,o)&&(this.streamInfo[o]=this.extraStreamInfo[o])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var o="Worker "+this.name;return this.previous?this.previous+" -> "+o:o}},a.exports=n},{}],29:[function(t,a,i){var n=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),r=t("../base64"),m=t("../support"),y=t("../external"),g=null;if(m.nodestream)try{g=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function d(T,p){return new y.Promise(function(h,b){var w=[],k=T._internalType,P=T._outputType,_=T._mimeType;T.on("data",function(W,R){w.push(W),p&&p(R)}).on("error",function(W){w=[],b(W)}).on("end",function(){try{var W=(function(R,G,O){switch(R){case"blob":return n.newBlob(n.transformTo("arraybuffer",G),O);case"base64":return r.encode(G);default:return n.transformTo(R,G)}})(P,(function(R,G){var O,Y=0,te=null,F=0;for(O=0;O<G.length;O++)F+=G[O].length;switch(R){case"string":return G.join("");case"array":return Array.prototype.concat.apply([],G);case"uint8array":for(te=new Uint8Array(F),O=0;O<G.length;O++)te.set(G[O],Y),Y+=G[O].length;return te;case"nodebuffer":return Buffer.concat(G);default:throw new Error("concat : unsupported type '"+R+"'")}})(k,w),_);h(W)}catch(R){b(R)}w=[]}).resume()})}function c(T,p,h){var b=p;switch(p){case"blob":case"arraybuffer":b="uint8array";break;case"base64":b="string"}try{this._internalType=b,this._outputType=p,this._mimeType=h,n.checkSupport(b),this._worker=T.pipe(new o(b)),T.lock()}catch(w){this._worker=new l("error"),this._worker.error(w)}}c.prototype={accumulate:function(T){return d(this,T)},on:function(T,p){var h=this;return T==="data"?this._worker.on(T,function(b){p.call(h,b.data,b.meta)}):this._worker.on(T,function(){n.delay(p,arguments,h)}),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(T){if(n.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new g(this,{objectMode:this._outputType!=="nodebuffer"},T)}},a.exports=c},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,a,i){if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",i.nodebuffer=typeof Buffer<"u",i.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")i.blob=!1;else{var n=new ArrayBuffer(0);try{i.blob=new Blob([n],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(n),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,a,i){for(var n=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),r=t("./stream/GenericWorker"),m=new Array(256),y=0;y<256;y++)m[y]=252<=y?6:248<=y?5:240<=y?4:224<=y?3:192<=y?2:1;m[254]=m[254]=1;function g(){r.call(this,"utf-8 decode"),this.leftOver=null}function d(){r.call(this,"utf-8 encode")}i.utf8encode=function(c){return o.nodebuffer?l.newBufferFrom(c,"utf-8"):(function(T){var p,h,b,w,k,P=T.length,_=0;for(w=0;w<P;w++)(64512&(h=T.charCodeAt(w)))==55296&&w+1<P&&(64512&(b=T.charCodeAt(w+1)))==56320&&(h=65536+(h-55296<<10)+(b-56320),w++),_+=h<128?1:h<2048?2:h<65536?3:4;for(p=o.uint8array?new Uint8Array(_):new Array(_),w=k=0;k<_;w++)(64512&(h=T.charCodeAt(w)))==55296&&w+1<P&&(64512&(b=T.charCodeAt(w+1)))==56320&&(h=65536+(h-55296<<10)+(b-56320),w++),h<128?p[k++]=h:(h<2048?p[k++]=192|h>>>6:(h<65536?p[k++]=224|h>>>12:(p[k++]=240|h>>>18,p[k++]=128|h>>>12&63),p[k++]=128|h>>>6&63),p[k++]=128|63&h);return p})(c)},i.utf8decode=function(c){return o.nodebuffer?n.transformTo("nodebuffer",c).toString("utf-8"):(function(T){var p,h,b,w,k=T.length,P=new Array(2*k);for(p=h=0;p<k;)if((b=T[p++])<128)P[h++]=b;else if(4<(w=m[b]))P[h++]=65533,p+=w-1;else{for(b&=w===2?31:w===3?15:7;1<w&&p<k;)b=b<<6|63&T[p++],w--;1<w?P[h++]=65533:b<65536?P[h++]=b:(b-=65536,P[h++]=55296|b>>10&1023,P[h++]=56320|1023&b)}return P.length!==h&&(P.subarray?P=P.subarray(0,h):P.length=h),n.applyFromCharCode(P)})(c=n.transformTo(o.uint8array?"uint8array":"array",c))},n.inherits(g,r),g.prototype.processChunk=function(c){var T=n.transformTo(o.uint8array?"uint8array":"array",c.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var p=T;(T=new Uint8Array(p.length+this.leftOver.length)).set(this.leftOver,0),T.set(p,this.leftOver.length)}else T=this.leftOver.concat(T);this.leftOver=null}var h=(function(w,k){var P;for((k=k||w.length)>w.length&&(k=w.length),P=k-1;0<=P&&(192&w[P])==128;)P--;return P<0||P===0?k:P+m[w[P]]>k?P:k})(T),b=T;h!==T.length&&(o.uint8array?(b=T.subarray(0,h),this.leftOver=T.subarray(h,T.length)):(b=T.slice(0,h),this.leftOver=T.slice(h,T.length))),this.push({data:i.utf8decode(b),meta:c.meta})},g.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=g,n.inherits(d,r),d.prototype.processChunk=function(c){this.push({data:i.utf8encode(c.data),meta:c.meta})},i.Utf8EncodeWorker=d},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,a,i){var n=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),r=t("./external");function m(p){return p}function y(p,h){for(var b=0;b<p.length;++b)h[b]=255&p.charCodeAt(b);return h}t("setimmediate"),i.newBlob=function(p,h){i.checkSupport("blob");try{return new Blob([p],{type:h})}catch{try{var b=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return b.append(p),b.getBlob(h)}catch{throw new Error("Bug : can't construct the Blob.")}}};var g={stringifyByChunk:function(p,h,b){var w=[],k=0,P=p.length;if(P<=b)return String.fromCharCode.apply(null,p);for(;k<P;)h==="array"||h==="nodebuffer"?w.push(String.fromCharCode.apply(null,p.slice(k,Math.min(k+b,P)))):w.push(String.fromCharCode.apply(null,p.subarray(k,Math.min(k+b,P)))),k+=b;return w.join("")},stringifyByChar:function(p){for(var h="",b=0;b<p.length;b++)h+=String.fromCharCode(p[b]);return h},applyCanBeUsed:{uint8array:(function(){try{return n.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return n.nodebuffer&&String.fromCharCode.apply(null,l.allocBuffer(1)).length===1}catch{return!1}})()}};function d(p){var h=65536,b=i.getTypeOf(p),w=!0;if(b==="uint8array"?w=g.applyCanBeUsed.uint8array:b==="nodebuffer"&&(w=g.applyCanBeUsed.nodebuffer),w)for(;1<h;)try{return g.stringifyByChunk(p,b,h)}catch{h=Math.floor(h/2)}return g.stringifyByChar(p)}function c(p,h){for(var b=0;b<p.length;b++)h[b]=p[b];return h}i.applyFromCharCode=d;var T={};T.string={string:m,array:function(p){return y(p,new Array(p.length))},arraybuffer:function(p){return T.string.uint8array(p).buffer},uint8array:function(p){return y(p,new Uint8Array(p.length))},nodebuffer:function(p){return y(p,l.allocBuffer(p.length))}},T.array={string:d,array:m,arraybuffer:function(p){return new Uint8Array(p).buffer},uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return l.newBufferFrom(p)}},T.arraybuffer={string:function(p){return d(new Uint8Array(p))},array:function(p){return c(new Uint8Array(p),new Array(p.byteLength))},arraybuffer:m,uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return l.newBufferFrom(new Uint8Array(p))}},T.uint8array={string:d,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return p.buffer},uint8array:m,nodebuffer:function(p){return l.newBufferFrom(p)}},T.nodebuffer={string:d,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return T.nodebuffer.uint8array(p).buffer},uint8array:function(p){return c(p,new Uint8Array(p.length))},nodebuffer:m},i.transformTo=function(p,h){if(h=h||"",!p)return h;i.checkSupport(p);var b=i.getTypeOf(h);return T[b][p](h)},i.resolve=function(p){for(var h=p.split("/"),b=[],w=0;w<h.length;w++){var k=h[w];k==="."||k===""&&w!==0&&w!==h.length-1||(k===".."?b.pop():b.push(k))}return b.join("/")},i.getTypeOf=function(p){return typeof p=="string"?"string":Object.prototype.toString.call(p)==="[object Array]"?"array":n.nodebuffer&&l.isBuffer(p)?"nodebuffer":n.uint8array&&p instanceof Uint8Array?"uint8array":n.arraybuffer&&p instanceof ArrayBuffer?"arraybuffer":void 0},i.checkSupport=function(p){if(!n[p.toLowerCase()])throw new Error(p+" is not supported by this platform")},i.MAX_VALUE_16BITS=65535,i.MAX_VALUE_32BITS=-1,i.pretty=function(p){var h,b,w="";for(b=0;b<(p||"").length;b++)w+="\\x"+((h=p.charCodeAt(b))<16?"0":"")+h.toString(16).toUpperCase();return w},i.delay=function(p,h,b){setImmediate(function(){p.apply(b||null,h||[])})},i.inherits=function(p,h){function b(){}b.prototype=h.prototype,p.prototype=new b},i.extend=function(){var p,h,b={};for(p=0;p<arguments.length;p++)for(h in arguments[p])Object.prototype.hasOwnProperty.call(arguments[p],h)&&b[h]===void 0&&(b[h]=arguments[p][h]);return b},i.prepareContent=function(p,h,b,w,k){return r.Promise.resolve(h).then(function(P){return n.blob&&(P instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(P))!==-1)&&typeof FileReader<"u"?new r.Promise(function(_,W){var R=new FileReader;R.onload=function(G){_(G.target.result)},R.onerror=function(G){W(G.target.error)},R.readAsArrayBuffer(P)}):P}).then(function(P){var _=i.getTypeOf(P);return _?(_==="arraybuffer"?P=i.transformTo("uint8array",P):_==="string"&&(k?P=o.decode(P):b&&w!==!0&&(P=(function(W){return y(W,n.uint8array?new Uint8Array(W.length):new Array(W.length))})(P))),P):r.Promise.reject(new Error("Can't read the data of '"+p+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(t,a,i){var n=t("./reader/readerFor"),o=t("./utils"),l=t("./signature"),r=t("./zipEntry"),m=t("./support");function y(g){this.files=[],this.loadOptions=g}y.prototype={checkSignature:function(g){if(!this.reader.readAndCheckSignature(g)){this.reader.index-=4;var d=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+o.pretty(d)+", expected "+o.pretty(g)+")")}},isSignature:function(g,d){var c=this.reader.index;this.reader.setIndex(g);var T=this.reader.readString(4)===d;return this.reader.setIndex(c),T},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var g=this.reader.readData(this.zipCommentLength),d=m.uint8array?"uint8array":"array",c=o.transformTo(d,g);this.zipComment=this.loadOptions.decodeFileName(c)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var g,d,c,T=this.zip64EndOfCentralSize-44;0<T;)g=this.reader.readInt(2),d=this.reader.readInt(4),c=this.reader.readData(d),this.zip64ExtensibleData[g]={id:g,length:d,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var g,d;for(g=0;g<this.files.length;g++)d=this.files[g],this.reader.setIndex(d.localHeaderOffset),this.checkSignature(l.LOCAL_FILE_HEADER),d.readLocalPart(this.reader),d.handleUTF8(),d.processAttributes()},readCentralDir:function(){var g;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(l.CENTRAL_FILE_HEADER);)(g=new r({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(g);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var g=this.reader.lastIndexOfSignature(l.CENTRAL_DIRECTORY_END);if(g<0)throw this.isSignature(0,l.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(g);var d=g;if(this.checkSignature(l.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===o.MAX_VALUE_16BITS||this.diskWithCentralDirStart===o.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===o.MAX_VALUE_16BITS||this.centralDirRecords===o.MAX_VALUE_16BITS||this.centralDirSize===o.MAX_VALUE_32BITS||this.centralDirOffset===o.MAX_VALUE_32BITS){if(this.zip64=!0,(g=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(g),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,l.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var c=this.centralDirOffset+this.centralDirSize;this.zip64&&(c+=20,c+=12+this.zip64EndOfCentralSize);var T=d-c;if(0<T)this.isSignature(d,l.CENTRAL_FILE_HEADER)||(this.reader.zero=T);else if(T<0)throw new Error("Corrupted zip: missing "+Math.abs(T)+" bytes.")},prepareReader:function(g){this.reader=n(g)},load:function(g){this.prepareReader(g),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},a.exports=y},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(t,a,i){var n=t("./reader/readerFor"),o=t("./utils"),l=t("./compressedObject"),r=t("./crc32"),m=t("./utf8"),y=t("./compressions"),g=t("./support");function d(c,T){this.options=c,this.loadOptions=T}d.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(c){var T,p;if(c.skip(22),this.fileNameLength=c.readInt(2),p=c.readInt(2),this.fileName=c.readData(this.fileNameLength),c.skip(p),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((T=(function(h){for(var b in y)if(Object.prototype.hasOwnProperty.call(y,b)&&y[b].magic===h)return y[b];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+o.pretty(this.compressionMethod)+" unknown (inner file : "+o.transformTo("string",this.fileName)+")");this.decompressed=new l(this.compressedSize,this.uncompressedSize,this.crc32,T,c.readData(this.compressedSize))},readCentralPart:function(c){this.versionMadeBy=c.readInt(2),c.skip(2),this.bitFlag=c.readInt(2),this.compressionMethod=c.readString(2),this.date=c.readDate(),this.crc32=c.readInt(4),this.compressedSize=c.readInt(4),this.uncompressedSize=c.readInt(4);var T=c.readInt(2);if(this.extraFieldsLength=c.readInt(2),this.fileCommentLength=c.readInt(2),this.diskNumberStart=c.readInt(2),this.internalFileAttributes=c.readInt(2),this.externalFileAttributes=c.readInt(4),this.localHeaderOffset=c.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");c.skip(T),this.readExtraFields(c),this.parseZIP64ExtraField(c),this.fileComment=c.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var c=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),c==0&&(this.dosPermissions=63&this.externalFileAttributes),c==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var c=n(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=c.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=c.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=c.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=c.readInt(4))}},readExtraFields:function(c){var T,p,h,b=c.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});c.index+4<b;)T=c.readInt(2),p=c.readInt(2),h=c.readData(p),this.extraFields[T]={id:T,length:p,value:h};c.setIndex(b)},handleUTF8:function(){var c=g.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=m.utf8decode(this.fileName),this.fileCommentStr=m.utf8decode(this.fileComment);else{var T=this.findExtraFieldUnicodePath();if(T!==null)this.fileNameStr=T;else{var p=o.transformTo(c,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(p)}var h=this.findExtraFieldUnicodeComment();if(h!==null)this.fileCommentStr=h;else{var b=o.transformTo(c,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(b)}}},findExtraFieldUnicodePath:function(){var c=this.extraFields[28789];if(c){var T=n(c.value);return T.readInt(1)!==1||r(this.fileName)!==T.readInt(4)?null:m.utf8decode(T.readData(c.length-5))}return null},findExtraFieldUnicodeComment:function(){var c=this.extraFields[25461];if(c){var T=n(c.value);return T.readInt(1)!==1||r(this.fileComment)!==T.readInt(4)?null:m.utf8decode(T.readData(c.length-5))}return null}},a.exports=d},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,a,i){function n(T,p,h){this.name=T,this.dir=h.dir,this.date=h.date,this.comment=h.comment,this.unixPermissions=h.unixPermissions,this.dosPermissions=h.dosPermissions,this._data=p,this._dataBinary=h.binary,this.options={compression:h.compression,compressionOptions:h.compressionOptions}}var o=t("./stream/StreamHelper"),l=t("./stream/DataWorker"),r=t("./utf8"),m=t("./compressedObject"),y=t("./stream/GenericWorker");n.prototype={internalStream:function(T){var p=null,h="string";try{if(!T)throw new Error("No output type specified.");var b=(h=T.toLowerCase())==="string"||h==="text";h!=="binarystring"&&h!=="text"||(h="string"),p=this._decompressWorker();var w=!this._dataBinary;w&&!b&&(p=p.pipe(new r.Utf8EncodeWorker)),!w&&b&&(p=p.pipe(new r.Utf8DecodeWorker))}catch(k){(p=new y("error")).error(k)}return new o(p,h,"")},async:function(T,p){return this.internalStream(T).accumulate(p)},nodeStream:function(T,p){return this.internalStream(T||"nodebuffer").toNodejsStream(p)},_compressWorker:function(T,p){if(this._data instanceof m&&this._data.compression.magic===T.magic)return this._data.getCompressedWorker();var h=this._decompressWorker();return this._dataBinary||(h=h.pipe(new r.Utf8EncodeWorker)),m.createWorkerFrom(h,T,p)},_decompressWorker:function(){return this._data instanceof m?this._data.getContentWorker():this._data instanceof y?this._data:new l(this._data)}};for(var g=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],d=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},c=0;c<g.length;c++)n.prototype[g[c]]=d;a.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,a,i){(function(n){var o,l,r=n.MutationObserver||n.WebKitMutationObserver;if(r){var m=0,y=new r(T),g=n.document.createTextNode("");y.observe(g,{characterData:!0}),o=function(){g.data=m=++m%2}}else if(n.setImmediate||n.MessageChannel===void 0)o="document"in n&&"onreadystatechange"in n.document.createElement("script")?function(){var p=n.document.createElement("script");p.onreadystatechange=function(){T(),p.onreadystatechange=null,p.parentNode.removeChild(p),p=null},n.document.documentElement.appendChild(p)}:function(){setTimeout(T,0)};else{var d=new n.MessageChannel;d.port1.onmessage=T,o=function(){d.port2.postMessage(0)}}var c=[];function T(){var p,h;l=!0;for(var b=c.length;b;){for(h=c,c=[],p=-1;++p<b;)h[p]();b=c.length}l=!1}a.exports=function(p){c.push(p)!==1||l||o()}}).call(this,typeof vt<"u"?vt:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(t,a,i){var n=t("immediate");function o(){}var l={},r=["REJECTED"],m=["FULFILLED"],y=["PENDING"];function g(b){if(typeof b!="function")throw new TypeError("resolver must be a function");this.state=y,this.queue=[],this.outcome=void 0,b!==o&&p(this,b)}function d(b,w,k){this.promise=b,typeof w=="function"&&(this.onFulfilled=w,this.callFulfilled=this.otherCallFulfilled),typeof k=="function"&&(this.onRejected=k,this.callRejected=this.otherCallRejected)}function c(b,w,k){n(function(){var P;try{P=w(k)}catch(_){return l.reject(b,_)}P===b?l.reject(b,new TypeError("Cannot resolve promise with itself")):l.resolve(b,P)})}function T(b){var w=b&&b.then;if(b&&(typeof b=="object"||typeof b=="function")&&typeof w=="function")return function(){w.apply(b,arguments)}}function p(b,w){var k=!1;function P(R){k||(k=!0,l.reject(b,R))}function _(R){k||(k=!0,l.resolve(b,R))}var W=h(function(){w(_,P)});W.status==="error"&&P(W.value)}function h(b,w){var k={};try{k.value=b(w),k.status="success"}catch(P){k.status="error",k.value=P}return k}(a.exports=g).prototype.finally=function(b){if(typeof b!="function")return this;var w=this.constructor;return this.then(function(k){return w.resolve(b()).then(function(){return k})},function(k){return w.resolve(b()).then(function(){throw k})})},g.prototype.catch=function(b){return this.then(null,b)},g.prototype.then=function(b,w){if(typeof b!="function"&&this.state===m||typeof w!="function"&&this.state===r)return this;var k=new this.constructor(o);return this.state!==y?c(k,this.state===m?b:w,this.outcome):this.queue.push(new d(k,b,w)),k},d.prototype.callFulfilled=function(b){l.resolve(this.promise,b)},d.prototype.otherCallFulfilled=function(b){c(this.promise,this.onFulfilled,b)},d.prototype.callRejected=function(b){l.reject(this.promise,b)},d.prototype.otherCallRejected=function(b){c(this.promise,this.onRejected,b)},l.resolve=function(b,w){var k=h(T,w);if(k.status==="error")return l.reject(b,k.value);var P=k.value;if(P)p(b,P);else{b.state=m,b.outcome=w;for(var _=-1,W=b.queue.length;++_<W;)b.queue[_].callFulfilled(w)}return b},l.reject=function(b,w){b.state=r,b.outcome=w;for(var k=-1,P=b.queue.length;++k<P;)b.queue[k].callRejected(w);return b},g.resolve=function(b){return b instanceof this?b:l.resolve(new this(o),b)},g.reject=function(b){var w=new this(o);return l.reject(w,b)},g.all=function(b){var w=this;if(Object.prototype.toString.call(b)!=="[object Array]")return this.reject(new TypeError("must be an array"));var k=b.length,P=!1;if(!k)return this.resolve([]);for(var _=new Array(k),W=0,R=-1,G=new this(o);++R<k;)O(b[R],R);return G;function O(Y,te){w.resolve(Y).then(function(F){_[te]=F,++W!==k||P||(P=!0,l.resolve(G,_))},function(F){P||(P=!0,l.reject(G,F))})}},g.race=function(b){var w=this;if(Object.prototype.toString.call(b)!=="[object Array]")return this.reject(new TypeError("must be an array"));var k=b.length,P=!1;if(!k)return this.resolve([]);for(var _=-1,W=new this(o);++_<k;)R=b[_],w.resolve(R).then(function(G){P||(P=!0,l.resolve(W,G))},function(G){P||(P=!0,l.reject(W,G))});var R;return W}},{immediate:36}],38:[function(t,a,i){var n={};(0,t("./lib/utils/common").assign)(n,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),a.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,a,i){var n=t("./zlib/deflate"),o=t("./utils/common"),l=t("./utils/strings"),r=t("./zlib/messages"),m=t("./zlib/zstream"),y=Object.prototype.toString,g=0,d=-1,c=0,T=8;function p(b){if(!(this instanceof p))return new p(b);this.options=o.assign({level:d,method:T,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},b||{});var w=this.options;w.raw&&0<w.windowBits?w.windowBits=-w.windowBits:w.gzip&&0<w.windowBits&&w.windowBits<16&&(w.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new m,this.strm.avail_out=0;var k=n.deflateInit2(this.strm,w.level,w.method,w.windowBits,w.memLevel,w.strategy);if(k!==g)throw new Error(r[k]);if(w.header&&n.deflateSetHeader(this.strm,w.header),w.dictionary){var P;if(P=typeof w.dictionary=="string"?l.string2buf(w.dictionary):y.call(w.dictionary)==="[object ArrayBuffer]"?new Uint8Array(w.dictionary):w.dictionary,(k=n.deflateSetDictionary(this.strm,P))!==g)throw new Error(r[k]);this._dict_set=!0}}function h(b,w){var k=new p(w);if(k.push(b,!0),k.err)throw k.msg||r[k.err];return k.result}p.prototype.push=function(b,w){var k,P,_=this.strm,W=this.options.chunkSize;if(this.ended)return!1;P=w===~~w?w:w===!0?4:0,typeof b=="string"?_.input=l.string2buf(b):y.call(b)==="[object ArrayBuffer]"?_.input=new Uint8Array(b):_.input=b,_.next_in=0,_.avail_in=_.input.length;do{if(_.avail_out===0&&(_.output=new o.Buf8(W),_.next_out=0,_.avail_out=W),(k=n.deflate(_,P))!==1&&k!==g)return this.onEnd(k),!(this.ended=!0);_.avail_out!==0&&(_.avail_in!==0||P!==4&&P!==2)||(this.options.to==="string"?this.onData(l.buf2binstring(o.shrinkBuf(_.output,_.next_out))):this.onData(o.shrinkBuf(_.output,_.next_out)))}while((0<_.avail_in||_.avail_out===0)&&k!==1);return P===4?(k=n.deflateEnd(this.strm),this.onEnd(k),this.ended=!0,k===g):P!==2||(this.onEnd(g),!(_.avail_out=0))},p.prototype.onData=function(b){this.chunks.push(b)},p.prototype.onEnd=function(b){b===g&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=b,this.msg=this.strm.msg},i.Deflate=p,i.deflate=h,i.deflateRaw=function(b,w){return(w=w||{}).raw=!0,h(b,w)},i.gzip=function(b,w){return(w=w||{}).gzip=!0,h(b,w)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,a,i){var n=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),r=t("./zlib/constants"),m=t("./zlib/messages"),y=t("./zlib/zstream"),g=t("./zlib/gzheader"),d=Object.prototype.toString;function c(p){if(!(this instanceof c))return new c(p);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},p||{});var h=this.options;h.raw&&0<=h.windowBits&&h.windowBits<16&&(h.windowBits=-h.windowBits,h.windowBits===0&&(h.windowBits=-15)),!(0<=h.windowBits&&h.windowBits<16)||p&&p.windowBits||(h.windowBits+=32),15<h.windowBits&&h.windowBits<48&&(15&h.windowBits)==0&&(h.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new y,this.strm.avail_out=0;var b=n.inflateInit2(this.strm,h.windowBits);if(b!==r.Z_OK)throw new Error(m[b]);this.header=new g,n.inflateGetHeader(this.strm,this.header)}function T(p,h){var b=new c(h);if(b.push(p,!0),b.err)throw b.msg||m[b.err];return b.result}c.prototype.push=function(p,h){var b,w,k,P,_,W,R=this.strm,G=this.options.chunkSize,O=this.options.dictionary,Y=!1;if(this.ended)return!1;w=h===~~h?h:h===!0?r.Z_FINISH:r.Z_NO_FLUSH,typeof p=="string"?R.input=l.binstring2buf(p):d.call(p)==="[object ArrayBuffer]"?R.input=new Uint8Array(p):R.input=p,R.next_in=0,R.avail_in=R.input.length;do{if(R.avail_out===0&&(R.output=new o.Buf8(G),R.next_out=0,R.avail_out=G),(b=n.inflate(R,r.Z_NO_FLUSH))===r.Z_NEED_DICT&&O&&(W=typeof O=="string"?l.string2buf(O):d.call(O)==="[object ArrayBuffer]"?new Uint8Array(O):O,b=n.inflateSetDictionary(this.strm,W)),b===r.Z_BUF_ERROR&&Y===!0&&(b=r.Z_OK,Y=!1),b!==r.Z_STREAM_END&&b!==r.Z_OK)return this.onEnd(b),!(this.ended=!0);R.next_out&&(R.avail_out!==0&&b!==r.Z_STREAM_END&&(R.avail_in!==0||w!==r.Z_FINISH&&w!==r.Z_SYNC_FLUSH)||(this.options.to==="string"?(k=l.utf8border(R.output,R.next_out),P=R.next_out-k,_=l.buf2string(R.output,k),R.next_out=P,R.avail_out=G-P,P&&o.arraySet(R.output,R.output,k,P,0),this.onData(_)):this.onData(o.shrinkBuf(R.output,R.next_out)))),R.avail_in===0&&R.avail_out===0&&(Y=!0)}while((0<R.avail_in||R.avail_out===0)&&b!==r.Z_STREAM_END);return b===r.Z_STREAM_END&&(w=r.Z_FINISH),w===r.Z_FINISH?(b=n.inflateEnd(this.strm),this.onEnd(b),this.ended=!0,b===r.Z_OK):w!==r.Z_SYNC_FLUSH||(this.onEnd(r.Z_OK),!(R.avail_out=0))},c.prototype.onData=function(p){this.chunks.push(p)},c.prototype.onEnd=function(p){p===r.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=p,this.msg=this.strm.msg},i.Inflate=c,i.inflate=T,i.inflateRaw=function(p,h){return(h=h||{}).raw=!0,T(p,h)},i.ungzip=T},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,a,i){var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";i.assign=function(r){for(var m=Array.prototype.slice.call(arguments,1);m.length;){var y=m.shift();if(y){if(typeof y!="object")throw new TypeError(y+"must be non-object");for(var g in y)y.hasOwnProperty(g)&&(r[g]=y[g])}}return r},i.shrinkBuf=function(r,m){return r.length===m?r:r.subarray?r.subarray(0,m):(r.length=m,r)};var o={arraySet:function(r,m,y,g,d){if(m.subarray&&r.subarray)r.set(m.subarray(y,y+g),d);else for(var c=0;c<g;c++)r[d+c]=m[y+c]},flattenChunks:function(r){var m,y,g,d,c,T;for(m=g=0,y=r.length;m<y;m++)g+=r[m].length;for(T=new Uint8Array(g),m=d=0,y=r.length;m<y;m++)c=r[m],T.set(c,d),d+=c.length;return T}},l={arraySet:function(r,m,y,g,d){for(var c=0;c<g;c++)r[d+c]=m[y+c]},flattenChunks:function(r){return[].concat.apply([],r)}};i.setTyped=function(r){r?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,o)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,l))},i.setTyped(n)},{}],42:[function(t,a,i){var n=t("./common"),o=!0,l=!0;try{String.fromCharCode.apply(null,[0])}catch{o=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{l=!1}for(var r=new n.Buf8(256),m=0;m<256;m++)r[m]=252<=m?6:248<=m?5:240<=m?4:224<=m?3:192<=m?2:1;function y(g,d){if(d<65537&&(g.subarray&&l||!g.subarray&&o))return String.fromCharCode.apply(null,n.shrinkBuf(g,d));for(var c="",T=0;T<d;T++)c+=String.fromCharCode(g[T]);return c}r[254]=r[254]=1,i.string2buf=function(g){var d,c,T,p,h,b=g.length,w=0;for(p=0;p<b;p++)(64512&(c=g.charCodeAt(p)))==55296&&p+1<b&&(64512&(T=g.charCodeAt(p+1)))==56320&&(c=65536+(c-55296<<10)+(T-56320),p++),w+=c<128?1:c<2048?2:c<65536?3:4;for(d=new n.Buf8(w),p=h=0;h<w;p++)(64512&(c=g.charCodeAt(p)))==55296&&p+1<b&&(64512&(T=g.charCodeAt(p+1)))==56320&&(c=65536+(c-55296<<10)+(T-56320),p++),c<128?d[h++]=c:(c<2048?d[h++]=192|c>>>6:(c<65536?d[h++]=224|c>>>12:(d[h++]=240|c>>>18,d[h++]=128|c>>>12&63),d[h++]=128|c>>>6&63),d[h++]=128|63&c);return d},i.buf2binstring=function(g){return y(g,g.length)},i.binstring2buf=function(g){for(var d=new n.Buf8(g.length),c=0,T=d.length;c<T;c++)d[c]=g.charCodeAt(c);return d},i.buf2string=function(g,d){var c,T,p,h,b=d||g.length,w=new Array(2*b);for(c=T=0;c<b;)if((p=g[c++])<128)w[T++]=p;else if(4<(h=r[p]))w[T++]=65533,c+=h-1;else{for(p&=h===2?31:h===3?15:7;1<h&&c<b;)p=p<<6|63&g[c++],h--;1<h?w[T++]=65533:p<65536?w[T++]=p:(p-=65536,w[T++]=55296|p>>10&1023,w[T++]=56320|1023&p)}return y(w,T)},i.utf8border=function(g,d){var c;for((d=d||g.length)>g.length&&(d=g.length),c=d-1;0<=c&&(192&g[c])==128;)c--;return c<0||c===0?d:c+r[g[c]]>d?c:d}},{"./common":41}],43:[function(t,a,i){a.exports=function(n,o,l,r){for(var m=65535&n|0,y=n>>>16&65535|0,g=0;l!==0;){for(l-=g=2e3<l?2e3:l;y=y+(m=m+o[r++]|0)|0,--g;);m%=65521,y%=65521}return m|y<<16|0}},{}],44:[function(t,a,i){a.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,a,i){var n=(function(){for(var o,l=[],r=0;r<256;r++){o=r;for(var m=0;m<8;m++)o=1&o?3988292384^o>>>1:o>>>1;l[r]=o}return l})();a.exports=function(o,l,r,m){var y=n,g=m+r;o^=-1;for(var d=m;d<g;d++)o=o>>>8^y[255&(o^l[d])];return-1^o}},{}],46:[function(t,a,i){var n,o=t("../utils/common"),l=t("./trees"),r=t("./adler32"),m=t("./crc32"),y=t("./messages"),g=0,d=4,c=0,T=-2,p=-1,h=4,b=2,w=8,k=9,P=286,_=30,W=19,R=2*P+1,G=15,O=3,Y=258,te=Y+O+1,F=42,Z=113,f=1,J=2,me=3,X=4;function be(u,j){return u.msg=y[j],j}function Q(u){return(u<<1)-(4<u?9:0)}function ae(u){for(var j=u.length;0<=--j;)u[j]=0}function M(u){var j=u.state,L=j.pending;L>u.avail_out&&(L=u.avail_out),L!==0&&(o.arraySet(u.output,j.pending_buf,j.pending_out,L,u.next_out),u.next_out+=L,j.pending_out+=L,u.total_out+=L,u.avail_out-=L,j.pending-=L,j.pending===0&&(j.pending_out=0))}function x(u,j){l._tr_flush_block(u,0<=u.block_start?u.block_start:-1,u.strstart-u.block_start,j),u.block_start=u.strstart,M(u.strm)}function H(u,j){u.pending_buf[u.pending++]=j}function K(u,j){u.pending_buf[u.pending++]=j>>>8&255,u.pending_buf[u.pending++]=255&j}function q(u,j){var L,C,v=u.max_chain_length,S=u.strstart,N=u.prev_length,V=u.nice_match,E=u.strstart>u.w_size-te?u.strstart-(u.w_size-te):0,B=u.window,z=u.w_mask,U=u.prev,$=u.strstart+Y,Te=B[S+N-1],ce=B[S+N];u.prev_length>=u.good_match&&(v>>=2),V>u.lookahead&&(V=u.lookahead);do if(B[(L=j)+N]===ce&&B[L+N-1]===Te&&B[L]===B[S]&&B[++L]===B[S+1]){S+=2,L++;do;while(B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&B[++S]===B[++L]&&S<$);if(C=Y-($-S),S=$-Y,N<C){if(u.match_start=j,V<=(N=C))break;Te=B[S+N-1],ce=B[S+N]}}while((j=U[j&z])>E&&--v!=0);return N<=u.lookahead?N:u.lookahead}function fe(u){var j,L,C,v,S,N,V,E,B,z,U=u.w_size;do{if(v=u.window_size-u.lookahead-u.strstart,u.strstart>=U+(U-te)){for(o.arraySet(u.window,u.window,U,U,0),u.match_start-=U,u.strstart-=U,u.block_start-=U,j=L=u.hash_size;C=u.head[--j],u.head[j]=U<=C?C-U:0,--L;);for(j=L=U;C=u.prev[--j],u.prev[j]=U<=C?C-U:0,--L;);v+=U}if(u.strm.avail_in===0)break;if(N=u.strm,V=u.window,E=u.strstart+u.lookahead,B=v,z=void 0,z=N.avail_in,B<z&&(z=B),L=z===0?0:(N.avail_in-=z,o.arraySet(V,N.input,N.next_in,z,E),N.state.wrap===1?N.adler=r(N.adler,V,z,E):N.state.wrap===2&&(N.adler=m(N.adler,V,z,E)),N.next_in+=z,N.total_in+=z,z),u.lookahead+=L,u.lookahead+u.insert>=O)for(S=u.strstart-u.insert,u.ins_h=u.window[S],u.ins_h=(u.ins_h<<u.hash_shift^u.window[S+1])&u.hash_mask;u.insert&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[S+O-1])&u.hash_mask,u.prev[S&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=S,S++,u.insert--,!(u.lookahead+u.insert<O)););}while(u.lookahead<te&&u.strm.avail_in!==0)}function ye(u,j){for(var L,C;;){if(u.lookahead<te){if(fe(u),u.lookahead<te&&j===g)return f;if(u.lookahead===0)break}if(L=0,u.lookahead>=O&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,L=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),L!==0&&u.strstart-L<=u.w_size-te&&(u.match_length=q(u,L)),u.match_length>=O)if(C=l._tr_tally(u,u.strstart-u.match_start,u.match_length-O),u.lookahead-=u.match_length,u.match_length<=u.max_lazy_match&&u.lookahead>=O){for(u.match_length--;u.strstart++,u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,L=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart,--u.match_length!=0;);u.strstart++}else u.strstart+=u.match_length,u.match_length=0,u.ins_h=u.window[u.strstart],u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+1])&u.hash_mask;else C=l._tr_tally(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++;if(C&&(x(u,!1),u.strm.avail_out===0))return f}return u.insert=u.strstart<O-1?u.strstart:O-1,j===d?(x(u,!0),u.strm.avail_out===0?me:X):u.last_lit&&(x(u,!1),u.strm.avail_out===0)?f:J}function re(u,j){for(var L,C,v;;){if(u.lookahead<te){if(fe(u),u.lookahead<te&&j===g)return f;if(u.lookahead===0)break}if(L=0,u.lookahead>=O&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,L=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),u.prev_length=u.match_length,u.prev_match=u.match_start,u.match_length=O-1,L!==0&&u.prev_length<u.max_lazy_match&&u.strstart-L<=u.w_size-te&&(u.match_length=q(u,L),u.match_length<=5&&(u.strategy===1||u.match_length===O&&4096<u.strstart-u.match_start)&&(u.match_length=O-1)),u.prev_length>=O&&u.match_length<=u.prev_length){for(v=u.strstart+u.lookahead-O,C=l._tr_tally(u,u.strstart-1-u.prev_match,u.prev_length-O),u.lookahead-=u.prev_length-1,u.prev_length-=2;++u.strstart<=v&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,L=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),--u.prev_length!=0;);if(u.match_available=0,u.match_length=O-1,u.strstart++,C&&(x(u,!1),u.strm.avail_out===0))return f}else if(u.match_available){if((C=l._tr_tally(u,0,u.window[u.strstart-1]))&&x(u,!1),u.strstart++,u.lookahead--,u.strm.avail_out===0)return f}else u.match_available=1,u.strstart++,u.lookahead--}return u.match_available&&(C=l._tr_tally(u,0,u.window[u.strstart-1]),u.match_available=0),u.insert=u.strstart<O-1?u.strstart:O-1,j===d?(x(u,!0),u.strm.avail_out===0?me:X):u.last_lit&&(x(u,!1),u.strm.avail_out===0)?f:J}function se(u,j,L,C,v){this.good_length=u,this.max_lazy=j,this.nice_length=L,this.max_chain=C,this.func=v}function ie(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=w,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new o.Buf16(2*R),this.dyn_dtree=new o.Buf16(2*(2*_+1)),this.bl_tree=new o.Buf16(2*(2*W+1)),ae(this.dyn_ltree),ae(this.dyn_dtree),ae(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new o.Buf16(G+1),this.heap=new o.Buf16(2*P+1),ae(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new o.Buf16(2*P+1),ae(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ue(u){var j;return u&&u.state?(u.total_in=u.total_out=0,u.data_type=b,(j=u.state).pending=0,j.pending_out=0,j.wrap<0&&(j.wrap=-j.wrap),j.status=j.wrap?F:Z,u.adler=j.wrap===2?0:1,j.last_flush=g,l._tr_init(j),c):be(u,T)}function ge(u){var j=ue(u);return j===c&&(function(L){L.window_size=2*L.w_size,ae(L.head),L.max_lazy_match=n[L.level].max_lazy,L.good_match=n[L.level].good_length,L.nice_match=n[L.level].nice_length,L.max_chain_length=n[L.level].max_chain,L.strstart=0,L.block_start=0,L.lookahead=0,L.insert=0,L.match_length=L.prev_length=O-1,L.match_available=0,L.ins_h=0})(u.state),j}function ve(u,j,L,C,v,S){if(!u)return T;var N=1;if(j===p&&(j=6),C<0?(N=0,C=-C):15<C&&(N=2,C-=16),v<1||k<v||L!==w||C<8||15<C||j<0||9<j||S<0||h<S)return be(u,T);C===8&&(C=9);var V=new ie;return(u.state=V).strm=u,V.wrap=N,V.gzhead=null,V.w_bits=C,V.w_size=1<<V.w_bits,V.w_mask=V.w_size-1,V.hash_bits=v+7,V.hash_size=1<<V.hash_bits,V.hash_mask=V.hash_size-1,V.hash_shift=~~((V.hash_bits+O-1)/O),V.window=new o.Buf8(2*V.w_size),V.head=new o.Buf16(V.hash_size),V.prev=new o.Buf16(V.w_size),V.lit_bufsize=1<<v+6,V.pending_buf_size=4*V.lit_bufsize,V.pending_buf=new o.Buf8(V.pending_buf_size),V.d_buf=1*V.lit_bufsize,V.l_buf=3*V.lit_bufsize,V.level=j,V.strategy=S,V.method=L,ge(u)}n=[new se(0,0,0,0,function(u,j){var L=65535;for(L>u.pending_buf_size-5&&(L=u.pending_buf_size-5);;){if(u.lookahead<=1){if(fe(u),u.lookahead===0&&j===g)return f;if(u.lookahead===0)break}u.strstart+=u.lookahead,u.lookahead=0;var C=u.block_start+L;if((u.strstart===0||u.strstart>=C)&&(u.lookahead=u.strstart-C,u.strstart=C,x(u,!1),u.strm.avail_out===0)||u.strstart-u.block_start>=u.w_size-te&&(x(u,!1),u.strm.avail_out===0))return f}return u.insert=0,j===d?(x(u,!0),u.strm.avail_out===0?me:X):(u.strstart>u.block_start&&(x(u,!1),u.strm.avail_out),f)}),new se(4,4,8,4,ye),new se(4,5,16,8,ye),new se(4,6,32,32,ye),new se(4,4,16,16,re),new se(8,16,32,32,re),new se(8,16,128,128,re),new se(8,32,128,256,re),new se(32,128,258,1024,re),new se(32,258,258,4096,re)],i.deflateInit=function(u,j){return ve(u,j,w,15,8,0)},i.deflateInit2=ve,i.deflateReset=ge,i.deflateResetKeep=ue,i.deflateSetHeader=function(u,j){return u&&u.state?u.state.wrap!==2?T:(u.state.gzhead=j,c):T},i.deflate=function(u,j){var L,C,v,S;if(!u||!u.state||5<j||j<0)return u?be(u,T):T;if(C=u.state,!u.output||!u.input&&u.avail_in!==0||C.status===666&&j!==d)return be(u,u.avail_out===0?-5:T);if(C.strm=u,L=C.last_flush,C.last_flush=j,C.status===F)if(C.wrap===2)u.adler=0,H(C,31),H(C,139),H(C,8),C.gzhead?(H(C,(C.gzhead.text?1:0)+(C.gzhead.hcrc?2:0)+(C.gzhead.extra?4:0)+(C.gzhead.name?8:0)+(C.gzhead.comment?16:0)),H(C,255&C.gzhead.time),H(C,C.gzhead.time>>8&255),H(C,C.gzhead.time>>16&255),H(C,C.gzhead.time>>24&255),H(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),H(C,255&C.gzhead.os),C.gzhead.extra&&C.gzhead.extra.length&&(H(C,255&C.gzhead.extra.length),H(C,C.gzhead.extra.length>>8&255)),C.gzhead.hcrc&&(u.adler=m(u.adler,C.pending_buf,C.pending,0)),C.gzindex=0,C.status=69):(H(C,0),H(C,0),H(C,0),H(C,0),H(C,0),H(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),H(C,3),C.status=Z);else{var N=w+(C.w_bits-8<<4)<<8;N|=(2<=C.strategy||C.level<2?0:C.level<6?1:C.level===6?2:3)<<6,C.strstart!==0&&(N|=32),N+=31-N%31,C.status=Z,K(C,N),C.strstart!==0&&(K(C,u.adler>>>16),K(C,65535&u.adler)),u.adler=1}if(C.status===69)if(C.gzhead.extra){for(v=C.pending;C.gzindex<(65535&C.gzhead.extra.length)&&(C.pending!==C.pending_buf_size||(C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),M(u),v=C.pending,C.pending!==C.pending_buf_size));)H(C,255&C.gzhead.extra[C.gzindex]),C.gzindex++;C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),C.gzindex===C.gzhead.extra.length&&(C.gzindex=0,C.status=73)}else C.status=73;if(C.status===73)if(C.gzhead.name){v=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),M(u),v=C.pending,C.pending===C.pending_buf_size)){S=1;break}S=C.gzindex<C.gzhead.name.length?255&C.gzhead.name.charCodeAt(C.gzindex++):0,H(C,S)}while(S!==0);C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),S===0&&(C.gzindex=0,C.status=91)}else C.status=91;if(C.status===91)if(C.gzhead.comment){v=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),M(u),v=C.pending,C.pending===C.pending_buf_size)){S=1;break}S=C.gzindex<C.gzhead.comment.length?255&C.gzhead.comment.charCodeAt(C.gzindex++):0,H(C,S)}while(S!==0);C.gzhead.hcrc&&C.pending>v&&(u.adler=m(u.adler,C.pending_buf,C.pending-v,v)),S===0&&(C.status=103)}else C.status=103;if(C.status===103&&(C.gzhead.hcrc?(C.pending+2>C.pending_buf_size&&M(u),C.pending+2<=C.pending_buf_size&&(H(C,255&u.adler),H(C,u.adler>>8&255),u.adler=0,C.status=Z)):C.status=Z),C.pending!==0){if(M(u),u.avail_out===0)return C.last_flush=-1,c}else if(u.avail_in===0&&Q(j)<=Q(L)&&j!==d)return be(u,-5);if(C.status===666&&u.avail_in!==0)return be(u,-5);if(u.avail_in!==0||C.lookahead!==0||j!==g&&C.status!==666){var V=C.strategy===2?(function(E,B){for(var z;;){if(E.lookahead===0&&(fe(E),E.lookahead===0)){if(B===g)return f;break}if(E.match_length=0,z=l._tr_tally(E,0,E.window[E.strstart]),E.lookahead--,E.strstart++,z&&(x(E,!1),E.strm.avail_out===0))return f}return E.insert=0,B===d?(x(E,!0),E.strm.avail_out===0?me:X):E.last_lit&&(x(E,!1),E.strm.avail_out===0)?f:J})(C,j):C.strategy===3?(function(E,B){for(var z,U,$,Te,ce=E.window;;){if(E.lookahead<=Y){if(fe(E),E.lookahead<=Y&&B===g)return f;if(E.lookahead===0)break}if(E.match_length=0,E.lookahead>=O&&0<E.strstart&&(U=ce[$=E.strstart-1])===ce[++$]&&U===ce[++$]&&U===ce[++$]){Te=E.strstart+Y;do;while(U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&U===ce[++$]&&$<Te);E.match_length=Y-(Te-$),E.match_length>E.lookahead&&(E.match_length=E.lookahead)}if(E.match_length>=O?(z=l._tr_tally(E,1,E.match_length-O),E.lookahead-=E.match_length,E.strstart+=E.match_length,E.match_length=0):(z=l._tr_tally(E,0,E.window[E.strstart]),E.lookahead--,E.strstart++),z&&(x(E,!1),E.strm.avail_out===0))return f}return E.insert=0,B===d?(x(E,!0),E.strm.avail_out===0?me:X):E.last_lit&&(x(E,!1),E.strm.avail_out===0)?f:J})(C,j):n[C.level].func(C,j);if(V!==me&&V!==X||(C.status=666),V===f||V===me)return u.avail_out===0&&(C.last_flush=-1),c;if(V===J&&(j===1?l._tr_align(C):j!==5&&(l._tr_stored_block(C,0,0,!1),j===3&&(ae(C.head),C.lookahead===0&&(C.strstart=0,C.block_start=0,C.insert=0))),M(u),u.avail_out===0))return C.last_flush=-1,c}return j!==d?c:C.wrap<=0?1:(C.wrap===2?(H(C,255&u.adler),H(C,u.adler>>8&255),H(C,u.adler>>16&255),H(C,u.adler>>24&255),H(C,255&u.total_in),H(C,u.total_in>>8&255),H(C,u.total_in>>16&255),H(C,u.total_in>>24&255)):(K(C,u.adler>>>16),K(C,65535&u.adler)),M(u),0<C.wrap&&(C.wrap=-C.wrap),C.pending!==0?c:1)},i.deflateEnd=function(u){var j;return u&&u.state?(j=u.state.status)!==F&&j!==69&&j!==73&&j!==91&&j!==103&&j!==Z&&j!==666?be(u,T):(u.state=null,j===Z?be(u,-3):c):T},i.deflateSetDictionary=function(u,j){var L,C,v,S,N,V,E,B,z=j.length;if(!u||!u.state||(S=(L=u.state).wrap)===2||S===1&&L.status!==F||L.lookahead)return T;for(S===1&&(u.adler=r(u.adler,j,z,0)),L.wrap=0,z>=L.w_size&&(S===0&&(ae(L.head),L.strstart=0,L.block_start=0,L.insert=0),B=new o.Buf8(L.w_size),o.arraySet(B,j,z-L.w_size,L.w_size,0),j=B,z=L.w_size),N=u.avail_in,V=u.next_in,E=u.input,u.avail_in=z,u.next_in=0,u.input=j,fe(L);L.lookahead>=O;){for(C=L.strstart,v=L.lookahead-(O-1);L.ins_h=(L.ins_h<<L.hash_shift^L.window[C+O-1])&L.hash_mask,L.prev[C&L.w_mask]=L.head[L.ins_h],L.head[L.ins_h]=C,C++,--v;);L.strstart=C,L.lookahead=O-1,fe(L)}return L.strstart+=L.lookahead,L.block_start=L.strstart,L.insert=L.lookahead,L.lookahead=0,L.match_length=L.prev_length=O-1,L.match_available=0,u.next_in=V,u.input=E,u.avail_in=N,L.wrap=S,c},i.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,a,i){a.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,a,i){a.exports=function(n,o){var l,r,m,y,g,d,c,T,p,h,b,w,k,P,_,W,R,G,O,Y,te,F,Z,f,J;l=n.state,r=n.next_in,f=n.input,m=r+(n.avail_in-5),y=n.next_out,J=n.output,g=y-(o-n.avail_out),d=y+(n.avail_out-257),c=l.dmax,T=l.wsize,p=l.whave,h=l.wnext,b=l.window,w=l.hold,k=l.bits,P=l.lencode,_=l.distcode,W=(1<<l.lenbits)-1,R=(1<<l.distbits)-1;e:do{k<15&&(w+=f[r++]<<k,k+=8,w+=f[r++]<<k,k+=8),G=P[w&W];s:for(;;){if(w>>>=O=G>>>24,k-=O,(O=G>>>16&255)===0)J[y++]=65535&G;else{if(!(16&O)){if((64&O)==0){G=P[(65535&G)+(w&(1<<O)-1)];continue s}if(32&O){l.mode=12;break e}n.msg="invalid literal/length code",l.mode=30;break e}Y=65535&G,(O&=15)&&(k<O&&(w+=f[r++]<<k,k+=8),Y+=w&(1<<O)-1,w>>>=O,k-=O),k<15&&(w+=f[r++]<<k,k+=8,w+=f[r++]<<k,k+=8),G=_[w&R];t:for(;;){if(w>>>=O=G>>>24,k-=O,!(16&(O=G>>>16&255))){if((64&O)==0){G=_[(65535&G)+(w&(1<<O)-1)];continue t}n.msg="invalid distance code",l.mode=30;break e}if(te=65535&G,k<(O&=15)&&(w+=f[r++]<<k,(k+=8)<O&&(w+=f[r++]<<k,k+=8)),c<(te+=w&(1<<O)-1)){n.msg="invalid distance too far back",l.mode=30;break e}if(w>>>=O,k-=O,(O=y-g)<te){if(p<(O=te-O)&&l.sane){n.msg="invalid distance too far back",l.mode=30;break e}if(Z=b,(F=0)===h){if(F+=T-O,O<Y){for(Y-=O;J[y++]=b[F++],--O;);F=y-te,Z=J}}else if(h<O){if(F+=T+h-O,(O-=h)<Y){for(Y-=O;J[y++]=b[F++],--O;);if(F=0,h<Y){for(Y-=O=h;J[y++]=b[F++],--O;);F=y-te,Z=J}}}else if(F+=h-O,O<Y){for(Y-=O;J[y++]=b[F++],--O;);F=y-te,Z=J}for(;2<Y;)J[y++]=Z[F++],J[y++]=Z[F++],J[y++]=Z[F++],Y-=3;Y&&(J[y++]=Z[F++],1<Y&&(J[y++]=Z[F++]))}else{for(F=y-te;J[y++]=J[F++],J[y++]=J[F++],J[y++]=J[F++],2<(Y-=3););Y&&(J[y++]=J[F++],1<Y&&(J[y++]=J[F++]))}break}}break}}while(r<m&&y<d);r-=Y=k>>3,w&=(1<<(k-=Y<<3))-1,n.next_in=r,n.next_out=y,n.avail_in=r<m?m-r+5:5-(r-m),n.avail_out=y<d?d-y+257:257-(y-d),l.hold=w,l.bits=k}},{}],49:[function(t,a,i){var n=t("../utils/common"),o=t("./adler32"),l=t("./crc32"),r=t("./inffast"),m=t("./inftrees"),y=1,g=2,d=0,c=-2,T=1,p=852,h=592;function b(F){return(F>>>24&255)+(F>>>8&65280)+((65280&F)<<8)+((255&F)<<24)}function w(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function k(F){var Z;return F&&F.state?(Z=F.state,F.total_in=F.total_out=Z.total=0,F.msg="",Z.wrap&&(F.adler=1&Z.wrap),Z.mode=T,Z.last=0,Z.havedict=0,Z.dmax=32768,Z.head=null,Z.hold=0,Z.bits=0,Z.lencode=Z.lendyn=new n.Buf32(p),Z.distcode=Z.distdyn=new n.Buf32(h),Z.sane=1,Z.back=-1,d):c}function P(F){var Z;return F&&F.state?((Z=F.state).wsize=0,Z.whave=0,Z.wnext=0,k(F)):c}function _(F,Z){var f,J;return F&&F.state?(J=F.state,Z<0?(f=0,Z=-Z):(f=1+(Z>>4),Z<48&&(Z&=15)),Z&&(Z<8||15<Z)?c:(J.window!==null&&J.wbits!==Z&&(J.window=null),J.wrap=f,J.wbits=Z,P(F))):c}function W(F,Z){var f,J;return F?(J=new w,(F.state=J).window=null,(f=_(F,Z))!==d&&(F.state=null),f):c}var R,G,O=!0;function Y(F){if(O){var Z;for(R=new n.Buf32(512),G=new n.Buf32(32),Z=0;Z<144;)F.lens[Z++]=8;for(;Z<256;)F.lens[Z++]=9;for(;Z<280;)F.lens[Z++]=7;for(;Z<288;)F.lens[Z++]=8;for(m(y,F.lens,0,288,R,0,F.work,{bits:9}),Z=0;Z<32;)F.lens[Z++]=5;m(g,F.lens,0,32,G,0,F.work,{bits:5}),O=!1}F.lencode=R,F.lenbits=9,F.distcode=G,F.distbits=5}function te(F,Z,f,J){var me,X=F.state;return X.window===null&&(X.wsize=1<<X.wbits,X.wnext=0,X.whave=0,X.window=new n.Buf8(X.wsize)),J>=X.wsize?(n.arraySet(X.window,Z,f-X.wsize,X.wsize,0),X.wnext=0,X.whave=X.wsize):(J<(me=X.wsize-X.wnext)&&(me=J),n.arraySet(X.window,Z,f-J,me,X.wnext),(J-=me)?(n.arraySet(X.window,Z,f-J,J,0),X.wnext=J,X.whave=X.wsize):(X.wnext+=me,X.wnext===X.wsize&&(X.wnext=0),X.whave<X.wsize&&(X.whave+=me))),0}i.inflateReset=P,i.inflateReset2=_,i.inflateResetKeep=k,i.inflateInit=function(F){return W(F,15)},i.inflateInit2=W,i.inflate=function(F,Z){var f,J,me,X,be,Q,ae,M,x,H,K,q,fe,ye,re,se,ie,ue,ge,ve,u,j,L,C,v=0,S=new n.Buf8(4),N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!F||!F.state||!F.output||!F.input&&F.avail_in!==0)return c;(f=F.state).mode===12&&(f.mode=13),be=F.next_out,me=F.output,ae=F.avail_out,X=F.next_in,J=F.input,Q=F.avail_in,M=f.hold,x=f.bits,H=Q,K=ae,j=d;e:for(;;)switch(f.mode){case T:if(f.wrap===0){f.mode=13;break}for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(2&f.wrap&&M===35615){S[f.check=0]=255&M,S[1]=M>>>8&255,f.check=l(f.check,S,2,0),x=M=0,f.mode=2;break}if(f.flags=0,f.head&&(f.head.done=!1),!(1&f.wrap)||(((255&M)<<8)+(M>>8))%31){F.msg="incorrect header check",f.mode=30;break}if((15&M)!=8){F.msg="unknown compression method",f.mode=30;break}if(x-=4,u=8+(15&(M>>>=4)),f.wbits===0)f.wbits=u;else if(u>f.wbits){F.msg="invalid window size",f.mode=30;break}f.dmax=1<<u,F.adler=f.check=1,f.mode=512&M?10:12,x=M=0;break;case 2:for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(f.flags=M,(255&f.flags)!=8){F.msg="unknown compression method",f.mode=30;break}if(57344&f.flags){F.msg="unknown header flags set",f.mode=30;break}f.head&&(f.head.text=M>>8&1),512&f.flags&&(S[0]=255&M,S[1]=M>>>8&255,f.check=l(f.check,S,2,0)),x=M=0,f.mode=3;case 3:for(;x<32;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.head&&(f.head.time=M),512&f.flags&&(S[0]=255&M,S[1]=M>>>8&255,S[2]=M>>>16&255,S[3]=M>>>24&255,f.check=l(f.check,S,4,0)),x=M=0,f.mode=4;case 4:for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.head&&(f.head.xflags=255&M,f.head.os=M>>8),512&f.flags&&(S[0]=255&M,S[1]=M>>>8&255,f.check=l(f.check,S,2,0)),x=M=0,f.mode=5;case 5:if(1024&f.flags){for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.length=M,f.head&&(f.head.extra_len=M),512&f.flags&&(S[0]=255&M,S[1]=M>>>8&255,f.check=l(f.check,S,2,0)),x=M=0}else f.head&&(f.head.extra=null);f.mode=6;case 6:if(1024&f.flags&&(Q<(q=f.length)&&(q=Q),q&&(f.head&&(u=f.head.extra_len-f.length,f.head.extra||(f.head.extra=new Array(f.head.extra_len)),n.arraySet(f.head.extra,J,X,q,u)),512&f.flags&&(f.check=l(f.check,J,q,X)),Q-=q,X+=q,f.length-=q),f.length))break e;f.length=0,f.mode=7;case 7:if(2048&f.flags){if(Q===0)break e;for(q=0;u=J[X+q++],f.head&&u&&f.length<65536&&(f.head.name+=String.fromCharCode(u)),u&&q<Q;);if(512&f.flags&&(f.check=l(f.check,J,q,X)),Q-=q,X+=q,u)break e}else f.head&&(f.head.name=null);f.length=0,f.mode=8;case 8:if(4096&f.flags){if(Q===0)break e;for(q=0;u=J[X+q++],f.head&&u&&f.length<65536&&(f.head.comment+=String.fromCharCode(u)),u&&q<Q;);if(512&f.flags&&(f.check=l(f.check,J,q,X)),Q-=q,X+=q,u)break e}else f.head&&(f.head.comment=null);f.mode=9;case 9:if(512&f.flags){for(;x<16;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(M!==(65535&f.check)){F.msg="header crc mismatch",f.mode=30;break}x=M=0}f.head&&(f.head.hcrc=f.flags>>9&1,f.head.done=!0),F.adler=f.check=0,f.mode=12;break;case 10:for(;x<32;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}F.adler=f.check=b(M),x=M=0,f.mode=11;case 11:if(f.havedict===0)return F.next_out=be,F.avail_out=ae,F.next_in=X,F.avail_in=Q,f.hold=M,f.bits=x,2;F.adler=f.check=1,f.mode=12;case 12:if(Z===5||Z===6)break e;case 13:if(f.last){M>>>=7&x,x-=7&x,f.mode=27;break}for(;x<3;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}switch(f.last=1&M,x-=1,3&(M>>>=1)){case 0:f.mode=14;break;case 1:if(Y(f),f.mode=20,Z!==6)break;M>>>=2,x-=2;break e;case 2:f.mode=17;break;case 3:F.msg="invalid block type",f.mode=30}M>>>=2,x-=2;break;case 14:for(M>>>=7&x,x-=7&x;x<32;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if((65535&M)!=(M>>>16^65535)){F.msg="invalid stored block lengths",f.mode=30;break}if(f.length=65535&M,x=M=0,f.mode=15,Z===6)break e;case 15:f.mode=16;case 16:if(q=f.length){if(Q<q&&(q=Q),ae<q&&(q=ae),q===0)break e;n.arraySet(me,J,X,q,be),Q-=q,X+=q,ae-=q,be+=q,f.length-=q;break}f.mode=12;break;case 17:for(;x<14;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(f.nlen=257+(31&M),M>>>=5,x-=5,f.ndist=1+(31&M),M>>>=5,x-=5,f.ncode=4+(15&M),M>>>=4,x-=4,286<f.nlen||30<f.ndist){F.msg="too many length or distance symbols",f.mode=30;break}f.have=0,f.mode=18;case 18:for(;f.have<f.ncode;){for(;x<3;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.lens[N[f.have++]]=7&M,M>>>=3,x-=3}for(;f.have<19;)f.lens[N[f.have++]]=0;if(f.lencode=f.lendyn,f.lenbits=7,L={bits:f.lenbits},j=m(0,f.lens,0,19,f.lencode,0,f.work,L),f.lenbits=L.bits,j){F.msg="invalid code lengths set",f.mode=30;break}f.have=0,f.mode=19;case 19:for(;f.have<f.nlen+f.ndist;){for(;se=(v=f.lencode[M&(1<<f.lenbits)-1])>>>16&255,ie=65535&v,!((re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(ie<16)M>>>=re,x-=re,f.lens[f.have++]=ie;else{if(ie===16){for(C=re+2;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(M>>>=re,x-=re,f.have===0){F.msg="invalid bit length repeat",f.mode=30;break}u=f.lens[f.have-1],q=3+(3&M),M>>>=2,x-=2}else if(ie===17){for(C=re+3;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}x-=re,u=0,q=3+(7&(M>>>=re)),M>>>=3,x-=3}else{for(C=re+7;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}x-=re,u=0,q=11+(127&(M>>>=re)),M>>>=7,x-=7}if(f.have+q>f.nlen+f.ndist){F.msg="invalid bit length repeat",f.mode=30;break}for(;q--;)f.lens[f.have++]=u}}if(f.mode===30)break;if(f.lens[256]===0){F.msg="invalid code -- missing end-of-block",f.mode=30;break}if(f.lenbits=9,L={bits:f.lenbits},j=m(y,f.lens,0,f.nlen,f.lencode,0,f.work,L),f.lenbits=L.bits,j){F.msg="invalid literal/lengths set",f.mode=30;break}if(f.distbits=6,f.distcode=f.distdyn,L={bits:f.distbits},j=m(g,f.lens,f.nlen,f.ndist,f.distcode,0,f.work,L),f.distbits=L.bits,j){F.msg="invalid distances set",f.mode=30;break}if(f.mode=20,Z===6)break e;case 20:f.mode=21;case 21:if(6<=Q&&258<=ae){F.next_out=be,F.avail_out=ae,F.next_in=X,F.avail_in=Q,f.hold=M,f.bits=x,r(F,K),be=F.next_out,me=F.output,ae=F.avail_out,X=F.next_in,J=F.input,Q=F.avail_in,M=f.hold,x=f.bits,f.mode===12&&(f.back=-1);break}for(f.back=0;se=(v=f.lencode[M&(1<<f.lenbits)-1])>>>16&255,ie=65535&v,!((re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(se&&(240&se)==0){for(ue=re,ge=se,ve=ie;se=(v=f.lencode[ve+((M&(1<<ue+ge)-1)>>ue)])>>>16&255,ie=65535&v,!(ue+(re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}M>>>=ue,x-=ue,f.back+=ue}if(M>>>=re,x-=re,f.back+=re,f.length=ie,se===0){f.mode=26;break}if(32&se){f.back=-1,f.mode=12;break}if(64&se){F.msg="invalid literal/length code",f.mode=30;break}f.extra=15&se,f.mode=22;case 22:if(f.extra){for(C=f.extra;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.length+=M&(1<<f.extra)-1,M>>>=f.extra,x-=f.extra,f.back+=f.extra}f.was=f.length,f.mode=23;case 23:for(;se=(v=f.distcode[M&(1<<f.distbits)-1])>>>16&255,ie=65535&v,!((re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if((240&se)==0){for(ue=re,ge=se,ve=ie;se=(v=f.distcode[ve+((M&(1<<ue+ge)-1)>>ue)])>>>16&255,ie=65535&v,!(ue+(re=v>>>24)<=x);){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}M>>>=ue,x-=ue,f.back+=ue}if(M>>>=re,x-=re,f.back+=re,64&se){F.msg="invalid distance code",f.mode=30;break}f.offset=ie,f.extra=15&se,f.mode=24;case 24:if(f.extra){for(C=f.extra;x<C;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}f.offset+=M&(1<<f.extra)-1,M>>>=f.extra,x-=f.extra,f.back+=f.extra}if(f.offset>f.dmax){F.msg="invalid distance too far back",f.mode=30;break}f.mode=25;case 25:if(ae===0)break e;if(q=K-ae,f.offset>q){if((q=f.offset-q)>f.whave&&f.sane){F.msg="invalid distance too far back",f.mode=30;break}fe=q>f.wnext?(q-=f.wnext,f.wsize-q):f.wnext-q,q>f.length&&(q=f.length),ye=f.window}else ye=me,fe=be-f.offset,q=f.length;for(ae<q&&(q=ae),ae-=q,f.length-=q;me[be++]=ye[fe++],--q;);f.length===0&&(f.mode=21);break;case 26:if(ae===0)break e;me[be++]=f.length,ae--,f.mode=21;break;case 27:if(f.wrap){for(;x<32;){if(Q===0)break e;Q--,M|=J[X++]<<x,x+=8}if(K-=ae,F.total_out+=K,f.total+=K,K&&(F.adler=f.check=f.flags?l(f.check,me,K,be-K):o(f.check,me,K,be-K)),K=ae,(f.flags?M:b(M))!==f.check){F.msg="incorrect data check",f.mode=30;break}x=M=0}f.mode=28;case 28:if(f.wrap&&f.flags){for(;x<32;){if(Q===0)break e;Q--,M+=J[X++]<<x,x+=8}if(M!==(4294967295&f.total)){F.msg="incorrect length check",f.mode=30;break}x=M=0}f.mode=29;case 29:j=1;break e;case 30:j=-3;break e;case 31:return-4;default:return c}return F.next_out=be,F.avail_out=ae,F.next_in=X,F.avail_in=Q,f.hold=M,f.bits=x,(f.wsize||K!==F.avail_out&&f.mode<30&&(f.mode<27||Z!==4))&&te(F,F.output,F.next_out,K-F.avail_out)?(f.mode=31,-4):(H-=F.avail_in,K-=F.avail_out,F.total_in+=H,F.total_out+=K,f.total+=K,f.wrap&&K&&(F.adler=f.check=f.flags?l(f.check,me,K,F.next_out-K):o(f.check,me,K,F.next_out-K)),F.data_type=f.bits+(f.last?64:0)+(f.mode===12?128:0)+(f.mode===20||f.mode===15?256:0),(H==0&&K===0||Z===4)&&j===d&&(j=-5),j)},i.inflateEnd=function(F){if(!F||!F.state)return c;var Z=F.state;return Z.window&&(Z.window=null),F.state=null,d},i.inflateGetHeader=function(F,Z){var f;return F&&F.state?(2&(f=F.state).wrap)==0?c:((f.head=Z).done=!1,d):c},i.inflateSetDictionary=function(F,Z){var f,J=Z.length;return F&&F.state?(f=F.state).wrap!==0&&f.mode!==11?c:f.mode===11&&o(1,Z,J,0)!==f.check?-3:te(F,Z,J,J)?(f.mode=31,-4):(f.havedict=1,d):c},i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,a,i){var n=t("../utils/common"),o=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],r=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];a.exports=function(y,g,d,c,T,p,h,b){var w,k,P,_,W,R,G,O,Y,te=b.bits,F=0,Z=0,f=0,J=0,me=0,X=0,be=0,Q=0,ae=0,M=0,x=null,H=0,K=new n.Buf16(16),q=new n.Buf16(16),fe=null,ye=0;for(F=0;F<=15;F++)K[F]=0;for(Z=0;Z<c;Z++)K[g[d+Z]]++;for(me=te,J=15;1<=J&&K[J]===0;J--);if(J<me&&(me=J),J===0)return T[p++]=20971520,T[p++]=20971520,b.bits=1,0;for(f=1;f<J&&K[f]===0;f++);for(me<f&&(me=f),F=Q=1;F<=15;F++)if(Q<<=1,(Q-=K[F])<0)return-1;if(0<Q&&(y===0||J!==1))return-1;for(q[1]=0,F=1;F<15;F++)q[F+1]=q[F]+K[F];for(Z=0;Z<c;Z++)g[d+Z]!==0&&(h[q[g[d+Z]]++]=Z);if(R=y===0?(x=fe=h,19):y===1?(x=o,H-=257,fe=l,ye-=257,256):(x=r,fe=m,-1),F=f,W=p,be=Z=M=0,P=-1,_=(ae=1<<(X=me))-1,y===1&&852<ae||y===2&&592<ae)return 1;for(;;){for(G=F-be,Y=h[Z]<R?(O=0,h[Z]):h[Z]>R?(O=fe[ye+h[Z]],x[H+h[Z]]):(O=96,0),w=1<<F-be,f=k=1<<X;T[W+(M>>be)+(k-=w)]=G<<24|O<<16|Y|0,k!==0;);for(w=1<<F-1;M&w;)w>>=1;if(w!==0?(M&=w-1,M+=w):M=0,Z++,--K[F]==0){if(F===J)break;F=g[d+h[Z]]}if(me<F&&(M&_)!==P){for(be===0&&(be=me),W+=f,Q=1<<(X=F-be);X+be<J&&!((Q-=K[X+be])<=0);)X++,Q<<=1;if(ae+=1<<X,y===1&&852<ae||y===2&&592<ae)return 1;T[P=M&_]=me<<24|X<<16|W-p|0}}return M!==0&&(T[W+M]=F-be<<24|64<<16|0),b.bits=me,0}},{"../utils/common":41}],51:[function(t,a,i){a.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,a,i){var n=t("../utils/common"),o=0,l=1;function r(v){for(var S=v.length;0<=--S;)v[S]=0}var m=0,y=29,g=256,d=g+1+y,c=30,T=19,p=2*d+1,h=15,b=16,w=7,k=256,P=16,_=17,W=18,R=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],G=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Y=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],te=new Array(2*(d+2));r(te);var F=new Array(2*c);r(F);var Z=new Array(512);r(Z);var f=new Array(256);r(f);var J=new Array(y);r(J);var me,X,be,Q=new Array(c);function ae(v,S,N,V,E){this.static_tree=v,this.extra_bits=S,this.extra_base=N,this.elems=V,this.max_length=E,this.has_stree=v&&v.length}function M(v,S){this.dyn_tree=v,this.max_code=0,this.stat_desc=S}function x(v){return v<256?Z[v]:Z[256+(v>>>7)]}function H(v,S){v.pending_buf[v.pending++]=255&S,v.pending_buf[v.pending++]=S>>>8&255}function K(v,S,N){v.bi_valid>b-N?(v.bi_buf|=S<<v.bi_valid&65535,H(v,v.bi_buf),v.bi_buf=S>>b-v.bi_valid,v.bi_valid+=N-b):(v.bi_buf|=S<<v.bi_valid&65535,v.bi_valid+=N)}function q(v,S,N){K(v,N[2*S],N[2*S+1])}function fe(v,S){for(var N=0;N|=1&v,v>>>=1,N<<=1,0<--S;);return N>>>1}function ye(v,S,N){var V,E,B=new Array(h+1),z=0;for(V=1;V<=h;V++)B[V]=z=z+N[V-1]<<1;for(E=0;E<=S;E++){var U=v[2*E+1];U!==0&&(v[2*E]=fe(B[U]++,U))}}function re(v){var S;for(S=0;S<d;S++)v.dyn_ltree[2*S]=0;for(S=0;S<c;S++)v.dyn_dtree[2*S]=0;for(S=0;S<T;S++)v.bl_tree[2*S]=0;v.dyn_ltree[2*k]=1,v.opt_len=v.static_len=0,v.last_lit=v.matches=0}function se(v){8<v.bi_valid?H(v,v.bi_buf):0<v.bi_valid&&(v.pending_buf[v.pending++]=v.bi_buf),v.bi_buf=0,v.bi_valid=0}function ie(v,S,N,V){var E=2*S,B=2*N;return v[E]<v[B]||v[E]===v[B]&&V[S]<=V[N]}function ue(v,S,N){for(var V=v.heap[N],E=N<<1;E<=v.heap_len&&(E<v.heap_len&&ie(S,v.heap[E+1],v.heap[E],v.depth)&&E++,!ie(S,V,v.heap[E],v.depth));)v.heap[N]=v.heap[E],N=E,E<<=1;v.heap[N]=V}function ge(v,S,N){var V,E,B,z,U=0;if(v.last_lit!==0)for(;V=v.pending_buf[v.d_buf+2*U]<<8|v.pending_buf[v.d_buf+2*U+1],E=v.pending_buf[v.l_buf+U],U++,V===0?q(v,E,S):(q(v,(B=f[E])+g+1,S),(z=R[B])!==0&&K(v,E-=J[B],z),q(v,B=x(--V),N),(z=G[B])!==0&&K(v,V-=Q[B],z)),U<v.last_lit;);q(v,k,S)}function ve(v,S){var N,V,E,B=S.dyn_tree,z=S.stat_desc.static_tree,U=S.stat_desc.has_stree,$=S.stat_desc.elems,Te=-1;for(v.heap_len=0,v.heap_max=p,N=0;N<$;N++)B[2*N]!==0?(v.heap[++v.heap_len]=Te=N,v.depth[N]=0):B[2*N+1]=0;for(;v.heap_len<2;)B[2*(E=v.heap[++v.heap_len]=Te<2?++Te:0)]=1,v.depth[E]=0,v.opt_len--,U&&(v.static_len-=z[2*E+1]);for(S.max_code=Te,N=v.heap_len>>1;1<=N;N--)ue(v,B,N);for(E=$;N=v.heap[1],v.heap[1]=v.heap[v.heap_len--],ue(v,B,1),V=v.heap[1],v.heap[--v.heap_max]=N,v.heap[--v.heap_max]=V,B[2*E]=B[2*N]+B[2*V],v.depth[E]=(v.depth[N]>=v.depth[V]?v.depth[N]:v.depth[V])+1,B[2*N+1]=B[2*V+1]=E,v.heap[1]=E++,ue(v,B,1),2<=v.heap_len;);v.heap[--v.heap_max]=v.heap[1],(function(ce,he){var Ee,xe,Ke,_e,Xe,Ts,Be=he.dyn_tree,Cs=he.max_code,Me=he.stat_desc.static_tree,is=he.stat_desc.has_stree,In=he.stat_desc.extra_bits,ia=he.stat_desc.extra_base,$s=he.stat_desc.max_length,ht=0;for(_e=0;_e<=h;_e++)ce.bl_count[_e]=0;for(Be[2*ce.heap[ce.heap_max]+1]=0,Ee=ce.heap_max+1;Ee<p;Ee++)$s<(_e=Be[2*Be[2*(xe=ce.heap[Ee])+1]+1]+1)&&(_e=$s,ht++),Be[2*xe+1]=_e,Cs<xe||(ce.bl_count[_e]++,Xe=0,ia<=xe&&(Xe=In[xe-ia]),Ts=Be[2*xe],ce.opt_len+=Ts*(_e+Xe),is&&(ce.static_len+=Ts*(Me[2*xe+1]+Xe)));if(ht!==0){do{for(_e=$s-1;ce.bl_count[_e]===0;)_e--;ce.bl_count[_e]--,ce.bl_count[_e+1]+=2,ce.bl_count[$s]--,ht-=2}while(0<ht);for(_e=$s;_e!==0;_e--)for(xe=ce.bl_count[_e];xe!==0;)Cs<(Ke=ce.heap[--Ee])||(Be[2*Ke+1]!==_e&&(ce.opt_len+=(_e-Be[2*Ke+1])*Be[2*Ke],Be[2*Ke+1]=_e),xe--)}})(v,S),ye(B,Te,v.bl_count)}function u(v,S,N){var V,E,B=-1,z=S[1],U=0,$=7,Te=4;for(z===0&&($=138,Te=3),S[2*(N+1)+1]=65535,V=0;V<=N;V++)E=z,z=S[2*(V+1)+1],++U<$&&E===z||(U<Te?v.bl_tree[2*E]+=U:E!==0?(E!==B&&v.bl_tree[2*E]++,v.bl_tree[2*P]++):U<=10?v.bl_tree[2*_]++:v.bl_tree[2*W]++,B=E,Te=(U=0)===z?($=138,3):E===z?($=6,3):($=7,4))}function j(v,S,N){var V,E,B=-1,z=S[1],U=0,$=7,Te=4;for(z===0&&($=138,Te=3),V=0;V<=N;V++)if(E=z,z=S[2*(V+1)+1],!(++U<$&&E===z)){if(U<Te)for(;q(v,E,v.bl_tree),--U!=0;);else E!==0?(E!==B&&(q(v,E,v.bl_tree),U--),q(v,P,v.bl_tree),K(v,U-3,2)):U<=10?(q(v,_,v.bl_tree),K(v,U-3,3)):(q(v,W,v.bl_tree),K(v,U-11,7));B=E,Te=(U=0)===z?($=138,3):E===z?($=6,3):($=7,4)}}r(Q);var L=!1;function C(v,S,N,V){K(v,(m<<1)+(V?1:0),3),(function(E,B,z,U){se(E),H(E,z),H(E,~z),n.arraySet(E.pending_buf,E.window,B,z,E.pending),E.pending+=z})(v,S,N)}i._tr_init=function(v){L||((function(){var S,N,V,E,B,z=new Array(h+1);for(E=V=0;E<y-1;E++)for(J[E]=V,S=0;S<1<<R[E];S++)f[V++]=E;for(f[V-1]=E,E=B=0;E<16;E++)for(Q[E]=B,S=0;S<1<<G[E];S++)Z[B++]=E;for(B>>=7;E<c;E++)for(Q[E]=B<<7,S=0;S<1<<G[E]-7;S++)Z[256+B++]=E;for(N=0;N<=h;N++)z[N]=0;for(S=0;S<=143;)te[2*S+1]=8,S++,z[8]++;for(;S<=255;)te[2*S+1]=9,S++,z[9]++;for(;S<=279;)te[2*S+1]=7,S++,z[7]++;for(;S<=287;)te[2*S+1]=8,S++,z[8]++;for(ye(te,d+1,z),S=0;S<c;S++)F[2*S+1]=5,F[2*S]=fe(S,5);me=new ae(te,R,g+1,d,h),X=new ae(F,G,0,c,h),be=new ae(new Array(0),O,0,T,w)})(),L=!0),v.l_desc=new M(v.dyn_ltree,me),v.d_desc=new M(v.dyn_dtree,X),v.bl_desc=new M(v.bl_tree,be),v.bi_buf=0,v.bi_valid=0,re(v)},i._tr_stored_block=C,i._tr_flush_block=function(v,S,N,V){var E,B,z=0;0<v.level?(v.strm.data_type===2&&(v.strm.data_type=(function(U){var $,Te=4093624447;for($=0;$<=31;$++,Te>>>=1)if(1&Te&&U.dyn_ltree[2*$]!==0)return o;if(U.dyn_ltree[18]!==0||U.dyn_ltree[20]!==0||U.dyn_ltree[26]!==0)return l;for($=32;$<g;$++)if(U.dyn_ltree[2*$]!==0)return l;return o})(v)),ve(v,v.l_desc),ve(v,v.d_desc),z=(function(U){var $;for(u(U,U.dyn_ltree,U.l_desc.max_code),u(U,U.dyn_dtree,U.d_desc.max_code),ve(U,U.bl_desc),$=T-1;3<=$&&U.bl_tree[2*Y[$]+1]===0;$--);return U.opt_len+=3*($+1)+5+5+4,$})(v),E=v.opt_len+3+7>>>3,(B=v.static_len+3+7>>>3)<=E&&(E=B)):E=B=N+5,N+4<=E&&S!==-1?C(v,S,N,V):v.strategy===4||B===E?(K(v,2+(V?1:0),3),ge(v,te,F)):(K(v,4+(V?1:0),3),(function(U,$,Te,ce){var he;for(K(U,$-257,5),K(U,Te-1,5),K(U,ce-4,4),he=0;he<ce;he++)K(U,U.bl_tree[2*Y[he]+1],3);j(U,U.dyn_ltree,$-1),j(U,U.dyn_dtree,Te-1)})(v,v.l_desc.max_code+1,v.d_desc.max_code+1,z+1),ge(v,v.dyn_ltree,v.dyn_dtree)),re(v),V&&se(v)},i._tr_tally=function(v,S,N){return v.pending_buf[v.d_buf+2*v.last_lit]=S>>>8&255,v.pending_buf[v.d_buf+2*v.last_lit+1]=255&S,v.pending_buf[v.l_buf+v.last_lit]=255&N,v.last_lit++,S===0?v.dyn_ltree[2*N]++:(v.matches++,S--,v.dyn_ltree[2*(f[N]+g+1)]++,v.dyn_dtree[2*x(S)]++),v.last_lit===v.lit_bufsize-1},i._tr_align=function(v){K(v,2,3),q(v,k,te),(function(S){S.bi_valid===16?(H(S,S.bi_buf),S.bi_buf=0,S.bi_valid=0):8<=S.bi_valid&&(S.pending_buf[S.pending++]=255&S.bi_buf,S.bi_buf>>=8,S.bi_valid-=8)})(v)}},{"../utils/common":41}],53:[function(t,a,i){a.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,a,i){(function(n){(function(o,l){if(!o.setImmediate){var r,m,y,g,d=1,c={},T=!1,p=o.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(o);h=h&&h.setTimeout?h:o,r={}.toString.call(o.process)==="[object process]"?function(P){process.nextTick(function(){w(P)})}:(function(){if(o.postMessage&&!o.importScripts){var P=!0,_=o.onmessage;return o.onmessage=function(){P=!1},o.postMessage("","*"),o.onmessage=_,P}})()?(g="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",k,!1):o.attachEvent("onmessage",k),function(P){o.postMessage(g+P,"*")}):o.MessageChannel?((y=new MessageChannel).port1.onmessage=function(P){w(P.data)},function(P){y.port2.postMessage(P)}):p&&"onreadystatechange"in p.createElement("script")?(m=p.documentElement,function(P){var _=p.createElement("script");_.onreadystatechange=function(){w(P),_.onreadystatechange=null,m.removeChild(_),_=null},m.appendChild(_)}):function(P){setTimeout(w,0,P)},h.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var _=new Array(arguments.length-1),W=0;W<_.length;W++)_[W]=arguments[W+1];var R={callback:P,args:_};return c[d]=R,r(d),d++},h.clearImmediate=b}function b(P){delete c[P]}function w(P){if(T)setTimeout(w,0,P);else{var _=c[P];if(_){T=!0;try{(function(W){var R=W.callback,G=W.args;switch(G.length){case 0:R();break;case 1:R(G[0]);break;case 2:R(G[0],G[1]);break;case 3:R(G[0],G[1],G[2]);break;default:R.apply(l,G)}})(_)}finally{b(P),T=!1}}}}function k(P){P.source===o&&typeof P.data=="string"&&P.data.indexOf(g)===0&&w(+P.data.slice(g.length))}})(typeof self>"u"?n===void 0?this:n:self)}).call(this,typeof vt<"u"?vt:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(Mt)),Mt.exports}var Kl=Zl();const ql=Gl(Kl);function ot(e,s,t){const a=e instanceof Uint8Array?new Blob([new Uint8Array(e)],{type:t}):new Blob([e],{type:t}),i=URL.createObjectURL(a),n=document.createElement("a");n.href=i,n.download=s,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(i)}function Dt(e){return e.replace(/[<>:"/\\|?*]/g,"").replace(/\s+/g,"_").substring(0,100)}function Vl(e){const s=[];return Ys(e)&&s.push("zwo"),Xs(e)&&s.push("fit"),Qs(e)&&s.push("mrc"),s}async function Jl(e,s,t){const a=Dt(e.name);try{switch(s){case"zwo":{if(!Ys(e.sport))return{success:!1,filename:"",error:"Zwift export only supports bike and run workouts"};const i=hn(e,t),n=`${a}.zwo`;return ot(i,n,"application/xml"),{success:!0,filename:n}}case"fit":{if(!Xs(e.sport))return{success:!1,filename:"",error:`FIT export not supported for ${e.sport} workouts`};const i=await An(e,t),n=`${a}.fit`;return ot(i,n,"application/vnd.ant.fit"),{success:!0,filename:n}}case"mrc":{if(!Qs(e.sport))return{success:!1,filename:"",error:"MRC export only supports bike workouts"};const i=Fn(e,t),n=`${a}.mrc`;return ot(i,n,"text/plain"),{success:!0,filename:n}}default:return{success:!1,filename:"",error:`Unknown format: ${s}`}}}catch(i){return{success:!1,filename:"",error:i instanceof Error?i.message:"Unknown error"}}}function Yl(e){try{const s=jl(e),a=`${Dt(e.meta.event)}_training_plan.ics`;return ot(s,a,"text/calendar"),{success:!0,filename:a}}catch(s){return{success:!1,filename:"",error:s instanceof Error?s.message:"Unknown error"}}}async function Xl(e,s,t){const a=Dt(e.name);try{switch(s){case"zwo":return Ys(e.sport)?{content:hn(e,t),filename:`${a}.zwo`}:null;case"fit":return Xs(e.sport)?{content:await An(e,t),filename:`${a}.fit`}:null;case"mrc":return Qs(e.sport)?{content:Fn(e,t),filename:`${a}.mrc`}:null;default:return null}}catch{return null}}async function Ql(e,s,t){const a=[];let i=0,n=0;const o=new ql;for(const l of e.weeks??[])for(const r of l.days??[])for(const m of r.workouts??[]){if(m.sport==="rest"){n++;continue}if(s==="zwo"&&!Ys(m.sport)){n++;continue}if(s==="fit"&&!Xs(m.sport)){n++;continue}if(s==="mrc"&&!Qs(m.sport)){n++;continue}try{const y=await Xl(m,s,t);y?(o.file(y.filename,y.content),i++):n++}catch(y){a.push(`${m.name}: ${y instanceof Error?y.message:"Unknown error"}`)}}if(i>0){const l=await o.generateAsync({type:"uint8array"}),m=`${Dt(e.meta.event)}_workouts_${s}.zip`;ot(l,m,"application/zip")}return{exported:i,skipped:n,errors:a}}var $l=oe("<div> </div>"),eo=oe('<div class="export-menu svelte-dkgmtr"><button class="export-option svelte-dkgmtr"><span class="export-icon calendar svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg></span> <div><div class="export-name svelte-dkgmtr">Calendar (.ics)</div> <div class="export-desc svelte-dkgmtr">Apple, Google, Outlook</div></div></button> <div class="export-divider svelte-dkgmtr"></div> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">Z</span> <div><div class="export-name svelte-dkgmtr">Zwift (.zwo)</div> <div class="export-desc svelte-dkgmtr">Bike & run workouts</div></div></button> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">G</span> <div><div class="export-name svelte-dkgmtr">Garmin (.fit)</div> <div class="export-desc svelte-dkgmtr">All workout types</div></div></button> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">E</span> <div><div class="export-name svelte-dkgmtr">ERG/MRC (.mrc)</div> <div class="export-desc svelte-dkgmtr">Bike workouts only</div></div></button></div>'),so=oe('<button class="clear-filter svelte-dkgmtr">Clear</button>'),to=oe('<div class="check-icon svelte-dkgmtr">✓</div>'),ao=oe('<button><div> </div> <div class="sport-info svelte-dkgmtr"><div class="sport-name svelte-dkgmtr"> </div> <div class="sport-hours svelte-dkgmtr"> </div></div> <!></button>'),no=oe("<button> </button>"),io=oe('<aside><div class="event-header svelte-dkgmtr"><h1 class="event-name svelte-dkgmtr"> </h1> <div class="event-date svelte-dkgmtr"> </div> <div class="athlete-name svelte-dkgmtr"> </div></div> <div class="progress-section svelte-dkgmtr"><div class="progress-ring-container svelte-dkgmtr"><svg class="progress-ring svelte-dkgmtr" width="140" height="140"><defs><linearGradient id="progressGradient" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" style="stop-color: var(--accent)"></stop><stop offset="100%" style="stop-color: var(--run)"></stop></linearGradient></defs><circle class="progress-ring-bg svelte-dkgmtr" cx="70" cy="70" r="60"></circle><circle class="progress-ring-fill svelte-dkgmtr" cx="70" cy="70" r="60"></circle></svg> <div class="progress-text svelte-dkgmtr"><div class="progress-percent svelte-dkgmtr"> </div> <div class="progress-label svelte-dkgmtr">Complete</div></div></div></div> <div class="stats-grid svelte-dkgmtr"><div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Weeks</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Hours</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Workouts</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Days Left</div></div></div> <button class="settings-btn svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg> Settings</button> <div class="export-section svelte-dkgmtr"><!> <div class="export-main svelte-dkgmtr"><button class="export-main-btn svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> <div class="export-main-text svelte-dkgmtr"><span class="export-main-title svelte-dkgmtr">Export Plan</span> <span class="export-main-desc svelte-dkgmtr">Calendar, Zwift, Garmin, TrainerRoad</span></div> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></button> <!></div> <button class="import-help-link svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> How to import workouts in training apps</button></div> <div class="sport-stats svelte-dkgmtr"><div class="sport-stats-header svelte-dkgmtr"><h3 class="svelte-dkgmtr">Filter by Sport</h3> <!></div> <!></div> <div class="filters-section svelte-dkgmtr"><h3 class="svelte-dkgmtr">Filter by Status</h3> <div class="filter-group svelte-dkgmtr"></div></div></aside>');function lo(e,s){cs(s,!0);const t=Re(()=>()=>{let B=0,z=0,U=0;const $={swim:0,bike:0,run:0,strength:0,brick:0,race:0};return s.plan.weeks?.forEach(Te=>{Te.days?.forEach(ce=>{ce.workouts?.forEach(he=>{he.sport!=="rest"&&(B++,s.completed[he.id]&&z++,he.durationMinutes&&(U+=he.durationMinutes,$[he.sport]!==void 0&&($[he.sport]+=he.durationMinutes/60)))})})}),{totalWorkouts:B,completedCount:z,totalHours:Math.round(U/60),sportHours:$,progress:B>0?Math.round(z/B*100):0}}),a=Re(()=>377-A(t)().progress/100*377),i=Re(()=>ol(s.plan.meta?.eventDate??"")),n=Re(()=>Object.entries(A(t)().sportHours).filter(([B,z])=>z>0).map(([B])=>B));function o(B){s.filters.sport===B?s.onFilterChange({...s.filters,sport:"all"}):s.onFilterChange({...s.filters,sport:B})}function l(B){s.onFilterChange({...s.filters,status:B})}let r=we(!1),m=we(null);function y(){ee(r,!1),ee(m,{message:"Exporting calendar...",isError:!1},!0);const B=Yl(s.plan);B.success?ee(m,{message:`Downloaded ${B.filename}`,isError:!1},!0):ee(m,{message:B.error||"Export failed",isError:!0},!0),setTimeout(()=>{ee(m,null)},3e3)}async function g(B){ee(r,!1),ee(m,{message:`Exporting ${B.toUpperCase()} files...`,isError:!1},!0);const z=await Ql(s.plan,B,s.settings);z.errors.length===0?ee(m,{message:`Exported ${z.exported} workouts (${z.skipped} skipped)`,isError:!1},!0):ee(m,{message:`Exported ${z.exported}, ${z.errors.length} errors`,isError:!0},!0),setTimeout(()=>{ee(m,null)},4e3)}var d=io();let c;var T=D(d),p=D(T),h=D(p),b=I(p,2),w=D(b),k=I(b,2),P=D(k),_=I(T,2),W=D(_),R=D(W),G=I(D(R),2),O=I(R,2),Y=D(O),te=D(Y),F=I(_,2),Z=D(F),f=D(Z),J=D(f),me=I(Z,2),X=D(me),be=D(X),Q=I(me,2),ae=D(Q),M=D(ae),x=I(Q,2),H=D(x),K=D(H),q=I(F,2);q.__click=function(...B){s.onSettingsClick?.apply(this,B)};var fe=I(q,2),ye=D(fe);{var re=B=>{var z=$l();let U;var $=D(z);Ae(()=>{U=Pe(z,1,"export-status svelte-dkgmtr",null,U,{error:A(m).isError}),pe($,A(m).message)}),ne(B,z)};Ce(ye,B=>{A(m)&&B(re)})}var se=I(ye,2),ie=D(se);ie.__click=()=>ee(r,!A(r));var ue=I(D(ie),4);let ge;var ve=I(ie,2);{var u=B=>{var z=eo(),U=D(z);U.__click=y;var $=I(U,4);$.__click=()=>g("zwo");var Te=I($,2);Te.__click=()=>g("fit");var ce=I(Te,2);ce.__click=()=>g("mrc"),ne(B,z)};Ce(ve,B=>{A(r)&&B(u)})}var j=I(se,2);j.__click=function(...B){s.onImportHelpClick?.apply(this,B)};var L=I(fe,2),C=D(L),v=I(D(C),2);{var S=B=>{var z=so();z.__click=()=>s.onFilterChange({...s.filters,sport:"all"}),ne(B,z)};Ce(v,B=>{s.filters.sport!=="all"&&B(S)})}var N=I(C,2);He(N,17,()=>A(n),ss,(B,z)=>{var U=ao();let $;U.__click=()=>o(A(z));var Te=D(U),ce=D(Te),he=I(Te,2),Ee=D(he),xe=D(Ee),Ke=I(Ee,2),_e=D(Ke),Xe=I(he,2);{var Ts=Be=>{var Cs=to();ne(Be,Cs)};Ce(Xe,Be=>{s.filters.sport===A(z)&&Be(Ts)})}Ae((Be,Cs,Me)=>{$=Pe(U,1,`sport-stat ${A(z)??""}`,"svelte-dkgmtr",$,{active:s.filters.sport===A(z)}),Pe(Te,1,`sport-icon ${A(z)??""}`,"svelte-dkgmtr"),pe(ce,Be),pe(xe,Cs),pe(_e,`${Me??""} hours`)},[()=>dn(A(z)),()=>A(z).charAt(0).toUpperCase()+A(z).slice(1),()=>A(t)().sportHours[A(z)].toFixed(1)]),ne(B,U)});var V=I(L,2),E=I(D(V),2);He(E,20,()=>[["all","All"],["pending","Pending"],["completed","Completed"]],ss,(B,z)=>{var U=Re(()=>Pa(z,2));let $=()=>A(U)[0],Te=()=>A(U)[1];var ce=no();let he;ce.__click=()=>l($());var Ee=D(ce);Ae(()=>{he=Pe(ce,1,"filter-chip svelte-dkgmtr",null,he,{active:s.filters.status===$()}),pe(Ee,Te())}),ne(B,ce)}),Ae((B,z,U,$)=>{c=Pe(d,1,"sidebar svelte-dkgmtr",null,c,{open:s.open}),pe(h,s.plan.meta?.event??"Training Plan"),pe(w,B),pe(P,s.plan.meta?.athlete??"Athlete"),ta(G,`stroke-dashoffset: ${A(a)??""}`),pe(te,`${z??""}%`),pe(J,s.plan.meta?.totalWeeks??0),pe(be,U),pe(M,$),pe(K,A(i)),ge=Pe(ue,0,"dropdown-arrow svelte-dkgmtr",null,ge,{open:A(r)})},[()=>il(s.plan.meta?.eventDate??""),()=>A(t)().progress,()=>A(t)().totalHours,()=>A(t)().totalWorkouts]),ne(e,d),ms()}vs(["click"]);function oo(){const e=document.getElementById("plan-data");if(!e)throw new Error("Plan data not found");return JSON.parse(e.textContent||"{}")}const Le=oo(),_n=`plan-${Le.meta.id}-completed`;function ro(){const e={};Le.weeks?.forEach(a=>{a.days?.forEach(i=>{i.workouts?.forEach(n=>{n.completed&&(e[n.id]=!0)})})});const s=localStorage.getItem(_n),t=s?JSON.parse(s):{};return{...e,...t}}function uo(e){localStorage.setItem(_n,JSON.stringify(e))}const kn=`plan-${Le.meta.id}-changes`;function _a(){return{moved:{},edited:{},deleted:[],added:{}}}function co(){const e=localStorage.getItem(kn);if(!e)return _a();try{const s=JSON.parse(e);return{moved:s.moved||{},edited:s.edited||{},deleted:s.deleted||[],added:s.added||{}}}catch{return _a()}}function Ct(e){localStorage.setItem(kn,JSON.stringify(e))}function mo(){return`user-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function fo(e,s){const t=s.edited[e.id];return t?{...e,...t}:e}function ka(e,s){return s.deleted.includes(e)}var po=oe('<div class="workout-duration svelte-ynjai0"> </div>'),ho=oe('<button draggable="true"><div class="workout-sport svelte-ynjai0"> </div> <div class="workout-name svelte-ynjai0"> </div> <!></button>');function bo(e,s){cs(s,!0);let t=we(!1);function a(c){ee(t,!0),c.dataTransfer.setData("text/plain",s.workout.id),c.dataTransfer.effectAllowed="move"}function i(){ee(t,!1)}var n=ho();let o;n.__click=function(...c){s.onClick?.apply(this,c)};var l=D(n),r=D(l),m=I(l,2),y=D(m),g=I(m,2);{var d=c=>{var T=po(),p=D(T);Ae(h=>pe(p,h),[()=>aa(s.workout.durationMinutes)]),ne(c,T)};Ce(g,c=>{s.workout.durationMinutes&&c(d)})}Ae(()=>{o=Pe(n,1,`workout-card ${s.workout.sport??""}`,"svelte-ynjai0",o,{completed:s.isCompleted,dragging:A(t)}),pe(r,s.workout.sport),pe(y,s.workout.name)}),xs("dragstart",n,a),xs("dragend",n,i),ne(e,n),ms()}vs(["click"]);var yo=oe('<div class="empty-day svelte-ldqnzx">Rest</div>'),go=oe('<div role="listbox" tabindex="0"><div class="day-header svelte-ldqnzx"><span class="day-name svelte-ldqnzx"> </span> <span class="day-date svelte-ldqnzx"> </span></div> <!> <button class="add-workout-btn svelte-ldqnzx" title="Add workout"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-ldqnzx"><path d="M12 5v14M5 12h14"></path></svg></button></div>'),vo=oe('<div class="week-card svelte-ldqnzx"><div class="week-header svelte-ldqnzx"><div class="week-title svelte-ldqnzx"><span class="week-number svelte-ldqnzx"> </span> <span> </span> <span class="week-focus svelte-ldqnzx"> </span></div> <div class="week-hours svelte-ldqnzx"><span class="svelte-ldqnzx"> </span> hrs</div></div> <div class="days-grid svelte-ldqnzx"></div></div>');function To(e,s){cs(s,!0);let t=we(null);const a=Re(()=>(s.week.phase??"base").toLowerCase());function i(P,_){P.preventDefault(),ee(t,_,!0)}function n(){ee(t,null)}function o(P,_){P.preventDefault(),ee(t,null);const W=P.dataTransfer?.getData("text/plain");W&&s.onDrop(W,_)}var l=vo(),r=D(l),m=D(r),y=D(m),g=D(y),d=I(y,2),c=D(d),T=I(d,2),p=D(T),h=I(m,2),b=D(h),w=D(b),k=I(r,2);He(k,21,()=>s.fullWeek,P=>P.date,(P,_)=>{const W=Re(()=>A(_).date===s.today),R=Re(()=>(A(_).workouts??[]).filter(s.filterWorkout)),G=Re(()=>A(t)===A(_).date);var O=go();let Y;var te=D(O),F=D(te),Z=D(F),f=I(F,2),J=D(f),me=I(te,2);{var X=ae=>{var M=ha(),x=Je(M);He(x,17,()=>A(R),H=>H.id,(H,K)=>{{let q=Re(()=>!!s.completed[A(K).id]);bo(H,{get workout(){return A(K)},get day(){return A(_)},get settings(){return s.settings},get isCompleted(){return A(q)},onClick:()=>s.onWorkoutClick(A(K),A(_))})}}),ne(ae,M)},be=ae=>{var M=ha(),x=Je(M);{var H=K=>{var q=yo();ne(K,q)};Ce(x,K=>{A(_).workouts.length===0&&K(H)},!0)}ne(ae,M)};Ce(me,ae=>{A(R).length>0?ae(X):ae(be,!1)})}var Q=I(me,2);Q.__click=()=>s.onAddWorkout(A(_)),Ae((ae,M)=>{Y=Pe(O,1,"day-column svelte-ldqnzx",null,Y,{today:A(W),"drag-over":A(G)}),pe(Z,ae),pe(J,M)},[()=>A(_).dayOfWeek.slice(0,3),()=>It(A(_).date).getDate()]),xs("dragover",O,ae=>i(ae,A(_).date)),xs("dragleave",O,n),xs("drop",O,ae=>o(ae,A(_).date)),ne(P,O)}),Ae(()=>{ta(l,`animation-delay: ${s.animationDelay??""}s`),pe(g,`W${s.week.weekNumber??""}`),Pe(d,1,`week-phase ${A(a)??""}`,"svelte-ldqnzx"),pe(c,s.week.phase??"Base"),pe(p,s.week.focus??""),pe(w,s.week.targetHours??0)}),ne(e,l),ms()}vs(["click"]);var Co=oe('<button><span class="phase-label svelte-aq400f"> </span></button>'),wo=oe("<div><!></div>"),Ao=oe('<div class="phase-timeline svelte-aq400f"></div> <div class="weeks-container svelte-aq400f"></div>',1);function Fo(e,s){cs(s,!0);const t=ul();function a(g,d){return s.changes.moved[g]||d}function i(g){const d=rl(s.settings.firstDayOfWeek),c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],T={};g.days?.forEach(_=>{T[_.dayOfWeek]=_});const p=g.days?.[0];if(!p)return d.map(_=>({date:"",dayOfWeek:_,workouts:[]}));const h=It(p.date),b=c.indexOf(p.dayOfWeek);function w(_){let R=c.indexOf(_)-b;R<-3&&(R+=7),R>3&&(R-=7);const G=new Date(h);return G.setDate(G.getDate()+R),pn(G)}const k=d.map(_=>{const W=T[_];return W?W.date:w(_)}),P={};return k.forEach(_=>P[_]=[]),s.plan.weeks?.forEach(_=>{_.days?.forEach(W=>{W.workouts?.forEach(R=>{if(ka(R.id,s.changes))return;const G=a(R.id,W.date);if(k.includes(G)){const O=fo(R,s.changes);P[G].push(O)}})})}),Object.entries(s.changes.added??{}).forEach(([_,{date:W,workout:R}])=>{k.includes(W)&&!ka(_,s.changes)&&P[W].push(R)}),d.map((_,W)=>{const R=k[W];return{date:R,dayOfWeek:_,workouts:P[R]||[]}})}function n(g){return!(s.filters.sport!=="all"&&g.sport!==s.filters.sport||s.filters.status==="completed"&&!s.completed[g.id]||s.filters.status==="pending"&&s.completed[g.id])}function o(g){if(s.changes.added?.[g])return s.changes.added[g].date;for(const d of s.plan.weeks??[])for(const c of d.days??[])for(const T of c.workouts??[])if(T.id===g)return c.date;return""}function l(g,d){const c=o(g);s.onWorkoutMove(g,c,d)}var r=Ao(),m=Je(r);He(m,21,()=>s.plan.phases??[],ss,(g,d)=>{const c=Re(()=>A(d).endWeek-A(d).startWeek+1),T=Re(()=>A(d).name.toLowerCase());var p=Co();p.__click=()=>{document.querySelector(`[data-week="${A(d).startWeek}"]`)?.scrollIntoView({behavior:"smooth",block:"start"})};var h=D(p),b=D(h);Ae(()=>{Pe(p,1,`phase-segment ${A(T)??""}`,"svelte-aq400f"),ta(p,`flex: ${A(c)??""}`),pe(b,A(d).name)}),ne(g,p)});var y=I(m,2);He(y,23,()=>s.plan.weeks??[],g=>g.weekNumber,(g,d,c)=>{var T=wo(),p=D(T);{let h=Re(()=>i(A(d))),b=Re(()=>A(c)*.05);To(p,{get week(){return A(d)},get fullWeek(){return A(h)},get settings(){return s.settings},get today(){return t},get completed(){return s.completed},filterWorkout:n,get onWorkoutClick(){return s.onWorkoutClick},onDrop:l,get onAddWorkout(){return s.onAddWorkout},get animationDelay(){return A(b)}})}Ae(()=>Qi(T,"data-week",A(d).weekNumber)),ne(g,T)}),ne(e,r),ms()}vs(["click"]);var _o=oe('<div><div> </div> <h2 class="modal-title svelte-12rtkin"> </h2> <div class="modal-date svelte-12rtkin"> </div></div>'),ko=oe('<div><h2 class="modal-title svelte-12rtkin"> </h2> <div class="modal-date svelte-12rtkin"> </div></div>'),So=oe('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Duration</div></div>'),xo=oe('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Distance</div></div>'),Eo=oe('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Target Zone</div></div>'),Po=oe('<div class="modal-section svelte-12rtkin"><h4 class="modal-section-title svelte-12rtkin">Description</h4> <p class="modal-description svelte-12rtkin"> </p></div>'),Ro=oe('<div class="modal-section svelte-12rtkin"><h4 class="modal-section-title svelte-12rtkin">Workout Structure</h4> <pre class="workout-structure svelte-12rtkin"> </pre></div>'),Io=oe('<div class="modal-stats svelte-12rtkin"><!> <!> <!></div> <!> <!>',1),Do=oe("<option> </option>"),Lo=oe("<option> </option>"),Bo=oe('<div class="form-grid svelte-12rtkin"><div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-sport">Sport</label> <select id="edit-sport" class="form-select svelte-12rtkin"></select></div> <div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-type">Type</label> <select id="edit-type" class="form-select svelte-12rtkin"></select></div></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-name">Name</label> <input id="edit-name" type="text" class="form-input svelte-12rtkin" placeholder="Easy Run"/></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-description">Description</label> <textarea id="edit-description" class="form-textarea svelte-12rtkin" placeholder="Conversational pace, focus on form" rows="2"></textarea></div> <div class="form-grid svelte-12rtkin"><div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-duration">Duration (minutes)</label> <input id="edit-duration" type="number" class="form-input svelte-12rtkin" placeholder="60"/></div> <div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-distance">Distance (meters)</label> <input id="edit-distance" type="number" class="form-input svelte-12rtkin" placeholder="10000"/></div></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-zone">Target Zone</label> <input id="edit-zone" type="text" class="form-input svelte-12rtkin" placeholder="Zone 2"/></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-structure">Workout Structure</label> <textarea id="edit-structure" class="form-textarea mono svelte-12rtkin" placeholder="Warm-up: 10min easy Main: 4x1km @ threshold Cool-down: 10min easy" rows="5"></textarea></div>',1),Mo=oe('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">Z</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">Zwift (.zwo)</div> <div class="export-desc svelte-12rtkin">For Zwift indoor training</div></div></button>'),Oo=oe('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">G</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">Garmin (.fit)</div> <div class="export-desc svelte-12rtkin">For Garmin Connect</div></div></button>'),zo=oe('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">E</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">ERG/MRC (.mrc)</div> <div class="export-desc svelte-12rtkin">For TrainerRoad, etc.</div></div></button>'),No=oe('<div class="export-menu svelte-12rtkin"><!> <!> <!> <div class="export-divider svelte-12rtkin"></div> <button class="export-help-link svelte-12rtkin"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> How to import files</button></div>'),Wo=oe('<div class="export-dropdown svelte-12rtkin"><button class="icon-btn export svelte-12rtkin" title="Export"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></button> <!></div>'),Uo=oe("<div> </div>"),Ho=oe("<span>↩</span> Mark Incomplete",1),jo=oe("<span>✓</span> Mark Complete",1),Go=oe('<div class="footer-left svelte-12rtkin"><button class="icon-btn edit svelte-12rtkin" title="Edit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg></button> <button class="icon-btn delete svelte-12rtkin" title="Delete"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg></button> <!></div> <div class="footer-right svelte-12rtkin"><!> <button><!></button></div>',1),Zo=oe('<button class="cancel-btn svelte-12rtkin">Cancel</button> <button class="save-btn svelte-12rtkin"> </button>',1),Ko=oe('<div class="confirm-overlay svelte-12rtkin"><div class="confirm-dialog svelte-12rtkin"><p class="svelte-12rtkin">Delete this workout?</p> <div class="confirm-actions svelte-12rtkin"><button class="cancel-btn svelte-12rtkin">Cancel</button> <button class="delete-btn svelte-12rtkin">Delete</button></div></div></div>'),qo=oe('<div class="modal-overlay active svelte-12rtkin" role="dialog" aria-modal="true" tabindex="-1"><div class="modal svelte-12rtkin"><div class="modal-header svelte-12rtkin"><!> <button class="modal-close svelte-12rtkin">×</button></div> <div class="modal-body svelte-12rtkin"><!></div> <div class="modal-footer svelte-12rtkin"><!></div> <!></div></div>');function Vo(e,s){cs(s,!0);let t=Ta(s,"mode",3,"view"),a=Ta(s,"isCompleted",3,!1),i=we(De(Ve(()=>t()))),n=we(!1),o=we(!1),l=we(null),r=we(De(Ve(()=>s.workout?.sport||"run"))),m=we(De(Ve(()=>s.workout?.type||"endurance"))),y=we(De(Ve(()=>s.workout?.name||""))),g=we(De(Ve(()=>s.workout?.description||""))),d=we(De(Ve(()=>s.workout?.durationMinutes?.toString()||""))),c=we(De(Ve(()=>s.workout?.distanceMeters?.toString()||""))),T=we(De(Ve(()=>s.workout?.primaryZone||""))),p=we(De(Ve(()=>s.workout?.humanReadable||"")));const h=["swim","bike","run","strength","brick","race","rest"],b=["rest","recovery","endurance","tempo","threshold","intervals","vo2max","sprint","race","brick","technique","openwater","hills","long"];function w(se){se.key==="Escape"&&(A(n)?ee(n,!1):A(i)!=="view"?(ee(i,(s.workout,"view"),!0),s.workout||s.onClose()):s.onClose())}function k(se){se.target.classList.contains("modal-overlay")&&s.onClose()}function P(){ee(r,s.workout?.sport||"run",!0),ee(m,s.workout?.type||"endurance",!0),ee(y,s.workout?.name||"",!0),ee(g,s.workout?.description||"",!0),ee(d,s.workout?.durationMinutes?.toString()||"",!0),ee(c,s.workout?.distanceMeters?.toString()||"",!0),ee(T,s.workout?.primaryZone||"",!0),ee(p,s.workout?.humanReadable||"",!0),ee(i,"edit")}function _(){t()==="create"?s.onClose():ee(i,"view")}function W(){const se={sport:A(r),type:A(m),name:A(y),description:A(g),durationMinutes:A(d)?parseInt(A(d)):void 0,distanceMeters:A(c)?parseInt(A(c)):void 0,primaryZone:A(T)||void 0,humanReadable:A(p)||void 0};s.onSave(se),t()!=="create"&&ee(i,"view")}function R(){s.workout&&s.onDelete(s.workout.id)}async function G(se){if(!s.workout)return;ee(o,!1),ee(l,{message:"Exporting...",isError:!1},!0);const ie=await Jl(s.workout,se,s.settings);ie.success?ee(l,{message:`Downloaded ${ie.filename}`,isError:!1},!0):ee(l,{message:ie.error||"Export failed",isError:!0},!0),setTimeout(()=>{ee(l,null)},3e3)}const O=Re(()=>s.workout?Vl(s.workout.sport):[]),Y=Re(()=>A(O).length>0),te=Re(()=>s.workout||{id:"",sport:A(r),type:A(m),name:A(y),description:A(g),durationMinutes:A(d)?parseInt(A(d)):void 0,distanceMeters:A(c)?parseInt(A(c)):void 0,primaryZone:A(T),humanReadable:A(p),completed:!1});var F=qo();xs("keydown",rt,w),F.__click=k,F.__keydown=w;var Z=D(F),f=D(Z),J=D(f);{var me=se=>{var ie=_o(),ue=D(ie),ge=D(ue),ve=I(ue,2),u=D(ve),j=I(ve,2),L=D(j);Ae((C,v)=>{Pe(ue,1,`modal-sport-badge ${A(te).sport??""}`,"svelte-12rtkin"),pe(ge,C),pe(u,A(te).name),pe(L,v)},[()=>A(te).sport.toUpperCase(),()=>Ca(s.day.date)]),ne(se,ie)},X=se=>{var ie=ko(),ue=D(ie),ge=D(ue),ve=I(ue,2),u=D(ve);Ae(j=>{pe(ge,A(i)==="create"?"New Workout":"Edit Workout"),pe(u,j)},[()=>Ca(s.day.date)]),ne(se,ie)};Ce(J,se=>{A(i)==="view"?se(me):se(X,!1)})}var be=I(J,2);be.__click=function(...se){s.onClose?.apply(this,se)};var Q=I(f,2),ae=D(Q);{var M=se=>{var ie=Io(),ue=Je(ie),ge=D(ue);{var ve=E=>{var B=So(),z=D(B),U=D(z);Ae($=>pe(U,$),[()=>aa(A(te).durationMinutes)]),ne(E,B)};Ce(ge,E=>{A(te).durationMinutes&&E(ve)})}var u=I(ge,2);{var j=E=>{var B=xo(),z=D(B),U=D(z);Ae($=>pe(U,$),[()=>nl(A(te).distanceMeters,A(te).sport,s.settings)]),ne(E,B)};Ce(u,E=>{A(te).distanceMeters&&E(j)})}var L=I(u,2);{var C=E=>{var B=Eo(),z=D(B),U=D(z);Ae($=>pe(U,$),[()=>ll(A(te).sport,A(te).primaryZone,s.settings)]),ne(E,B)};Ce(L,E=>{A(te).primaryZone&&E(C)})}var v=I(ue,2);{var S=E=>{var B=Po(),z=I(D(B),2),U=D(z);Ae(()=>pe(U,A(te).description)),ne(E,B)};Ce(v,E=>{A(te).description&&E(S)})}var N=I(v,2);{var V=E=>{var B=Ro(),z=I(D(B),2),U=D(z);Ae($=>pe(U,$),[()=>A(te).humanReadable.replace(/\\n/g,`
|
|
38
|
+
`)]),ne(E,B)};Ce(N,E=>{A(te).humanReadable&&E(V)})}ne(se,ie)},x=se=>{var ie=Bo(),ue=Je(ie),ge=D(ue),ve=I(D(ge),2);He(ve,21,()=>h,ss,(he,Ee)=>{var xe=Do(),Ke=D(xe),_e={};Ae(Xe=>{pe(Ke,Xe),_e!==(_e=A(Ee))&&(xe.value=(xe.__value=A(Ee))??"")},[()=>A(Ee).charAt(0).toUpperCase()+A(Ee).slice(1)]),ne(he,xe)});var u=I(ge,2),j=I(D(u),2);He(j,21,()=>b,ss,(he,Ee)=>{var xe=Lo(),Ke=D(xe),_e={};Ae(Xe=>{pe(Ke,Xe),_e!==(_e=A(Ee))&&(xe.value=(xe.__value=A(Ee))??"")},[()=>A(Ee).charAt(0).toUpperCase()+A(Ee).slice(1)]),ne(he,xe)});var L=I(ue,2),C=I(D(L),2),v=I(L,2),S=I(D(v),2),N=I(v,2),V=D(N),E=I(D(V),2),B=I(V,2),z=I(D(B),2),U=I(N,2),$=I(D(U),2),Te=I(U,2),ce=I(D(Te),2);Ws(ve,()=>A(r),he=>ee(r,he)),Ws(j,()=>A(m),he=>ee(m,he)),Ie(C,()=>A(y),he=>ee(y,he)),Ie(S,()=>A(g),he=>ee(g,he)),Ie(E,()=>A(d),he=>ee(d,he)),Ie(z,()=>A(c),he=>ee(c,he)),Ie($,()=>A(T),he=>ee(T,he)),Ie(ce,()=>A(p),he=>ee(p,he)),ne(se,ie)};Ce(ae,se=>{A(i)==="view"?se(M):se(x,!1)})}var H=I(Q,2),K=D(H);{var q=se=>{var ie=Go(),ue=Je(ie),ge=D(ue);ge.__click=P;var ve=I(ge,2);ve.__click=()=>ee(n,!0);var u=I(ve,2);{var j=z=>{var U=Wo(),$=D(U);$.__click=()=>ee(o,!A(o));var Te=I($,2);{var ce=he=>{var Ee=No(),xe=D(Ee);{var Ke=Me=>{var is=Mo();is.__click=()=>G("zwo"),ne(Me,is)};Ce(xe,Me=>{Ys(A(te).sport)&&Me(Ke)})}var _e=I(xe,2);{var Xe=Me=>{var is=Oo();is.__click=()=>G("fit"),ne(Me,is)};Ce(_e,Me=>{Xs(A(te).sport)&&Me(Xe)})}var Ts=I(_e,2);{var Be=Me=>{var is=zo();is.__click=()=>G("mrc"),ne(Me,is)};Ce(Ts,Me=>{Qs(A(te).sport)&&Me(Be)})}var Cs=I(Ts,4);Cs.__click=function(...Me){s.onImportHelpClick?.apply(this,Me)},ne(he,Ee)};Ce(Te,he=>{A(o)&&he(ce)})}ne(z,U)};Ce(u,z=>{A(Y)&&z(j)})}var L=I(ue,2),C=D(L);{var v=z=>{var U=Uo();let $;var Te=D(U);Ae(()=>{$=Pe(U,1,"export-status svelte-12rtkin",null,$,{error:A(l).isError}),pe(Te,A(l).message)}),ne(z,U)};Ce(C,z=>{A(l)&&z(v)})}var S=I(C,2);let N;S.__click=()=>s.onToggleComplete(A(te).id);var V=D(S);{var E=z=>{var U=Ho();ne(z,U)},B=z=>{var U=jo();ne(z,U)};Ce(V,z=>{a()?z(E):z(B,!1)})}Ae(()=>N=Pe(S,1,"complete-btn svelte-12rtkin",null,N,{mark:!a(),unmark:a()})),ne(se,ie)},fe=se=>{var ie=Zo(),ue=Je(ie);ue.__click=_;var ge=I(ue,2);ge.__click=W;var ve=D(ge);Ae(()=>{ge.disabled=!A(y),pe(ve,A(i)==="create"?"Add Workout":"Save Changes")}),ne(se,ie)};Ce(K,se=>{A(i)==="view"?se(q):se(fe,!1)})}var ye=I(H,2);{var re=se=>{var ie=Ko(),ue=D(ie),ge=I(D(ue),2),ve=D(ge);ve.__click=()=>ee(n,!1);var u=I(ve,2);u.__click=R,ne(se,ie)};Ce(ye,se=>{A(n)&&se(re)})}ne(e,F),ms()}vs(["click","keydown"]);const Jo={theme:"dark",units:{swim:"meters",bike:"kilometers",run:"kilometers"},firstDayOfWeek:"monday",run:{lthr:165,hrZones:[{zone:1,name:"Recovery",low:0,high:134},{zone:2,name:"Aerobic",low:134,high:147},{zone:3,name:"Tempo",low:147,high:156},{zone:4,name:"Threshold",low:156,high:165},{zone:5,name:"VO2max",low:165,high:180}],thresholdPace:"4:30",paceZones:[{zone:"E",name:"Easy",pace:"5:20"},{zone:"M",name:"Marathon",pace:"4:50"},{zone:"T",name:"Threshold",pace:"4:30"},{zone:"I",name:"Interval",pace:"4:00"},{zone:"R",name:"Repetition",pace:"3:40"}]},bike:{lthr:160,hrZones:[{zone:1,name:"Recovery",low:0,high:130},{zone:2,name:"Aerobic",low:130,high:142},{zone:3,name:"Tempo",low:142,high:151},{zone:4,name:"Threshold",low:151,high:160},{zone:5,name:"VO2max",low:160,high:175}],ftp:200,powerZones:[{zone:1,name:"Active Recovery",low:0,high:110},{zone:2,name:"Endurance",low:110,high:150},{zone:3,name:"Tempo",low:150,high:180},{zone:4,name:"Threshold",low:180,high:210},{zone:5,name:"VO2max",low:210,high:240}]},swim:{css:"1:50",cssSeconds:110,paceZones:[{zone:1,name:"Recovery",offset:20,pace:"2:10"},{zone:2,name:"Aerobic",offset:10,pace:"2:00"},{zone:3,name:"Tempo",offset:5,pace:"1:55"},{zone:4,name:"Threshold",offset:0,pace:"1:50"},{zone:5,name:"VO2max",offset:-5,pace:"1:45"}]}},Sn=`plan-${Le.meta.id}-settings`;function Yo(){const e=JSON.parse(JSON.stringify(Jo));Le.preferences&&(e.units.swim=Le.preferences.swim||e.units.swim,e.units.bike=Le.preferences.bike||e.units.bike,e.units.run=Le.preferences.run||e.units.run,e.firstDayOfWeek=Le.preferences.firstDayOfWeek||e.firstDayOfWeek);const s=Le.zones;s?.run?.hr&&(e.run.lthr=s.run.hr.lthr,s.run.hr.zones&&(e.run.hrZones=s.run.hr.zones.map(a=>({zone:a.zone,name:a.name,low:a.hrLow,high:a.hrHigh})))),s?.run?.pace&&(e.run.thresholdPace=s.run.pace.thresholdPace||e.run.thresholdPace,s.run.pace.zones&&(e.run.paceZones=s.run.pace.zones.map(a=>({zone:a.zone,name:a.name,pace:a.pace})))),s?.bike?.hr&&(e.bike.lthr=s.bike.hr.lthr,s.bike.hr.zones&&(e.bike.hrZones=s.bike.hr.zones.map(a=>({zone:a.zone,name:a.name,low:a.hrLow,high:a.hrHigh})))),s?.bike?.power&&(e.bike.ftp=s.bike.power.ftp,s.bike.power.zones&&(e.bike.powerZones=s.bike.power.zones.map(a=>({zone:a.zone,name:a.name,low:a.wattsLow,high:a.wattsHigh})))),s?.swim&&(e.swim.css=s.swim.css||e.swim.css,e.swim.cssSeconds=s.swim.cssSeconds||e.swim.cssSeconds,s.swim.zones&&(e.swim.paceZones=s.swim.zones.map(a=>({zone:a.zone,name:a.name,offset:a.paceOffset,pace:a.pace}))));const t=localStorage.getItem(Sn);if(t){const a=JSON.parse(t);a.theme&&(e.theme=a.theme),a.units&&(e.units={...e.units,...a.units}),a.firstDayOfWeek&&(e.firstDayOfWeek=a.firstDayOfWeek),a.run&&(e.run={...e.run,...a.run}),a.bike&&(e.bike={...e.bike,...a.bike}),a.swim&&(e.swim={...e.swim,...a.swim})}return e}function Xo(e){localStorage.setItem(Sn,JSON.stringify(e))}function xn(e){if(!e)return 0;const s=e.split(":");return parseInt(s[0]??"0")*60+parseInt(s[1]??"0")}function En(e){const s=Math.floor(e/60),t=Math.round(e%60);return`${s}:${t.toString().padStart(2,"0")}`}function Qo(e){return[{zone:1,name:"Recovery",lowPct:0,highPct:81},{zone:2,name:"Aerobic",lowPct:81,highPct:89},{zone:3,name:"Tempo",lowPct:89,highPct:94},{zone:4,name:"Threshold",lowPct:94,highPct:100},{zone:5,name:"VO2max",lowPct:100,highPct:106}].map(t=>({zone:t.zone,name:t.name,low:Math.round(e*t.lowPct/100),high:Math.round(e*t.highPct/100)}))}function $o(e){return[{zone:1,name:"Active Recovery",lowPct:0,highPct:55},{zone:2,name:"Endurance",lowPct:55,highPct:75},{zone:3,name:"Tempo",lowPct:75,highPct:90},{zone:4,name:"Threshold",lowPct:90,highPct:105},{zone:5,name:"VO2max",lowPct:105,highPct:120}].map(t=>({zone:t.zone,name:t.name,low:Math.round(e*t.lowPct/100),high:Math.round(e*t.highPct/100)}))}function er(e){const s=xn(e);return[{zone:"E",name:"Easy",factor:1.18},{zone:"M",name:"Marathon",factor:1.07},{zone:"T",name:"Threshold",factor:1},{zone:"I",name:"Interval",factor:.89},{zone:"R",name:"Repetition",factor:.82}].map(a=>({zone:a.zone,name:a.name,pace:En(Math.round(s*a.factor))}))}function sr(e){const s=xn(e);return[{zone:1,name:"Recovery",offset:20},{zone:2,name:"Aerobic",offset:10},{zone:3,name:"Tempo",offset:5},{zone:4,name:"Threshold",offset:0},{zone:5,name:"VO2max",offset:-5}].map(a=>({zone:a.zone,name:a.name,offset:a.offset,pace:En(s+a.offset)}))}const tr="1.0.0";function ar(e,s,t){const a=JSON.parse(JSON.stringify(e)),i=new Map;return a.weeks?.forEach((n,o)=>{n.days?.forEach((l,r)=>{l.workouts?.forEach((m,y)=>{i.set(m.id,{weekIdx:o,dayIdx:r,workoutIdx:y})})})}),s.deleted.forEach(n=>{const o=i.get(n);if(o){const{weekIdx:l,dayIdx:r,workoutIdx:m}=o;a.weeks[l].days[r].workouts.splice(m,1)}}),i.clear(),a.weeks?.forEach((n,o)=>{n.days?.forEach((l,r)=>{l.workouts?.forEach((m,y)=>{i.set(m.id,{weekIdx:o,dayIdx:r,workoutIdx:y})})})}),Object.entries(s.edited).forEach(([n,o])=>{const l=i.get(n);if(l){const{weekIdx:r,dayIdx:m,workoutIdx:y}=l,g=a.weeks[r].days[m].workouts[y];Object.assign(g,o)}}),Object.entries(s.moved).forEach(([n,o])=>{const l=i.get(n);if(!l)return;const{weekIdx:r,dayIdx:m,workoutIdx:y}=l,[g]=a.weeks[r].days[m].workouts.splice(y,1);let d=null;for(const c of a.weeks||[]){for(const T of c.days||[])if(T.date===o){d=T;break}if(d)break}d&&(d.workouts||(d.workouts=[]),d.workouts.push(g))}),Object.entries(s.added).forEach(([n,{date:o,workout:l}])=>{let r=null;for(const m of a.weeks||[]){for(const y of m.days||[])if(y.date===o){r=y;break}if(r)break}r&&(r.workouts||(r.workouts=[]),r.workouts.push(l))}),a.weeks?.forEach(n=>{n.days?.forEach(o=>{o.workouts?.forEach(l=>{l.completed=t[l.id]||!1})})}),a.meta.updatedAt=new Date().toISOString(),a}function nr(e,s,t){const a=new Blob([e],{type:t}),i=URL.createObjectURL(a),n=document.createElement("a");n.href=i,n.download=s,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(i)}function ir(e,s){const t=e.meta.event.replace(/[<>:"/\\|?*]/g,"").replace(/\s+/g,"-").toLowerCase().substring(0,50),a=new Date().toISOString().split("T")[0];return`${t}-updated-${a}.${s}`}function Pn(e,s){return e.deleted.length+Object.keys(e.edited).length+Object.keys(e.moved).length+Object.keys(e.added).length+Object.keys(s).filter(t=>s[t]).length}function lr(e,s,t){try{if(Pn(s,t)===0)return{success:!1,error:"No changes to apply"};const i=ar(e,s,t),n=JSON.stringify(i,null,2),o=ir(i,"json");nr(n,o,"application/json");const l=Object.keys(t).filter(r=>t[r]).length;return{success:!0,planFilename:o,changesSummary:{deleted:s.deleted.length,edited:Object.keys(s.edited).length,moved:Object.keys(s.moved).length,added:Object.keys(s.added).length,completed:l}}}catch(a){return console.error("Error updating plan:",a),{success:!1,error:a instanceof Error?a.message:"Unknown error"}}}function Rn(e){const s=`plan-${e}-changes`,t=`plan-${e}-completed`,a=localStorage.getItem(s),i=localStorage.getItem(t),n=a?JSON.parse(a):{moved:{},edited:{},deleted:[],added:{}},o=i?JSON.parse(i):{};return{changes:n,completed:o}}function or(e){const{changes:s,completed:t}=Rn(e);return Pn(s,t)>0}var rr=oe('<button class="data-btn export svelte-1g25oqh"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1g25oqh"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> Export</button>');function ur(e,s){cs(s,!0);let t=Re(()=>or(Le.meta.id));function a(){try{const{changes:n,completed:o}=Rn(Le.meta.id),l=lr(Le,n,o);l.success?s.onStatus?.({message:`Downloaded ${l.planFilename}`,isError:!1}):s.onStatus?.({message:l.error||"Export failed",isError:!0})}catch(n){s.onStatus?.({message:n instanceof Error?n.message:"Unknown error",isError:!0})}}var i=rr();i.__click=a,Ae(()=>i.disabled=!A(t)),ne(e,i),ms()}vs(["click"]);var cr=oe("<button> </button>"),mr=oe('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Appearance</h4> <div class="theme-toggle svelte-1uhipit"><button><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><circle cx="12" cy="12" r="5"></circle><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"></path></svg> Light</button> <button><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg> Dark</button></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Distance Units</h4> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Swim</span> <select class="settings-select svelte-1uhipit"><option>Meters</option><option>Yards</option></select></div> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Bike</span> <select class="settings-select svelte-1uhipit"><option>Kilometers</option><option>Miles</option></select></div> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Run</span> <select class="settings-select svelte-1uhipit"><option>Kilometers</option><option>Miles</option></select></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Calendar</h4> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">First day of week</span> <select class="settings-select svelte-1uhipit"><option>Monday</option><option>Sunday</option></select></div></div>',1),fr=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="number" class="zone-input svelte-1uhipit"/> <input type="number" class="zone-input svelte-1uhipit"/></div>'),pr=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="text" class="pace-input svelte-1uhipit"/></div>'),dr=oe('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Heart Rate Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Run LTHR</span> <input type="number" class="threshold-input svelte-1uhipit" min="100" max="220"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low</span><span>High</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your LTHR</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>30-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 15 minutes</li> <li class="svelte-1uhipit">Run as hard as you can sustain for 30 minutes</li> <li class="svelte-1uhipit">Your average HR for the last 20 minutes is your LTHR</li></ol></div></details></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Pace Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Threshold Pace</span> <input type="text" class="threshold-input svelte-1uhipit" placeholder="4:30"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span colspan="2">Pace/km</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your Threshold Pace</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>Option 1: Race-Based</strong></p> <ul class="svelte-1uhipit"><li class="svelte-1uhipit">Recent 5K race pace + 15-20 sec/km</li> <li class="svelte-1uhipit">Recent 10K race pace + 5-10 sec/km</li></ul> <p class="svelte-1uhipit"><strong>Option 2: 30-Minute Test</strong></p> <p class="svelte-1uhipit">Run 30 minutes at max sustainable effort. Average pace = threshold.</p></div></details></div>',1),hr=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="number" class="zone-input svelte-1uhipit"/> <input type="number" class="zone-input svelte-1uhipit"/></div>'),br=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="number" class="zone-input svelte-1uhipit"/> <input type="number" class="zone-input svelte-1uhipit"/></div>'),yr=oe('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Heart Rate Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Bike LTHR</span> <input type="number" class="threshold-input svelte-1uhipit" min="100" max="220"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low</span><span>High</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your LTHR</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>30-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 15 minutes</li> <li class="svelte-1uhipit">Bike as hard as you can sustain for 30 minutes</li> <li class="svelte-1uhipit">Your average HR for the last 20 minutes is your LTHR</li></ol> <p class="help-note svelte-1uhipit">Bike LTHR is typically 5-10 bpm lower than run.</p></div></details></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Power Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">FTP (watts)</span> <input type="number" class="threshold-input svelte-1uhipit" min="50" max="500"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low W</span><span>High W</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your FTP</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>20-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 20 minutes including a few hard efforts</li> <li class="svelte-1uhipit">Ride as hard as you can sustain for 20 minutes</li> <li class="svelte-1uhipit">FTP = Average power × 0.95</li></ol> <p class="svelte-1uhipit"><strong>Ramp Test:</strong> Most trainer apps (Zwift, TrainerRoad) have built-in FTP tests.</p></div></details></div>',1),gr=oe('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="text" class="pace-input svelte-1uhipit"/></div>'),vr=oe('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Pace Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">CSS (per 100m)</span> <input type="text" class="threshold-input svelte-1uhipit" placeholder="1:45"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Offset</span><span>Pace/100</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your CSS</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>CSS Test (Critical Swim Speed):</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 10 minutes</li> <li class="svelte-1uhipit">Swim 400m all-out, record time (T400)</li> <li class="svelte-1uhipit">Rest 5-10 minutes</li> <li class="svelte-1uhipit">Swim 200m all-out, record time (T200)</li> <li class="svelte-1uhipit">CSS = (T400 - T200) ÷ 2 = pace per 100m</li></ol> <p class="svelte-1uhipit"><strong>Example:</strong> 400m in 6:40 (400s), 200m in 3:00 (180s)<br/> CSS = (400 - 180) ÷ 2 = 110 sec/100m = 1:50/100m</p></div></details></div>'),Tr=oe("<div> </div>"),Cr=oe(`<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Your Data</h4> <div class="data-explainer svelte-1uhipit"><p class="svelte-1uhipit">Your training data is stored <strong>only on this device</strong>, in your browser's
|
|
39
39
|
local storage. This includes your settings, completed workouts, and any changes you've
|
|
40
40
|
made to your plan.</p> <p class="svelte-1uhipit">If you clear your browser data, switch browsers, or use a different device, your
|
|
41
41
|
progress won't be there. Use the backup feature below to save your data and restore it
|
|
42
|
-
later.</p></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Import to Other Apps</h4> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Import Help</span> <span class="data-action-desc svelte-1uhipit">Learn how to import exported workouts into Zwift, Garmin, TrainerRoad, and more.</span></div> <button class="data-btn help svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> View Guide</button></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Backup & Restore</h4> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Export Backup</span> <span class="data-action-desc svelte-1uhipit">Download a file containing all your data. Keep it somewhere safe.</span></div> <button class="data-btn export svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> Export</button></div> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Export Updated Plan</span> <span class="data-action-desc svelte-1uhipit">Apply your changes and download the updated plan JSON file.</span></div> <!></div> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Import Backup</span> <span class="data-action-desc svelte-1uhipit">Restore from a backup file. This will replace your current data.</span></div> <button class="data-btn import svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg> Import</button> <input type="file" accept=".json" style="display: none"/></div> <!></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Danger Zone</h4> <div class="data-action danger svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Clear All Data</span> <span class="data-action-desc svelte-1uhipit">Delete everything and start fresh. This cannot be undone.</span></div> <button class="data-btn danger svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg> Clear</button></div></div>`,1),
|
|
43
|
-
Claude.</p></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Created By</h4> <div class="about-author svelte-1uhipit"><span class="author-name svelte-1uhipit">Felix Rieseberg</span> <div class="author-links svelte-1uhipit"><a href="https://felixrieseberg.com" target="_blank" rel="noopener" class="author-link svelte-1uhipit">felixrieseberg.com</a> <span class="author-separator svelte-1uhipit">·</span> <a href="https://twitter.com/felixrieseberg" target="_blank" rel="noopener" class="author-link svelte-1uhipit">@felixrieseberg</a></div></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Links</h4> <div class="about-links svelte-1uhipit"><a href="https://github.com/shiv19/endurance-coach-skill" target="_blank" rel="noopener" class="about-link svelte-1uhipit"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1uhipit"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg> GitHub Repository</a></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">License</h4> <p class="about-license svelte-1uhipit">MIT License. Free to use, modify, and distribute.</p></div>`,1),
|
|
42
|
+
later.</p></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Import to Other Apps</h4> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Import Help</span> <span class="data-action-desc svelte-1uhipit">Learn how to import exported workouts into Zwift, Garmin, TrainerRoad, and more.</span></div> <button class="data-btn help svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> View Guide</button></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Backup & Restore</h4> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Export Backup</span> <span class="data-action-desc svelte-1uhipit">Download a file containing all your data. Keep it somewhere safe.</span></div> <button class="data-btn export svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> Export</button></div> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Export Updated Plan</span> <span class="data-action-desc svelte-1uhipit">Apply your changes and download the updated plan JSON file.</span></div> <!></div> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Import Backup</span> <span class="data-action-desc svelte-1uhipit">Restore from a backup file. This will replace your current data.</span></div> <button class="data-btn import svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg> Import</button> <input type="file" accept=".json" style="display: none"/></div> <!></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Danger Zone</h4> <div class="data-action danger svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Clear All Data</span> <span class="data-action-desc svelte-1uhipit">Delete everything and start fresh. This cannot be undone.</span></div> <button class="data-btn danger svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg> Clear</button></div></div>`,1),wr=oe(`<div class="settings-section svelte-1uhipit"><div class="about-header svelte-1uhipit"><h3 class="about-title svelte-1uhipit">Endurance Coach</h3> <span class="about-version svelte-1uhipit"> </span></div> <p class="about-description svelte-1uhipit">Personalized training plans for triathlons, marathons, and endurance events. Built with
|
|
43
|
+
Claude.</p></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Created By</h4> <div class="about-author svelte-1uhipit"><span class="author-name svelte-1uhipit">Felix Rieseberg</span> <div class="author-links svelte-1uhipit"><a href="https://felixrieseberg.com" target="_blank" rel="noopener" class="author-link svelte-1uhipit">felixrieseberg.com</a> <span class="author-separator svelte-1uhipit">·</span> <a href="https://twitter.com/felixrieseberg" target="_blank" rel="noopener" class="author-link svelte-1uhipit">@felixrieseberg</a></div></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Links</h4> <div class="about-links svelte-1uhipit"><a href="https://github.com/shiv19/endurance-coach-skill" target="_blank" rel="noopener" class="about-link svelte-1uhipit"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1uhipit"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg> GitHub Repository</a></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">License</h4> <p class="about-license svelte-1uhipit">MIT License. Free to use, modify, and distribute.</p></div>`,1),Ar=oe('<div class="modal-overlay active svelte-1uhipit" role="dialog" aria-modal="true" tabindex="-1"><div class="modal settings-modal svelte-1uhipit"><div class="modal-fixed-header svelte-1uhipit"><div class="modal-header svelte-1uhipit"><h2 class="modal-title svelte-1uhipit">Settings</h2> <button class="modal-close svelte-1uhipit">×</button></div> <div class="settings-tabs svelte-1uhipit"></div></div> <div class="modal-body svelte-1uhipit"><!> <!> <!> <!> <!> <!></div></div></div>');function Fr(e,s){cs(s,!0);let t=we("general"),a=De(Ve(()=>JSON.parse(JSON.stringify(s.settings))));function i(x){x.key==="Escape"&&s.onClose()}function n(x){x.target.classList.contains("modal-overlay")&&s.onClose()}function o(){s.onChange(a)}function l(x){a.theme=x,o()}function r(x){a[x].hrZones=Qo(a[x].lthr),o()}function m(){a.bike.powerZones=$o(a.bike.ftp),o()}function y(){a.run.paceZones=er(a.run.thresholdPace),o()}function g(){a.swim.paceZones=sr(a.swim.css),o()}let d=we(null),c=we(null);function T(){const x={};for(let fe=0;fe<localStorage.length;fe++){const ye=localStorage.key(fe);ye&&(x[ye]=localStorage.getItem(ye)||"")}const H=new Blob([JSON.stringify(x,null,2)],{type:"application/json"}),K=URL.createObjectURL(H),q=document.createElement("a");q.href=K,q.download=`training-plan-backup-${new Date().toISOString().split("T")[0]}.json`,document.body.appendChild(q),q.click(),document.body.removeChild(q),URL.revokeObjectURL(K),ee(d,{message:"Backup downloaded!",isError:!1},!0),setTimeout(()=>ee(d,null),3e3)}function p(x){ee(d,x,!0),x&&setTimeout(()=>ee(d,null),4e3)}function h(){A(c)?.click()}async function b(x){const H=x.target,K=H.files?.[0];if(K){try{const q=await K.text(),fe=JSON.parse(q);if(typeof fe!="object"||fe===null)throw new Error("Invalid file format");localStorage.clear();for(const[ye,re]of Object.entries(fe))typeof re=="string"&&localStorage.setItem(ye,re);ee(d,{message:"Data restored! Reloading...",isError:!1},!0),setTimeout(()=>window.location.reload(),1500)}catch{ee(d,{message:"Could not read file. Make sure it's a valid backup.",isError:!0},!0),setTimeout(()=>ee(d,null),4e3)}H.value=""}}function w(){confirm("This will delete all your settings, completed workouts, and changes. Are you sure?")&&(localStorage.clear(),window.location.reload())}var k=Ar();xs("keydown",rt,i),k.__click=n,k.__keydown=i;var P=D(k),_=D(P),W=D(_),R=I(D(W),2);R.__click=function(...x){s.onClose?.apply(this,x)};var G=I(W,2);He(G,20,()=>[["general","General"],["run","Run"],["bike","Bike"],["swim","Swim"],["data","Data"],["about","About"]],ss,(x,H)=>{var K=Re(()=>Pa(H,2));let q=()=>A(K)[0],fe=()=>A(K)[1];var ye=cr();let re;ye.__click=()=>ee(t,q(),!0);var se=D(ye);Ae(()=>{re=Pe(ye,1,"settings-tab svelte-1uhipit",null,re,{active:A(t)===q()}),pe(se,fe())}),ne(x,ye)});var O=I(_,2),Y=D(O);{var te=x=>{var H=mr(),K=Je(H),q=I(D(K),2),fe=D(q);let ye;fe.__click=()=>l("light");var re=I(fe,2);let se;re.__click=()=>l("dark");var ie=I(K,2),ue=I(D(ie),2),ge=I(D(ue),2);ge.__change=o;var ve=D(ge);ve.value=ve.__value="meters";var u=I(ve);u.value=u.__value="yards";var j=I(ue,2),L=I(D(j),2);L.__change=o;var C=D(L);C.value=C.__value="kilometers";var v=I(C);v.value=v.__value="miles";var S=I(j,2),N=I(D(S),2);N.__change=o;var V=D(N);V.value=V.__value="kilometers";var E=I(V);E.value=E.__value="miles";var B=I(ie,2),z=I(D(B),2),U=I(D(z),2);U.__change=o;var $=D(U);$.value=$.__value="monday";var Te=I($);Te.value=Te.__value="sunday",Ae(()=>{ye=Pe(fe,1,"theme-btn svelte-1uhipit",null,ye,{active:a.theme==="light"}),se=Pe(re,1,"theme-btn svelte-1uhipit",null,se,{active:a.theme==="dark"})}),Ws(ge,()=>a.units.swim,ce=>a.units.swim=ce),Ws(L,()=>a.units.bike,ce=>a.units.bike=ce),Ws(N,()=>a.units.run,ce=>a.units.run=ce),Ws(U,()=>a.firstDayOfWeek,ce=>a.firstDayOfWeek=ce),ne(x,H)};Ce(Y,x=>{A(t)==="general"&&x(te)})}var F=I(Y,2);{var Z=x=>{var H=dr(),K=Je(H),q=I(D(K),2),fe=I(D(q),2),ye=I(fe,2);ye.__click=()=>r("run");var re=I(q,2),se=I(D(re),2);He(se,17,()=>a.run.hrZones,ss,(L,C,v)=>{var S=fr(),N=D(S),V=D(N),E=I(N,2),B=D(E),z=I(E,2);z.__change=o;var U=I(z,2);U.__change=o,Ae(()=>{Pe(N,1,`zone-badge z${A(C).zone??""}`,"svelte-1uhipit"),pe(V,`Z${A(C).zone??""}`),pe(B,A(C).name)}),Ie(z,()=>a.run.hrZones[v].low,$=>a.run.hrZones[v].low=$),Ie(U,()=>a.run.hrZones[v].high,$=>a.run.hrZones[v].high=$),ne(L,S)});var ie=I(K,2),ue=I(D(ie),2),ge=I(D(ue),2),ve=I(ge,2);ve.__click=y;var u=I(ue,2),j=I(D(u),2);He(j,17,()=>a.run.paceZones,ss,(L,C,v)=>{var S=pr(),N=D(S);Pe(N,1,`zone-badge z${v+1}`,"svelte-1uhipit");var V=D(N),E=I(N,2),B=D(E),z=I(E,2);z.__change=o,Ae(()=>{pe(V,A(C).zone),pe(B,A(C).name)}),Ie(z,()=>a.run.paceZones[v].pace,U=>a.run.paceZones[v].pace=U),ne(L,S)}),Ie(fe,()=>a.run.lthr,L=>a.run.lthr=L),Ie(ge,()=>a.run.thresholdPace,L=>a.run.thresholdPace=L),ne(x,H)};Ce(F,x=>{A(t)==="run"&&x(Z)})}var f=I(F,2);{var J=x=>{var H=yr(),K=Je(H),q=I(D(K),2),fe=I(D(q),2),ye=I(fe,2);ye.__click=()=>r("bike");var re=I(q,2),se=I(D(re),2);He(se,17,()=>a.bike.hrZones,ss,(L,C,v)=>{var S=hr(),N=D(S),V=D(N),E=I(N,2),B=D(E),z=I(E,2);z.__change=o;var U=I(z,2);U.__change=o,Ae(()=>{Pe(N,1,`zone-badge z${A(C).zone??""}`,"svelte-1uhipit"),pe(V,`Z${A(C).zone??""}`),pe(B,A(C).name)}),Ie(z,()=>a.bike.hrZones[v].low,$=>a.bike.hrZones[v].low=$),Ie(U,()=>a.bike.hrZones[v].high,$=>a.bike.hrZones[v].high=$),ne(L,S)});var ie=I(K,2),ue=I(D(ie),2),ge=I(D(ue),2),ve=I(ge,2);ve.__click=m;var u=I(ue,2),j=I(D(u),2);He(j,17,()=>a.bike.powerZones,ss,(L,C,v)=>{var S=br(),N=D(S),V=D(N),E=I(N,2),B=D(E),z=I(E,2);z.__change=o;var U=I(z,2);U.__change=o,Ae(()=>{Pe(N,1,`zone-badge z${A(C).zone??""}`,"svelte-1uhipit"),pe(V,`Z${A(C).zone??""}`),pe(B,A(C).name)}),Ie(z,()=>a.bike.powerZones[v].low,$=>a.bike.powerZones[v].low=$),Ie(U,()=>a.bike.powerZones[v].high,$=>a.bike.powerZones[v].high=$),ne(L,S)}),Ie(fe,()=>a.bike.lthr,L=>a.bike.lthr=L),Ie(ge,()=>a.bike.ftp,L=>a.bike.ftp=L),ne(x,H)};Ce(f,x=>{A(t)==="bike"&&x(J)})}var me=I(f,2);{var X=x=>{var H=vr(),K=I(D(H),2),q=I(D(K),2),fe=I(q,2);fe.__click=g;var ye=I(K,2),re=I(D(ye),2);He(re,17,()=>a.swim.paceZones,ss,(se,ie,ue)=>{var ge=gr(),ve=D(ge),u=D(ve),j=I(ve,2),L=D(j),C=I(j,2),v=D(C),S=I(C,2);S.__change=o,Ae(()=>{Pe(ve,1,`zone-badge z${A(ie).zone??""}`,"svelte-1uhipit"),pe(u,`Z${A(ie).zone??""}`),pe(L,A(ie).name),pe(v,`${(A(ie).offset??0)>=0?"+":""}${A(ie).offset??""}s`)}),Ie(S,()=>a.swim.paceZones[ue].pace,N=>a.swim.paceZones[ue].pace=N),ne(se,ge)}),Ie(q,()=>a.swim.css,se=>a.swim.css=se),ne(x,H)};Ce(me,x=>{A(t)==="swim"&&x(X)})}var be=I(me,2);{var Q=x=>{var H=Cr(),K=I(Je(H),2),q=I(D(K),2),fe=I(D(q),2);fe.__click=function(...N){s.onOpenImportHelp?.apply(this,N)};var ye=I(K,2),re=I(D(ye),2),se=I(D(re),2);se.__click=T;var ie=I(re,2),ue=I(D(ie),2);ur(ue,{onStatus:p});var ge=I(ie,2),ve=I(D(ge),2);ve.__click=h;var u=I(ve,2);u.__change=b,sl(u,N=>ee(c,N),()=>A(c));var j=I(ge,2);{var L=N=>{var V=Tr();let E;var B=D(V);Ae(()=>{E=Pe(V,1,"import-status svelte-1uhipit",null,E,{error:A(d).isError}),pe(B,A(d).message)}),ne(N,V)};Ce(j,N=>{A(d)&&N(L)})}var C=I(ye,2),v=I(D(C),2),S=I(D(v),2);S.__click=w,ne(x,H)};Ce(be,x=>{A(t)==="data"&&x(Q)})}var ae=I(be,2);{var M=x=>{var H=wr(),K=Je(H),q=D(K),fe=I(D(q),2),ye=D(fe);Ae(()=>pe(ye,`v${tr}`)),ne(x,H)};Ce(ae,x=>{A(t)==="about"&&x(M)})}ne(e,k),ms()}vs(["click","keydown","change"]);var _r=oe("<button> </button>"),kr=oe(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.ics files</div> <p class="help-intro svelte-1jd9mi2">Calendar files (.ics) work with most calendar applications. Your workouts will appear as
|
|
44
44
|
events on the scheduled dates.</p> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M18.316 5.684H24v12.632h-5.684V5.684zM5.684 24h12.632v-5.684H5.684V24zM18.316 5.684V0H1.895A1.894 1.894 0 0 0 0 1.895v16.421h5.684V5.684h12.632zm-7.207 6.25v-.065c.272-.144.5-.349.687-.617s.279-.595.279-.982c0-.379-.099-.72-.3-1.025a2.05 2.05 0 0 0-.832-.714 2.703 2.703 0 0 0-1.197-.257c-.6 0-1.094.156-1.481.467-.386.311-.65.671-.793 1.078l1.085.452c.086-.249.224-.461.413-.633.189-.172.445-.257.767-.257.33 0 .602.088.816.264a.86.86 0 0 1 .322.703c0 .33-.12.589-.36.778-.24.19-.535.284-.886.284h-.567v1.085h.633c.407 0 .748.109 1.02.327.272.218.407.499.407.843 0 .336-.129.614-.387.832s-.565.327-.924.327c-.351 0-.651-.103-.897-.311-.248-.208-.422-.502-.521-.881l-1.096.452c.178.616.505 1.082.977 1.401.472.319.984.478 1.538.477a2.84 2.84 0 0 0 1.293-.291c.382-.193.684-.458.902-.794.218-.336.327-.72.327-1.149 0-.429-.115-.797-.344-1.105a2.067 2.067 0 0 0-.881-.689zm2.093-1.931l.602.913L15 10.045v5.744h1.187V8.446h-.827l-2.158 1.557zM22.105 0h-3.289v5.184H24V1.895A1.894 1.894 0 0 0 22.105 0zm-3.289 23.5l4.684-4.684h-4.684V23.5zM0 22.105C0 23.152.848 24 1.895 24h3.289v-5.184H0v3.289z"></path></svg></span> Google Calendar</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open <strong class="svelte-1jd9mi2">Google Calendar</strong> in your web browser</li> <li class="svelte-1jd9mi2">Click the <strong class="svelte-1jd9mi2">+</strong> button next to "Other calendars" in the left sidebar</li> <li class="svelte-1jd9mi2">Select <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Select file from your computer"</strong> and choose the .ics file</li> <li class="svelte-1jd9mi2">Choose which calendar to add the events to, or create a new one called "Training
|
|
45
45
|
Plan"</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import"</strong></li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Tip:</strong> Create a separate calendar for your training plan so you can easily
|
|
46
46
|
show/hide workouts and use a distinct color.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"></path></svg></span> Apple Calendar (Mac)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open the <strong class="svelte-1jd9mi2">Calendar</strong> app on your Mac</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">File</strong> → <strong class="svelte-1jd9mi2">Import...</strong> in the menu bar</li> <li class="svelte-1jd9mi2">Select the .ics file and click <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Choose which calendar to add the events to</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"OK"</strong></li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Alternative:</strong> You can also double-click the .ics file to open it directly
|
|
47
|
-
in Calendar.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"></path></svg></span> Apple Calendar (iPhone/iPad)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Email the .ics file to yourself or save it to iCloud Drive</li> <li class="svelte-1jd9mi2">Open the file on your device</li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Add All"</strong> to add the events</li> <li class="svelte-1jd9mi2">Choose which calendar to save them to</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo outlook-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6zm2 0l8 5 8-5H4zm0 2v10h16V8l-8 5-8-5z"></path></svg></span> Outlook Calendar</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open <strong class="svelte-1jd9mi2">Outlook</strong> (desktop or web)</li> <li class="svelte-1jd9mi2">Go to the <strong class="svelte-1jd9mi2">Calendar</strong> view</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Add calendar"</strong> → <strong class="svelte-1jd9mi2">"Upload from file"</strong></li> <li class="svelte-1jd9mi2">Browse to select your .ics file</li> <li class="svelte-1jd9mi2">Choose a calendar and click <strong class="svelte-1jd9mi2">"Import"</strong></li></ol></div></div>`),
|
|
47
|
+
in Calendar.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"></path></svg></span> Apple Calendar (iPhone/iPad)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Email the .ics file to yourself or save it to iCloud Drive</li> <li class="svelte-1jd9mi2">Open the file on your device</li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Add All"</strong> to add the events</li> <li class="svelte-1jd9mi2">Choose which calendar to save them to</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo outlook-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6zm2 0l8 5 8-5H4zm0 2v10h16V8l-8 5-8-5z"></path></svg></span> Outlook Calendar</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open <strong class="svelte-1jd9mi2">Outlook</strong> (desktop or web)</li> <li class="svelte-1jd9mi2">Go to the <strong class="svelte-1jd9mi2">Calendar</strong> view</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Add calendar"</strong> → <strong class="svelte-1jd9mi2">"Upload from file"</strong></li> <li class="svelte-1jd9mi2">Browse to select your .ics file</li> <li class="svelte-1jd9mi2">Choose a calendar and click <strong class="svelte-1jd9mi2">"Import"</strong></li></ol></div></div>`),Sr=oe(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.zwo files</div> <p class="help-intro svelte-1jd9mi2">Zwift workout files (.zwo) contain structured workouts with power targets. These work
|
|
48
48
|
for bike and run workouts in Zwift.</p> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo zwift-color svelte-1jd9mi2"><svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1jd9mi2"><path d="M10.952 6.776a5.452 5.452 0 0 0 0 10.905h4.258L6.245 33.019a5.452 5.452 0 0 0 4.707 8.204h22.524a5.452 5.452 0 1 0 0-10.905H28.74L42.5 6.776Z"></path></svg></span> Zwift (Windows)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Close Zwift if it's currently running</li> <li class="svelte-1jd9mi2">Open File Explorer and navigate to:</li> <li class="svelte-1jd9mi2"><code class="path svelte-1jd9mi2">Documents\\Zwift\\Workouts\\[Your Zwift ID]</code></li> <li class="svelte-1jd9mi2">If you don't know your Zwift ID, look for a folder with numbers (like "123456")</li> <li class="svelte-1jd9mi2">Copy your .zwo files into this folder</li> <li class="svelte-1jd9mi2">Launch Zwift and go to <strong class="svelte-1jd9mi2">Workouts</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Custom Workouts"</strong> - your workouts should appear there</li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Can't find the folder?</strong> You can also open Zwift, go to Workouts, and look
|
|
49
49
|
for a "Custom Workouts" section. Zwift will create the folder when you first access workouts.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo zwift-color svelte-1jd9mi2"><svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1jd9mi2"><path d="M10.952 6.776a5.452 5.452 0 0 0 0 10.905h4.258L6.245 33.019a5.452 5.452 0 0 0 4.707 8.204h22.524a5.452 5.452 0 1 0 0-10.905H28.74L42.5 6.776Z"></path></svg></span> Zwift (Mac)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Close Zwift if it's currently running</li> <li class="svelte-1jd9mi2">Open Finder and press <strong class="svelte-1jd9mi2">Cmd + Shift + G</strong> to open "Go to Folder"</li> <li class="svelte-1jd9mi2">Type this path and press Enter:</li> <li class="svelte-1jd9mi2"><code class="path svelte-1jd9mi2">~/Documents/Zwift/Workouts/[Your Zwift ID]</code></li> <li class="svelte-1jd9mi2">Copy your .zwo files into this folder</li> <li class="svelte-1jd9mi2">Launch Zwift and go to <strong class="svelte-1jd9mi2">Workouts</strong></li> <li class="svelte-1jd9mi2">Your custom workouts will appear under <strong class="svelte-1jd9mi2">"Custom Workouts"</strong></li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo zwift-color svelte-1jd9mi2"><svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1jd9mi2"><path d="M10.952 6.776a5.452 5.452 0 0 0 0 10.905h4.258L6.245 33.019a5.452 5.452 0 0 0 4.707 8.204h22.524a5.452 5.452 0 1 0 0-10.905H28.74L42.5 6.776Z"></path></svg></span> Zwift (iOS/Android)</h4> <p class="note svelte-1jd9mi2">Unfortunately, Zwift mobile apps don't support importing custom .zwo files directly.
|
|
50
50
|
You'll need to:</p> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Import the workouts on a computer first (as described above)</li> <li class="svelte-1jd9mi2">Make sure you're signed into the same Zwift account on both devices</li> <li class="svelte-1jd9mi2">The workouts will sync and appear in your Custom Workouts on mobile</li></ol></div> <div class="warning-box svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Important:</strong> Make sure your FTP is set correctly in your Zwift settings. The
|
|
51
|
-
workout power targets are based on percentages of FTP.</div></div>`),
|
|
51
|
+
workout power targets are based on percentages of FTP.</div></div>`),xr=oe(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.fit files</div> <p class="help-intro svelte-1jd9mi2">Garmin FIT files work with Garmin watches and bike computers. They include structured
|
|
52
52
|
workout targets that your device will guide you through.</p> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M6.265 12.024a.289.289 0 0 0-.236-.146h-.182a.289.289 0 0 0-.234.146l-1.449 3.025c-.041.079.004.138.094.138h.335c.132 0 .193-.061.228-.134.037-.073.116-.234.13-.266.02-.045.083-.071.175-.071h1.559c.089 0 .148.016.175.071.018.035.098.179.136.256a.24.24 0 0 0 .234.142h.486c.089 0 .13-.069.098-.132-.034-.061-1.549-3.029-1.549-3.029zm-.914 2.224c-.089 0-.132-.067-.094-.148l.571-1.222c.039-.081.1-.081.136 0l.555 1.222c.037.081-.006.148-.096.148H5.351zm12.105-2.201v3.001c0 .083.073.138.163.138h.396c.089 0 .163-.057.163-.146v-2.998c0-.089-.059-.163-.148-.163h-.411c-.09-.001-.163.054-.163.168zm-6.631 1.88c-.051-.073-.022-.154.063-.181 0 0 .342-.102.506-.25.165-.146.246-.36.246-.636a1 1 0 0 0-.096-.457.787.787 0 0 0-.27-.303 1.276 1.276 0 0 0-.423-.171c-.165-.035-.386-.047-.386-.047a8.81 8.81 0 0 0-.325-.008H8.495a.164.164 0 0 0-.163.163v2.998c0 .089.073.146.163.146h.388c.089 0 .163-.057.163-.146v-1.193s.002 0 .002-.002l.738-.002c.089 0 .205.061.258.134l.766 1.077c.071.096.138.132.228.132h.508c.089 0 .104-.085.073-.128-.032-.038-.794-1.126-.794-1.126zm-.311-.61a1.57 1.57 0 0 1-.213.028 8.807 8.807 0 0 1-.325.006h-.763a.164.164 0 0 1-.163-.163v-.608c0-.089.073-.163.163-.163h.762c.089 0 .236.004.325.006 0 0 .114.004.213.028a.629.629 0 0 1 .24.098.358.358 0 0 1 .126.148.473.473 0 0 1 0 .374.352.352 0 0 1-.126.148.617.617 0 0 1-.239.098zm11.803-1.439c-.089 0-.163.059-.163.146v1.919c0 .089-.051.11-.114.047l-1.921-1.992a.376.376 0 0 0-.276-.118h-.362c-.114 0-.163.061-.163.122v3.068c0 .061.059.12.148.12h.362c.089 0 .152-.049.152-.132l.002-2.021c0-.089.051-.11.114-.045l2.004 2.082a.36.36 0 0 0 .279.116h.272a.164.164 0 0 0 .163-.163v-2.986a.164.164 0 0 0-.163-.163h-.334zm-7.835 1.87c-.043.079-.116.077-.159 0l-.939-1.724a.262.262 0 0 0-.236-.146h-.51a.164.164 0 0 0-.163.163v2.996c0 .089.059.15.163.15h.317c.089 0 .154-.057.154-.142 0-.041.002-2.179.004-2.179.004 0 1.173 2.177 1.173 2.177a.105.105 0 0 0 .189 0s1.179-2.173 1.181-2.173c.004 0 .002 2.11.002 2.173 0 .087.069.142.159.142h.364c.089 0 .163-.045.163-.163V12.04a.164.164 0 0 0-.163-.163h-.488a.265.265 0 0 0-.244.142l-.967 1.729zM0 13.529c0 1.616 1.653 1.697 1.984 1.697 1.098 0 1.561-.297 1.58-.309a.29.29 0 0 0 .152-.264v-1.116a.186.186 0 0 0-.187-.187H2.151c-.104 0-.171.083-.171.187v.116c0 .104.067.187.171.187h.797a.14.14 0 0 1 .14.14v.52c-.157.065-.874.274-1.451.136-.836-.199-.901-.89-.901-1.096 0-.173.053-1.043 1.079-1.13.831-.071 1.378.264 1.384.268.098.051.199.014.254-.089l.104-.209c.043-.085.028-.175-.077-.246-.006-.004-.59-.319-1.494-.319C.055 11.813 0 13.354 0 13.529z"></path></svg></span> Garmin Connect (Web - Recommended)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Go to <a href="https://connect.garmin.com" target="_blank" rel="noopener" class="svelte-1jd9mi2">connect.garmin.com</a> and sign in</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Training"</strong> in the left menu</li> <li class="svelte-1jd9mi2">Select <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import Workout"</strong> in the top right</li> <li class="svelte-1jd9mi2">Select your .fit file and click <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Review the workout and click <strong class="svelte-1jd9mi2">"Save"</strong></li> <li class="svelte-1jd9mi2">To send to your watch: click <strong class="svelte-1jd9mi2">"Send to Device"</strong> and select your Garmin device</li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Tip:</strong> You can schedule workouts directly to specific dates in your Garmin
|
|
53
53
|
calendar.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M6.265 12.024a.289.289 0 0 0-.236-.146h-.182a.289.289 0 0 0-.234.146l-1.449 3.025c-.041.079.004.138.094.138h.335c.132 0 .193-.061.228-.134.037-.073.116-.234.13-.266.02-.045.083-.071.175-.071h1.559c.089 0 .148.016.175.071.018.035.098.179.136.256a.24.24 0 0 0 .234.142h.486c.089 0 .13-.069.098-.132-.034-.061-1.549-3.029-1.549-3.029zm-.914 2.224c-.089 0-.132-.067-.094-.148l.571-1.222c.039-.081.1-.081.136 0l.555 1.222c.037.081-.006.148-.096.148H5.351zm12.105-2.201v3.001c0 .083.073.138.163.138h.396c.089 0 .163-.057.163-.146v-2.998c0-.089-.059-.163-.148-.163h-.411c-.09-.001-.163.054-.163.168zm-6.631 1.88c-.051-.073-.022-.154.063-.181 0 0 .342-.102.506-.25.165-.146.246-.36.246-.636a1 1 0 0 0-.096-.457.787.787 0 0 0-.27-.303 1.276 1.276 0 0 0-.423-.171c-.165-.035-.386-.047-.386-.047a8.81 8.81 0 0 0-.325-.008H8.495a.164.164 0 0 0-.163.163v2.998c0 .089.073.146.163.146h.388c.089 0 .163-.057.163-.146v-1.193s.002 0 .002-.002l.738-.002c.089 0 .205.061.258.134l.766 1.077c.071.096.138.132.228.132h.508c.089 0 .104-.085.073-.128-.032-.038-.794-1.126-.794-1.126zm-.311-.61a1.57 1.57 0 0 1-.213.028 8.807 8.807 0 0 1-.325.006h-.763a.164.164 0 0 1-.163-.163v-.608c0-.089.073-.163.163-.163h.762c.089 0 .236.004.325.006 0 0 .114.004.213.028a.629.629 0 0 1 .24.098.358.358 0 0 1 .126.148.473.473 0 0 1 0 .374.352.352 0 0 1-.126.148.617.617 0 0 1-.239.098zm11.803-1.439c-.089 0-.163.059-.163.146v1.919c0 .089-.051.11-.114.047l-1.921-1.992a.376.376 0 0 0-.276-.118h-.362c-.114 0-.163.061-.163.122v3.068c0 .061.059.12.148.12h.362c.089 0 .152-.049.152-.132l.002-2.021c0-.089.051-.11.114-.045l2.004 2.082a.36.36 0 0 0 .279.116h.272a.164.164 0 0 0 .163-.163v-2.986a.164.164 0 0 0-.163-.163h-.334zm-7.835 1.87c-.043.079-.116.077-.159 0l-.939-1.724a.262.262 0 0 0-.236-.146h-.51a.164.164 0 0 0-.163.163v2.996c0 .089.059.15.163.15h.317c.089 0 .154-.057.154-.142 0-.041.002-2.179.004-2.179.004 0 1.173 2.177 1.173 2.177a.105.105 0 0 0 .189 0s1.179-2.173 1.181-2.173c.004 0 .002 2.11.002 2.173 0 .087.069.142.159.142h.364c.089 0 .163-.045.163-.163V12.04a.164.164 0 0 0-.163-.163h-.488a.265.265 0 0 0-.244.142l-.967 1.729zM0 13.529c0 1.616 1.653 1.697 1.984 1.697 1.098 0 1.561-.297 1.58-.309a.29.29 0 0 0 .152-.264v-1.116a.186.186 0 0 0-.187-.187H2.151c-.104 0-.171.083-.171.187v.116c0 .104.067.187.171.187h.797a.14.14 0 0 1 .14.14v.52c-.157.065-.874.274-1.451.136-.836-.199-.901-.89-.901-1.096 0-.173.053-1.043 1.079-1.13.831-.071 1.378.264 1.384.268.098.051.199.014.254-.089l.104-.209c.043-.085.028-.175-.077-.246-.006-.004-.59-.319-1.494-.319C.055 11.813 0 13.354 0 13.529z"></path></svg></span> Garmin Connect (Mobile App)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open the <strong class="svelte-1jd9mi2">Garmin Connect</strong> app</li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"More"</strong> (bottom right) → <strong class="svelte-1jd9mi2">"Training & Planning"</strong></li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Tap the <strong class="svelte-1jd9mi2">+</strong> button → <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Browse to select your .fit file</li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Send to Device"</strong> to sync to your watch</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M6.265 12.024a.289.289 0 0 0-.236-.146h-.182a.289.289 0 0 0-.234.146l-1.449 3.025c-.041.079.004.138.094.138h.335c.132 0 .193-.061.228-.134.037-.073.116-.234.13-.266.02-.045.083-.071.175-.071h1.559c.089 0 .148.016.175.071.018.035.098.179.136.256a.24.24 0 0 0 .234.142h.486c.089 0 .13-.069.098-.132-.034-.061-1.549-3.029-1.549-3.029zm-.914 2.224c-.089 0-.132-.067-.094-.148l.571-1.222c.039-.081.1-.081.136 0l.555 1.222c.037.081-.006.148-.096.148H5.351zm12.105-2.201v3.001c0 .083.073.138.163.138h.396c.089 0 .163-.057.163-.146v-2.998c0-.089-.059-.163-.148-.163h-.411c-.09-.001-.163.054-.163.168zm-6.631 1.88c-.051-.073-.022-.154.063-.181 0 0 .342-.102.506-.25.165-.146.246-.36.246-.636a1 1 0 0 0-.096-.457.787.787 0 0 0-.27-.303 1.276 1.276 0 0 0-.423-.171c-.165-.035-.386-.047-.386-.047a8.81 8.81 0 0 0-.325-.008H8.495a.164.164 0 0 0-.163.163v2.998c0 .089.073.146.163.146h.388c.089 0 .163-.057.163-.146v-1.193s.002 0 .002-.002l.738-.002c.089 0 .205.061.258.134l.766 1.077c.071.096.138.132.228.132h.508c.089 0 .104-.085.073-.128-.032-.038-.794-1.126-.794-1.126zm-.311-.61a1.57 1.57 0 0 1-.213.028 8.807 8.807 0 0 1-.325.006h-.763a.164.164 0 0 1-.163-.163v-.608c0-.089.073-.163.163-.163h.762c.089 0 .236.004.325.006 0 0 .114.004.213.028a.629.629 0 0 1 .24.098.358.358 0 0 1 .126.148.473.473 0 0 1 0 .374.352.352 0 0 1-.126.148.617.617 0 0 1-.239.098zm11.803-1.439c-.089 0-.163.059-.163.146v1.919c0 .089-.051.11-.114.047l-1.921-1.992a.376.376 0 0 0-.276-.118h-.362c-.114 0-.163.061-.163.122v3.068c0 .061.059.12.148.12h.362c.089 0 .152-.049.152-.132l.002-2.021c0-.089.051-.11.114-.045l2.004 2.082a.36.36 0 0 0 .279.116h.272a.164.164 0 0 0 .163-.163v-2.986a.164.164 0 0 0-.163-.163h-.334zm-7.835 1.87c-.043.079-.116.077-.159 0l-.939-1.724a.262.262 0 0 0-.236-.146h-.51a.164.164 0 0 0-.163.163v2.996c0 .089.059.15.163.15h.317c.089 0 .154-.057.154-.142 0-.041.002-2.179.004-2.179.004 0 1.173 2.177 1.173 2.177a.105.105 0 0 0 .189 0s1.179-2.173 1.181-2.173c.004 0 .002 2.11.002 2.173 0 .087.069.142.159.142h.364c.089 0 .163-.045.163-.163V12.04a.164.164 0 0 0-.163-.163h-.488a.265.265 0 0 0-.244.142l-.967 1.729zM0 13.529c0 1.616 1.653 1.697 1.984 1.697 1.098 0 1.561-.297 1.58-.309a.29.29 0 0 0 .152-.264v-1.116a.186.186 0 0 0-.187-.187H2.151c-.104 0-.171.083-.171.187v.116c0 .104.067.187.171.187h.797a.14.14 0 0 1 .14.14v.52c-.157.065-.874.274-1.451.136-.836-.199-.901-.89-.901-1.096 0-.173.053-1.043 1.079-1.13.831-.071 1.378.264 1.384.268.098.051.199.014.254-.089l.104-.209c.043-.085.028-.175-.077-.246-.006-.004-.59-.319-1.494-.319C.055 11.813 0 13.354 0 13.529z"></path></svg></span> Direct USB Transfer</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Connect your Garmin device to your computer via USB</li> <li class="svelte-1jd9mi2">Open the device in File Explorer/Finder (it appears as a drive)</li> <li class="svelte-1jd9mi2">Navigate to <code class="path svelte-1jd9mi2">GARMIN\\WORKOUT</code> or <code class="path svelte-1jd9mi2">GARMIN\\NewFiles</code></li> <li class="svelte-1jd9mi2">Copy your .fit files into this folder</li> <li class="svelte-1jd9mi2">Safely eject the device</li> <li class="svelte-1jd9mi2">On your watch, go to an activity and select <strong class="svelte-1jd9mi2">"Do Workout"</strong> to find your imported workout</li></ol> <div class="warning-box svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Note:</strong> Folder names may vary slightly by device model. If WORKOUT folder
|
|
54
|
-
doesn't exist, try NewFiles instead.</div></div></div>`),
|
|
54
|
+
doesn't exist, try NewFiles instead.</div></div></div>`),Er=oe(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.mrc files</div> <p class="help-intro svelte-1jd9mi2">MRC (ERG) files are a standard format for indoor cycling workouts. TrainerRoad and many
|
|
55
55
|
other trainer apps support this format.</p> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo trainerroad-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M20.289 14.039c.157-.064.44-.199.51-.234 1.105-.56 1.92-1.222 2.42-1.966.527-.756.8-1.658.78-2.579 0-1.253-.456-2.193-1.398-2.874-.922-.668-2.225-.971-3.874-1.012H1.357L0 8.421h5.528c.014 0 .028.005.038.016a.02.02 0 01.004.019L2.785 16.85h3.668c.063 0 .12-.041.14-.102l2.759-8.303a.043.043 0 01.042-.024l2.823.001c.014 0 .028.005.038.015a.02.02 0 01.004.019L9.473 16.85h3.669c.064 0 .12-.042.14-.103l.742-2.26a.043.043 0 01.042-.024s2.452.005 2.452.003c.864 1.363 1.807 2.878 2.616 4.16l3.844-.002c.118 0 .19-.13.125-.229l-2.832-4.321c-.01-.022.013-.025.018-.035zm-.45-3.355c-.437.412-1.185.612-2.163.612h-2.583l.952-2.874 2.353.001c1.14.017 1.826.514 1.838 1.337.007.35-.138.688-.397.924z"></path></svg></span> TrainerRoad (Desktop)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open the <strong class="svelte-1jd9mi2">TrainerRoad</strong> application</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Career"</strong> → <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import Workout"</strong> or drag and drop your .mrc file</li> <li class="svelte-1jd9mi2">The workout will appear in your personal workout library</li> <li class="svelte-1jd9mi2">You can now add it to your calendar or start it directly</li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Tip:</strong> TrainerRoad will automatically convert the workout to use your current
|
|
56
|
-
FTP settings.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo trainerroad-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M20.289 14.039c.157-.064.44-.199.51-.234 1.105-.56 1.92-1.222 2.42-1.966.527-.756.8-1.658.78-2.579 0-1.253-.456-2.193-1.398-2.874-.922-.668-2.225-.971-3.874-1.012H1.357L0 8.421h5.528c.014 0 .028.005.038.016a.02.02 0 01.004.019L2.785 16.85h3.668c.063 0 .12-.041.14-.102l2.759-8.303a.043.043 0 01.042-.024l2.823.001c.014 0 .028.005.038.015a.02.02 0 01.004.019L9.473 16.85h3.669c.064 0 .12-.042.14-.103l.742-2.26a.043.043 0 01.042-.024s2.452.005 2.452.003c.864 1.363 1.807 2.878 2.616 4.16l3.844-.002c.118 0 .19-.13.125-.229l-2.832-4.321c-.01-.022.013-.025.018-.035zm-.45-3.355c-.437.412-1.185.612-2.163.612h-2.583l.952-2.874 2.353.001c1.14.017 1.826.514 1.838 1.337.007.35-.138.688-.397.924z"></path></svg></span> TrainerRoad (Mobile)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Save the .mrc file to your phone (via email or cloud storage)</li> <li class="svelte-1jd9mi2">Open the TrainerRoad app</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Train"</strong> → <strong class="svelte-1jd9mi2">"Custom"</strong></li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Import"</strong> and select your file</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo rouvy-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M5 4h8a5 5 0 0 1 0 10h-3l6 6h-4l-6-6H5V4zm2 2v6h6a3 3 0 0 0 0-6H7z"></path></svg></span> Rouvy</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open Rouvy on your computer</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Select your .mrc file</li> <li class="svelte-1jd9mi2">The workout will be added to your library</li></ol></div></div>`),
|
|
56
|
+
FTP settings.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo trainerroad-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M20.289 14.039c.157-.064.44-.199.51-.234 1.105-.56 1.92-1.222 2.42-1.966.527-.756.8-1.658.78-2.579 0-1.253-.456-2.193-1.398-2.874-.922-.668-2.225-.971-3.874-1.012H1.357L0 8.421h5.528c.014 0 .028.005.038.016a.02.02 0 01.004.019L2.785 16.85h3.668c.063 0 .12-.041.14-.102l2.759-8.303a.043.043 0 01.042-.024l2.823.001c.014 0 .028.005.038.015a.02.02 0 01.004.019L9.473 16.85h3.669c.064 0 .12-.042.14-.103l.742-2.26a.043.043 0 01.042-.024s2.452.005 2.452.003c.864 1.363 1.807 2.878 2.616 4.16l3.844-.002c.118 0 .19-.13.125-.229l-2.832-4.321c-.01-.022.013-.025.018-.035zm-.45-3.355c-.437.412-1.185.612-2.163.612h-2.583l.952-2.874 2.353.001c1.14.017 1.826.514 1.838 1.337.007.35-.138.688-.397.924z"></path></svg></span> TrainerRoad (Mobile)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Save the .mrc file to your phone (via email or cloud storage)</li> <li class="svelte-1jd9mi2">Open the TrainerRoad app</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Train"</strong> → <strong class="svelte-1jd9mi2">"Custom"</strong></li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Import"</strong> and select your file</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo rouvy-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M5 4h8a5 5 0 0 1 0 10h-3l6 6h-4l-6-6H5V4zm2 2v6h6a3 3 0 0 0 0-6H7z"></path></svg></span> Rouvy</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open Rouvy on your computer</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Select your .mrc file</li> <li class="svelte-1jd9mi2">The workout will be added to your library</li></ol></div></div>`),Pr=oe(`<div class="help-section svelte-1jd9mi2"><p class="help-intro svelte-1jd9mi2">Many training apps support standard file formats. Here's a general guide for different
|
|
57
57
|
file types.</p> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.ics</span> Calendar Files</h4> <p class="svelte-1jd9mi2">Universal calendar format. Works with virtually any calendar application including
|
|
58
58
|
Google Calendar, Apple Calendar, Outlook, and more.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">Google Calendar</span> <span class="app-tag svelte-1jd9mi2">Apple Calendar</span> <span class="app-tag svelte-1jd9mi2">Outlook</span> <span class="app-tag svelte-1jd9mi2">Yahoo Calendar</span> <span class="app-tag svelte-1jd9mi2">Thunderbird</span></div></div> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.zwo</span> Zwift Workout Files</h4> <p class="svelte-1jd9mi2">Structured workouts with power/pace targets. Primarily designed for Zwift but some
|
|
59
59
|
other apps can convert these.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">Zwift</span> <span class="app-tag svelte-1jd9mi2">What's on Zwift</span></div></div> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.fit</span> Garmin FIT Files</h4> <p class="svelte-1jd9mi2">Industry-standard fitness file format. Works with Garmin devices and many other
|
|
60
|
-
fitness platforms.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">Garmin Connect</span> <span class="app-tag svelte-1jd9mi2">Wahoo SYSTM</span> <span class="app-tag svelte-1jd9mi2">Strava</span> <span class="app-tag svelte-1jd9mi2">Training Peaks</span></div></div> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.mrc</span> ERG/MRC Files</h4> <p class="svelte-1jd9mi2">Classic indoor trainer workout format. Widely supported by bike trainer applications.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">TrainerRoad</span> <span class="app-tag svelte-1jd9mi2">Rouvy</span> <span class="app-tag svelte-1jd9mi2">Wahoo SYSTM</span> <span class="app-tag svelte-1jd9mi2">PerfPro</span> <span class="app-tag svelte-1jd9mi2">Golden Cheetah</span></div></div> <div class="general-tips svelte-1jd9mi2"><h4 class="svelte-1jd9mi2">General Import Tips</h4> <ul class="svelte-1jd9mi2"><li class="svelte-1jd9mi2">Most apps have an "Import" option in the workouts or training section</li> <li class="svelte-1jd9mi2">If drag-and-drop doesn't work, look for a menu option or button</li> <li class="svelte-1jd9mi2">Some apps may require a premium subscription for workout imports</li> <li class="svelte-1jd9mi2">Make sure your FTP/threshold settings are up to date in the target app</li> <li class="svelte-1jd9mi2">If a workout looks wrong, check that units (watts, pace) match between apps</li></ul></div></div>`),
|
|
60
|
+
fitness platforms.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">Garmin Connect</span> <span class="app-tag svelte-1jd9mi2">Wahoo SYSTM</span> <span class="app-tag svelte-1jd9mi2">Strava</span> <span class="app-tag svelte-1jd9mi2">Training Peaks</span></div></div> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.mrc</span> ERG/MRC Files</h4> <p class="svelte-1jd9mi2">Classic indoor trainer workout format. Widely supported by bike trainer applications.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">TrainerRoad</span> <span class="app-tag svelte-1jd9mi2">Rouvy</span> <span class="app-tag svelte-1jd9mi2">Wahoo SYSTM</span> <span class="app-tag svelte-1jd9mi2">PerfPro</span> <span class="app-tag svelte-1jd9mi2">Golden Cheetah</span></div></div> <div class="general-tips svelte-1jd9mi2"><h4 class="svelte-1jd9mi2">General Import Tips</h4> <ul class="svelte-1jd9mi2"><li class="svelte-1jd9mi2">Most apps have an "Import" option in the workouts or training section</li> <li class="svelte-1jd9mi2">If drag-and-drop doesn't work, look for a menu option or button</li> <li class="svelte-1jd9mi2">Some apps may require a premium subscription for workout imports</li> <li class="svelte-1jd9mi2">Make sure your FTP/threshold settings are up to date in the target app</li> <li class="svelte-1jd9mi2">If a workout looks wrong, check that units (watts, pace) match between apps</li></ul></div></div>`),Rr=oe('<div class="modal-overlay active svelte-1jd9mi2" role="dialog" aria-modal="true" tabindex="-1"><div class="modal import-help-modal svelte-1jd9mi2"><div class="modal-fixed-header svelte-1jd9mi2"><div class="modal-header svelte-1jd9mi2"><div><h2 class="modal-title svelte-1jd9mi2">Import Workouts to Your Apps</h2> <p class="modal-subtitle svelte-1jd9mi2">Step-by-step guides for importing your exported files</p></div> <button class="modal-close svelte-1jd9mi2">×</button></div> <div class="help-tabs svelte-1jd9mi2"></div></div> <div class="modal-body svelte-1jd9mi2"><!> <!> <!> <!> <!></div></div></div>');function Ir(e,s){cs(s,!0);let t=we("calendar");function a(R){R.key==="Escape"&&s.onClose()}function i(R){R.target.classList.contains("modal-overlay")&&s.onClose()}const n=[{id:"calendar",label:"Calendar Apps"},{id:"zwift",label:"Zwift"},{id:"garmin",label:"Garmin"},{id:"trainerroad",label:"TrainerRoad"},{id:"generic",label:"Other Apps"}];var o=Rr();xs("keydown",rt,a),o.__click=i,o.__keydown=a;var l=D(o),r=D(l),m=D(r),y=I(D(m),2);y.__click=function(...R){s.onClose?.apply(this,R)};var g=I(m,2);He(g,21,()=>n,ss,(R,G)=>{var O=_r();let Y;O.__click=()=>ee(t,A(G).id,!0);var te=D(O);Ae(()=>{Y=Pe(O,1,"help-tab svelte-1jd9mi2",null,Y,{active:A(t)===A(G).id}),pe(te,A(G).label)}),ne(R,O)});var d=I(r,2),c=D(d);{var T=R=>{var G=kr();ne(R,G)};Ce(c,R=>{A(t)==="calendar"&&R(T)})}var p=I(c,2);{var h=R=>{var G=Sr();ne(R,G)};Ce(p,R=>{A(t)==="zwift"&&R(h)})}var b=I(p,2);{var w=R=>{var G=xr();ne(R,G)};Ce(b,R=>{A(t)==="garmin"&&R(w)})}var k=I(b,2);{var P=R=>{var G=Er();ne(R,G)};Ce(k,R=>{A(t)==="trainerroad"&&R(P)})}var _=I(k,2);{var W=R=>{var G=Pr();ne(R,G)};Ce(_,R=>{A(t)==="generic"&&R(W)})}ne(e,o),ms()}vs(["click","keydown"]);var Dr=oe('<div class="local-storage-banner svelte-5d96j5"><div class="banner-content svelte-5d96j5"><span class="banner-icon svelte-5d96j5"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-5d96j5"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4M12 8h.01"></path></svg></span> <p class="svelte-5d96j5">Your changes are saved locally in this browser only. To back up or transfer your data, <button class="banner-link svelte-5d96j5">export it from Settings</button>.</p> <button class="banner-close svelte-5d96j5" aria-label="Dismiss"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-5d96j5"><path d="M18 6L6 18M6 6l12 12"></path></svg></button></div></div>'),Lr=oe('<!> <div class="app"><!> <main class="main-content svelte-5d96j5"><div class="mobile-header svelte-5d96j5"><button class="menu-toggle svelte-5d96j5">☰</button> <h2 class="mobile-title svelte-5d96j5"> </h2></div> <!></main></div> <!> <!> <!>',1);function Br(e,s){cs(s,!0);let t=we(De(Yo())),a=we(De(ro())),i=we(De(co())),n=we(De({sport:"all",status:"all"})),o=we(!1),l=we(!1),r=we(!1);const m=`plan-${Le.meta.id}-banner-dismissed`;let y=we(!1);function g(){localStorage.getItem(m)!=="true"&&ee(y,!0)}function d(){ee(y,!1),localStorage.setItem(m,"true")}let c=we(null);ma(()=>{document.documentElement.setAttribute("data-theme",A(t).theme)}),ma(()=>{Le.weeks?.forEach(H=>{H.days?.forEach(K=>{K.workouts?.forEach(q=>{q.completed=!!A(a)[q.id]})})})});function T(H){ee(t,H,!0),Xo(H)}function p(H){A(a)[H]?(delete A(a)[H],ee(a,{...A(a)},!0)):ee(a,{...A(a),[H]:!0},!0),uo(A(a)),g()}function h(H,K){ee(c,{mode:"view",workout:H,day:K},!0)}function b(H){ee(c,{mode:"create",day:H},!0)}function w(){ee(c,null)}function k(H,K,q){K===q?delete A(i).moved[H]:A(i).moved[H]=q,ee(i,{...A(i)},!0),Ct(A(i)),g()}function P(H){if(A(c))if(A(c).mode==="create"){const K=mo(),q={id:K,sport:H.sport||"run",type:H.type||"endurance",name:H.name||"Workout",description:H.description||"",durationMinutes:H.durationMinutes,distanceMeters:H.distanceMeters,primaryZone:H.primaryZone,humanReadable:H.humanReadable,completed:!1};A(i).added[K]={date:A(c).day.date,workout:q},ee(i,{...A(i)},!0),Ct(A(i)),g(),ee(c,null)}else{const K=A(c).workout.id;A(i).added[K]?A(i).added[K].workout={...A(i).added[K].workout,...H}:A(i).edited[K]={...A(i).edited[K]||{},...H},ee(i,{...A(i)},!0),Ct(A(i)),g(),ee(c,{...A(c),workout:{...A(c).workout,...H}},!0)}}function _(H){A(i).added[H]?delete A(i).added[H]:A(i).deleted.includes(H)||(A(i).deleted=[...A(i).deleted,H]),ee(i,{...A(i)},!0),Ct(A(i)),g(),ee(c,null)}var W=Lr(),R=Je(W);{var G=H=>{var K=Dr(),q=D(K),fe=I(D(q),2),ye=I(D(fe));ye.__click=()=>{d(),ee(l,!0)};var re=I(fe,2);re.__click=d,ne(H,K)};Ce(R,H=>{A(y)&&H(G)})}var O=I(R,2),Y=D(O);lo(Y,{get plan(){return Le},get settings(){return A(t)},get filters(){return A(n)},get completed(){return A(a)},onFilterChange:H=>ee(n,H,!0),onSettingsClick:()=>ee(l,!0),onImportHelpClick:()=>ee(r,!0),get open(){return A(o)},set open(H){ee(o,H,!0)}});var te=I(Y,2),F=D(te),Z=D(F);Z.__click=()=>ee(o,!A(o));var f=I(Z,2),J=D(f),me=I(F,2);Fo(me,{get plan(){return Le},get settings(){return A(t)},get filters(){return A(n)},get completed(){return A(a)},get changes(){return A(i)},onWorkoutClick:h,onWorkoutMove:k,onAddWorkout:b});var X=I(O,2);{var be=H=>{{let K=Re(()=>A(c).mode==="view"?A(c).workout:null),q=Re(()=>A(c).mode==="view"&&!!A(a)[A(c).workout.id]);Vo(H,{get workout(){return A(K)},get day(){return A(c).day},get mode(){return A(c).mode},get isCompleted(){return A(q)},get settings(){return A(t)},onClose:w,onToggleComplete:p,onSave:P,onDelete:_,onImportHelpClick:()=>ee(r,!0)})}};Ce(X,H=>{A(c)&&H(be)})}var Q=I(X,2);{var ae=H=>{Fr(H,{get settings(){return A(t)},onClose:()=>ee(l,!1),onChange:T,onOpenImportHelp:()=>ee(r,!0)})};Ce(Q,H=>{A(l)&&H(ae)})}var M=I(Q,2);{var x=H=>{Ir(H,{onClose:()=>ee(r,!1)})};Ce(M,H=>{A(r)&&H(x)})}Ae(()=>pe(J,Le.meta?.event??"Training Plan")),ne(e,W),ms()}vs(["click"]);Wi(Br,{target:document.getElementById("app")});</script>
|
|
61
61
|
<style rel="stylesheet" crossorigin>*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg-primary: #0a0a0b;--bg-secondary: #141416;--bg-tertiary: #1c1c1f;--bg-elevated: #232327;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--swim: #06b6d4;--swim-glow: rgba(6, 182, 212, .15);--swim-dark: #0e7490;--bike: #22c55e;--bike-glow: rgba(34, 197, 94, .15);--bike-dark: #15803d;--run: #f97316;--run-glow: rgba(249, 115, 22, .15);--run-dark: #c2410c;--strength: #a855f7;--strength-glow: rgba(168, 85, 247, .15);--strength-dark: #7e22ce;--brick: #ec4899;--brick-glow: rgba(236, 72, 153, .15);--brick-dark: #be185d;--race: #eab308;--race-glow: rgba(234, 179, 8, .2);--race-dark: #a16207;--rest: #52525b;--rest-glow: rgba(82, 82, 91, .15);--accent: #eab308;--accent-glow: rgba(234, 179, 8, .2);--phase-base: #3b82f6;--phase-build: #8b5cf6;--phase-peak: #ec4899;--phase-taper: #14b8a6;--transition-fast: .15s;--transition-normal: .25s;--transition-slow: .4s;--sidebar-width: 320px}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-elevated: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border-subtle: rgba(0, 0, 0, .06);--border-medium: rgba(0, 0, 0, .12);--swim: #0891b2;--swim-glow: rgba(8, 145, 178, .12);--swim-dark: #0e7490;--bike: #16a34a;--bike-glow: rgba(22, 163, 74, .12);--bike-dark: #15803d;--run: #ea580c;--run-glow: rgba(234, 88, 12, .12);--run-dark: #c2410c;--strength: #9333ea;--strength-glow: rgba(147, 51, 234, .12);--strength-dark: #7e22ce;--brick: #db2777;--brick-glow: rgba(219, 39, 119, .12);--brick-dark: #be185d;--race: #ca8a04;--race-glow: rgba(202, 138, 4, .15);--race-dark: #a16207;--rest: #71717a;--rest-glow: rgba(113, 113, 122, .1);--accent: #ca8a04;--accent-glow: rgba(202, 138, 4, .15)}html{font-size:15px;scroll-behavior:smooth}body{font-family:Outfit,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app{display:flex;min-height:100vh}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}input:focus,select:focus{outline:none}.sidebar.svelte-dkgmtr{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:100}.event-header.svelte-dkgmtr{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.event-name.svelte-dkgmtr{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.event-date.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--accent);font-weight:500;letter-spacing:.05em}.athlete-name.svelte-dkgmtr{font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.progress-section.svelte-dkgmtr{text-align:center}.progress-ring-container.svelte-dkgmtr{position:relative;width:140px;height:140px;margin:0 auto 1rem}.progress-ring.svelte-dkgmtr{transform:rotate(-90deg)}.progress-ring-bg.svelte-dkgmtr{fill:none;stroke:var(--bg-tertiary);stroke-width:8}.progress-ring-fill.svelte-dkgmtr{fill:none;stroke:url(#progressGradient);stroke-width:8;stroke-linecap:round;stroke-dasharray:377;transition:stroke-dashoffset 1s ease-out}.progress-text.svelte-dkgmtr{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-percent.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:500;color:var(--text-primary)}.progress-label.svelte-dkgmtr{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.stats-grid.svelte-dkgmtr{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card.svelte-dkgmtr{background:var(--bg-tertiary);border-radius:12px;padding:1rem;text-align:center;border:1px solid var(--border-subtle)}.stat-value.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:500;color:var(--text-primary)}.stat-label.svelte-dkgmtr{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem}.sport-stats.svelte-dkgmtr{display:flex;flex-direction:column;gap:.5rem}.sport-stats-header.svelte-dkgmtr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.sport-stats-header.svelte-dkgmtr h3:where(.svelte-dkgmtr){font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.clear-filter.svelte-dkgmtr{font-size:.7rem;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.clear-filter.svelte-dkgmtr:hover{text-decoration:underline}.sport-stat.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left}.sport-stat.svelte-dkgmtr:hover{background:var(--bg-elevated);border-color:var(--border-medium)}.sport-stat.active.svelte-dkgmtr{border-color:var(--text-muted)}.sport-stat.active.swim.svelte-dkgmtr{border-color:var(--swim);background:var(--swim-glow)}.sport-stat.active.bike.svelte-dkgmtr{border-color:var(--bike);background:var(--bike-glow)}.sport-stat.active.run.svelte-dkgmtr{border-color:var(--run);background:var(--run-glow)}.sport-stat.active.strength.svelte-dkgmtr{border-color:var(--strength);background:var(--strength-glow)}.sport-stat.active.brick.svelte-dkgmtr{border-color:var(--brick);background:var(--brick-glow)}.sport-stat.active.race.svelte-dkgmtr{border-color:var(--race);background:var(--race-glow)}.sport-icon.svelte-dkgmtr{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.sport-icon.swim.svelte-dkgmtr{background:var(--swim-glow)}.sport-icon.bike.svelte-dkgmtr{background:var(--bike-glow)}.sport-icon.run.svelte-dkgmtr{background:var(--run-glow)}.sport-icon.strength.svelte-dkgmtr{background:var(--strength-glow)}.sport-icon.brick.svelte-dkgmtr{background:var(--brick-glow)}.sport-icon.race.svelte-dkgmtr{background:var(--race-glow)}.sport-info.svelte-dkgmtr{flex:1}.sport-name.svelte-dkgmtr{font-size:.85rem;font-weight:500;color:var(--text-primary)}.sport-hours.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted)}.check-icon.svelte-dkgmtr{color:var(--accent);font-weight:600;font-size:.9rem}.filters-section.svelte-dkgmtr h3:where(.svelte-dkgmtr){font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem}.filter-group.svelte-dkgmtr{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip.svelte-dkgmtr{padding:.4rem .8rem;font-size:.8rem;font-weight:500;border-radius:20px;border:1px solid var(--border-medium);background:transparent;color:var(--text-secondary);transition:all var(--transition-fast)}.filter-chip.svelte-dkgmtr:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.filter-chip.active.svelte-dkgmtr{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.settings-btn.svelte-dkgmtr{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-medium);color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast)}.settings-btn.svelte-dkgmtr:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-medium)}.settings-btn.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:18px;height:18px}.export-section.svelte-dkgmtr{display:flex;flex-direction:column;gap:.75rem}.export-status.svelte-dkgmtr{font-size:.75rem;color:var(--accent);padding:.4rem .75rem;background:var(--accent-glow);border-radius:6px;text-align:center}.export-status.error.svelte-dkgmtr{color:#ef4444;background:#ef44441a}.export-main.svelte-dkgmtr{position:relative}.export-main-btn.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--run));border:none;color:#fff;font-size:.85rem;font-weight:500;transition:all var(--transition-fast);cursor:pointer;text-align:left}.export-main-btn.svelte-dkgmtr:hover{transform:translateY(-1px);box-shadow:0 4px 12px #eab3084d}.export-main-btn.svelte-dkgmtr:active{transform:translateY(0)}.export-main-btn.svelte-dkgmtr>svg:where(.svelte-dkgmtr):first-child{width:24px;height:24px;flex-shrink:0}.export-main-text.svelte-dkgmtr{display:flex;flex-direction:column;gap:.15rem;flex:1}.export-main-title.svelte-dkgmtr{font-size:.95rem;font-weight:600}.export-main-desc.svelte-dkgmtr{font-size:.7rem;opacity:.85}.dropdown-arrow.svelte-dkgmtr{width:16px;height:16px;opacity:.8;transition:transform var(--transition-fast)}.dropdown-arrow.open.svelte-dkgmtr{transform:rotate(180deg)}.export-divider.svelte-dkgmtr{height:1px;background:var(--border-subtle);margin:.25rem 0}.export-menu.svelte-dkgmtr{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:10px;padding:.5rem;z-index:10;box-shadow:0 4px 20px #0000004d}.export-option.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem;border:none;background:transparent;color:var(--text-primary);border-radius:6px;cursor:pointer;transition:background var(--transition-fast);text-align:left}.export-option.svelte-dkgmtr:hover{background:var(--bg-tertiary)}.export-icon.svelte-dkgmtr{width:28px;height:28px;border-radius:6px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;color:var(--accent);flex-shrink:0}.export-icon.calendar.svelte-dkgmtr{background:var(--accent-glow)}.export-icon.calendar.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:16px;height:16px}.export-name.svelte-dkgmtr{font-size:.8rem;font-weight:500}.export-desc.svelte-dkgmtr{font-size:.7rem;color:var(--text-muted)}.import-help-link.svelte-dkgmtr{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem .75rem;border-radius:8px;background:transparent;border:1px dashed var(--border-medium);color:var(--text-muted);font-size:.75rem;font-weight:500;transition:all var(--transition-fast);margin-top:.5rem}.import-help-link.svelte-dkgmtr:hover{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-medium);border-style:solid}.import-help-link.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:14px;height:14px}@media(max-width:700px){.sidebar.svelte-dkgmtr{left:-100%;transition:left var(--transition-normal)}.sidebar.open.svelte-dkgmtr{left:0}}.workout-card.svelte-ynjai0{width:100%;text-align:left;padding:.6rem .75rem;border-radius:8px;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;position:relative;overflow:hidden}.workout-card.svelte-ynjai0:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.workout-card.swim.svelte-ynjai0{background:var(--swim-glow)}.workout-card.swim.svelte-ynjai0:before{background:var(--swim)}.workout-card.bike.svelte-ynjai0{background:var(--bike-glow)}.workout-card.bike.svelte-ynjai0:before{background:var(--bike)}.workout-card.run.svelte-ynjai0{background:var(--run-glow)}.workout-card.run.svelte-ynjai0:before{background:var(--run)}.workout-card.strength.svelte-ynjai0{background:var(--strength-glow)}.workout-card.strength.svelte-ynjai0:before{background:var(--strength)}.workout-card.brick.svelte-ynjai0{background:var(--brick-glow)}.workout-card.brick.svelte-ynjai0:before{background:var(--brick)}.workout-card.race.svelte-ynjai0{background:var(--race-glow)}.workout-card.race.svelte-ynjai0:before{background:var(--race)}.workout-card.rest.svelte-ynjai0{background:var(--rest-glow)}.workout-card.rest.svelte-ynjai0:before{background:var(--rest)}.workout-card.svelte-ynjai0:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000004d}.workout-card.dragging.svelte-ynjai0{opacity:.5;transform:scale(.95);cursor:grabbing}.workout-card.svelte-ynjai0:not(.dragging){cursor:grab}.workout-card.completed.svelte-ynjai0{opacity:.6}.workout-card.completed.svelte-ynjai0:after{content:"✓";position:absolute;top:.4rem;right:.5rem;font-size:.7rem;color:var(--text-muted)}.workout-sport.svelte-ynjai0{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}.workout-card.swim.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--swim)}.workout-card.bike.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--bike)}.workout-card.run.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--run)}.workout-card.strength.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--strength)}.workout-card.brick.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--brick)}.workout-card.race.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--race)}.workout-card.rest.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--rest)}.workout-name.svelte-ynjai0{font-size:.8rem;font-weight:500;color:var(--text-primary);line-height:1.3}.workout-duration.svelte-ynjai0{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-muted);margin-top:.3rem}.week-card.svelte-ldqnzx{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-subtle);overflow:hidden;opacity:0;transform:translateY(20px);animation:svelte-ldqnzx-slideUp .5s ease forwards}@keyframes svelte-ldqnzx-slideUp{to{opacity:1;transform:translateY(0)}}.week-header.svelte-ldqnzx{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.week-title.svelte-ldqnzx{display:flex;align-items:center;gap:1rem}.week-number.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;padding:.3rem .6rem;border-radius:6px;background:var(--bg-primary);color:var(--text-secondary)}.week-phase.svelte-ldqnzx{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.week-phase.base.svelte-ldqnzx{color:var(--phase-base)}.week-phase.build.svelte-ldqnzx{color:var(--phase-build)}.week-phase.peak.svelte-ldqnzx{color:var(--phase-peak)}.week-phase.taper.svelte-ldqnzx{color:var(--phase-taper)}.week-phase.survival.svelte-ldqnzx{color:var(--text-muted)}.week-phase.bank.svelte-ldqnzx{color:var(--phase-base)}.week-focus.svelte-ldqnzx{font-size:.85rem;color:var(--text-muted)}.week-hours.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--text-secondary)}.week-hours.svelte-ldqnzx span:where(.svelte-ldqnzx){color:var(--text-primary);font-weight:500}.days-grid.svelte-ldqnzx{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-subtle)}.day-column.svelte-ldqnzx{background:var(--bg-secondary);min-height:160px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;transition:background-color .15s ease}.day-column.today.svelte-ldqnzx{background:var(--bg-tertiary)}.day-column.today.svelte-ldqnzx .day-name:where(.svelte-ldqnzx){color:var(--accent)}.day-column.drag-over.svelte-ldqnzx{background:var(--accent-glow);outline:2px dashed var(--accent);outline-offset:-2px}.day-header.svelte-ldqnzx{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle)}.day-name.svelte-ldqnzx{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.day-date.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-muted)}.empty-day.svelte-ldqnzx{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.8rem;font-style:italic}.add-workout-btn.svelte-ldqnzx{margin-top:auto;padding:.5rem;border:1px dashed var(--border-medium);border-radius:8px;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:0}.day-column.svelte-ldqnzx:hover .add-workout-btn:where(.svelte-ldqnzx){opacity:1}.add-workout-btn.svelte-ldqnzx:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.add-workout-btn.svelte-ldqnzx svg:where(.svelte-ldqnzx){width:16px;height:16px}@media(max-width:1200px){.days-grid.svelte-ldqnzx{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.days-grid.svelte-ldqnzx{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.days-grid.svelte-ldqnzx{grid-template-columns:1fr}}.phase-timeline.svelte-aq400f{display:flex;gap:4px;margin-bottom:1.5rem;padding:0 1rem}.phase-segment.svelte-aq400f{flex:1;height:28px;border-radius:6px;border:none;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#64748b,#475569)}.phase-segment.svelte-aq400f:hover{filter:brightness(1.2)}.phase-segment.svelte-aq400f:active{transform:scale(.98)}.phase-label.svelte-aq400f{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.phase-segment.base.svelte-aq400f{background:linear-gradient(135deg,#3b82f6,#2563eb)}.phase-segment.build.svelte-aq400f{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.phase-segment.peak.svelte-aq400f{background:linear-gradient(135deg,#ec4899,#db2777)}.phase-segment.taper.svelte-aq400f{background:linear-gradient(135deg,#14b8a6,#0d9488)}.phase-segment.recovery.svelte-aq400f{background:linear-gradient(135deg,#6b7280,#4b5563)}.phase-segment.rebuild.svelte-aq400f{background:linear-gradient(135deg,#f97316,#ea580c)}.phase-segment.survival.svelte-aq400f{background:linear-gradient(135deg,#f59e0b,#d97706)}.phase-segment.bank.svelte-aq400f{background:linear-gradient(135deg,#10b981,#059669)}.weeks-container.svelte-aq400f{display:flex;flex-direction:column;gap:1.5rem}.modal-overlay.svelte-12rtkin{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal-overlay.active.svelte-12rtkin{opacity:1;visibility:visible}.modal.svelte-12rtkin{background:var(--bg-secondary);border-radius:20px;max-width:600px;width:100%;max-height:85vh;overflow:hidden;transform:scale(.9) translateY(20px);transition:transform var(--transition-normal);border:1px solid var(--border-medium);position:relative;display:flex;flex-direction:column}.modal-overlay.active.svelte-12rtkin .modal:where(.svelte-12rtkin){transform:scale(1) translateY(0)}.modal-header.svelte-12rtkin{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0}.modal-sport-badge.svelte-12rtkin{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.modal-sport-badge.swim.svelte-12rtkin{background:var(--swim-glow);color:var(--swim)}.modal-sport-badge.bike.svelte-12rtkin{background:var(--bike-glow);color:var(--bike)}.modal-sport-badge.run.svelte-12rtkin{background:var(--run-glow);color:var(--run)}.modal-sport-badge.strength.svelte-12rtkin{background:var(--strength-glow);color:var(--strength)}.modal-sport-badge.brick.svelte-12rtkin{background:var(--brick-glow);color:var(--brick)}.modal-sport-badge.race.svelte-12rtkin{background:var(--race-glow);color:var(--race)}.modal-sport-badge.rest.svelte-12rtkin{background:var(--rest-glow);color:var(--rest)}.modal-title.svelte-12rtkin{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-date.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.modal-close.svelte-12rtkin{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.modal-close.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body.svelte-12rtkin{padding:1.5rem 2rem;overflow-y:auto;flex:1}.modal-stats.svelte-12rtkin{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-stat.svelte-12rtkin{text-align:center}.modal-stat-value.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:500;color:var(--text-primary)}.modal-stat-label.svelte-12rtkin{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.modal-section.svelte-12rtkin{margin-bottom:1.5rem}.modal-section-title.svelte-12rtkin{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem}.modal-description.svelte-12rtkin{font-size:.95rem;color:var(--text-secondary);line-height:1.7}.workout-structure.svelte-12rtkin{background:var(--bg-tertiary);border-radius:12px;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.8;color:var(--text-secondary);white-space:pre-wrap;margin:0}.form-grid.svelte-12rtkin{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-row.svelte-12rtkin{display:flex;flex-direction:column;gap:.5rem}.form-row.full.svelte-12rtkin{margin-bottom:1rem}.form-label.svelte-12rtkin{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.form-input.svelte-12rtkin,.form-select.svelte-12rtkin,.form-textarea.svelte-12rtkin{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition-fast)}.form-input.svelte-12rtkin:focus,.form-select.svelte-12rtkin:focus,.form-textarea.svelte-12rtkin:focus{outline:none;border-color:var(--accent)}.form-textarea.svelte-12rtkin{resize:vertical;min-height:60px}.form-textarea.mono.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.6}.modal-footer.svelte-12rtkin{padding:1rem 2rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.footer-left.svelte-12rtkin{display:flex;gap:.5rem}.icon-btn.svelte-12rtkin{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.icon-btn.svelte-12rtkin svg:where(.svelte-12rtkin){width:18px;height:18px}.icon-btn.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-primary)}.icon-btn.delete.svelte-12rtkin:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.icon-btn.edit.svelte-12rtkin:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.complete-btn.svelte-12rtkin{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;transition:all var(--transition-fast);border:none}.complete-btn.mark.svelte-12rtkin{background:var(--accent);color:var(--bg-primary)}.complete-btn.mark.svelte-12rtkin:hover{background:#fbbf24;transform:translateY(-2px)}.complete-btn.unmark.svelte-12rtkin{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-medium)}.complete-btn.unmark.svelte-12rtkin:hover{background:var(--bg-elevated)}.cancel-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-medium);transition:all var(--transition-fast)}.cancel-btn.svelte-12rtkin:hover{background:var(--bg-elevated);color:var(--text-primary)}.save-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:var(--accent);color:var(--bg-primary);border:none;transition:all var(--transition-fast)}.save-btn.svelte-12rtkin:hover:not(:disabled){background:#fbbf24;transform:translateY(-2px)}.save-btn.svelte-12rtkin:disabled{opacity:.5;cursor:not-allowed}.confirm-overlay.svelte-12rtkin{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:20px}.confirm-dialog.svelte-12rtkin{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;padding:1.5rem;text-align:center}.confirm-dialog.svelte-12rtkin p:where(.svelte-12rtkin){font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.confirm-actions.svelte-12rtkin{display:flex;gap:.75rem;justify-content:center}.delete-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:#ef4444;color:#fff;border:none;transition:all var(--transition-fast)}.delete-btn.svelte-12rtkin:hover{background:#dc2626}.footer-right.svelte-12rtkin{display:flex;align-items:center;gap:.75rem}.export-dropdown.svelte-12rtkin{position:relative}.icon-btn.export.svelte-12rtkin:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.export-menu.svelte-12rtkin{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;padding:.5rem;min-width:200px;z-index:10;box-shadow:0 4px 20px #0000004d}.export-option.svelte-12rtkin{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:none;background:transparent;color:var(--text-primary);border-radius:8px;cursor:pointer;transition:background var(--transition-fast)}.export-option.svelte-12rtkin:hover{background:var(--bg-tertiary)}.export-icon.svelte-12rtkin{width:32px;height:32px;border-radius:6px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;color:var(--accent)}.export-info.svelte-12rtkin{text-align:left}.export-name.svelte-12rtkin{font-size:.9rem;font-weight:500}.export-desc.svelte-12rtkin{font-size:.75rem;color:var(--text-muted)}.export-status.svelte-12rtkin{font-size:.8rem;color:var(--accent);padding:.4rem .8rem;background:var(--accent-glow);border-radius:6px}.export-status.error.svelte-12rtkin{color:#ef4444;background:#ef44441a}.export-divider.svelte-12rtkin{height:1px;background:var(--border-subtle);margin:.5rem 0}.export-help-link.svelte-12rtkin{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem;border:none;background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all var(--transition-fast);font-size:.8rem}.export-help-link.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.export-help-link.svelte-12rtkin svg:where(.svelte-12rtkin){width:14px;height:14px}.data-btn.svelte-1g25oqh{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--border-medium);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast);flex-shrink:0;cursor:pointer}.data-btn.svelte-1g25oqh svg:where(.svelte-1g25oqh){width:16px;height:16px}.data-btn.svelte-1g25oqh:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.data-btn.export.svelte-1g25oqh:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.data-btn.svelte-1g25oqh:disabled{opacity:.5;cursor:not-allowed}.modal-overlay.svelte-1uhipit{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:2rem;padding-top:5vh;opacity:0;visibility:hidden;transition:all var(--transition-normal);overflow-y:auto}.modal-overlay.active.svelte-1uhipit{opacity:1;visibility:visible}.settings-modal.svelte-1uhipit{background:var(--bg-secondary);border-radius:20px;max-width:640px;width:100%;max-height:calc(90vh - 4rem);overflow:hidden;border:1px solid var(--border-medium);display:flex;flex-direction:column;flex-shrink:0}.modal-fixed-header.svelte-1uhipit{flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.modal-header.svelte-1uhipit{padding:1.5rem 2rem 1rem;display:flex;align-items:center;justify-content:space-between}.modal-title.svelte-1uhipit{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-close.svelte-1uhipit{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close.svelte-1uhipit:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-tabs.svelte-1uhipit{display:flex;gap:.25rem;padding:0 2rem 1rem}.settings-tab.svelte-1uhipit{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--text-muted);border-radius:8px;transition:all var(--transition-fast)}.settings-tab.svelte-1uhipit:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.settings-tab.active.svelte-1uhipit{background:var(--accent);color:var(--bg-primary)}.modal-body.svelte-1uhipit{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1}.settings-section.svelte-1uhipit{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.settings-section.svelte-1uhipit:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section-title.svelte-1uhipit{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}.theme-toggle.svelte-1uhipit{display:flex;gap:.5rem}.theme-btn.svelte-1uhipit{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border-medium);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast)}.theme-btn.svelte-1uhipit svg:where(.svelte-1uhipit){width:18px;height:18px}.theme-btn.svelte-1uhipit:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.theme-btn.active.svelte-1uhipit{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.settings-row.svelte-1uhipit{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}.settings-label.svelte-1uhipit{font-size:.9rem;color:var(--text-primary)}.settings-select.svelte-1uhipit{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:8px;padding:.5rem .75rem;color:var(--text-primary);font-size:.85rem;min-width:140px}.settings-select.svelte-1uhipit:focus{border-color:var(--accent)}.threshold-row.svelte-1uhipit{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.threshold-label.svelte-1uhipit{font-size:.85rem;color:var(--text-secondary)}.threshold-input.svelte-1uhipit{background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:6px;padding:.5rem .75rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.9rem;width:80px;text-align:center}.recalc-btn.svelte-1uhipit{padding:.5rem 1rem;background:var(--accent);color:var(--bg-primary);border:none;border-radius:6px;font-size:.8rem;font-weight:500;transition:all var(--transition-fast)}.recalc-btn.svelte-1uhipit:hover{background:#fbbf24}.zones-grid.svelte-1uhipit{display:flex;flex-direction:column;gap:.5rem}.zone-row.svelte-1uhipit{display:grid;grid-template-columns:60px 1fr 80px 80px;gap:.75rem;align-items:center}.zone-row.header.svelte-1uhipit{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding-bottom:.25rem}.zone-badge.svelte-1uhipit{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;padding:.3rem .5rem;border-radius:6px;text-align:center}.zone-badge.z1.svelte-1uhipit{background:#22c55e33;color:#22c55e}.zone-badge.z2.svelte-1uhipit{background:#3b82f633;color:#3b82f6}.zone-badge.z3.svelte-1uhipit{background:#eab30833;color:#eab308}.zone-badge.z4.svelte-1uhipit{background:#f9731633;color:#f97316}.zone-badge.z5.svelte-1uhipit{background:#ef444433;color:#ef4444}.zone-name.svelte-1uhipit{font-size:.85rem;color:var(--text-secondary)}.zone-input.svelte-1uhipit,.pace-input.svelte-1uhipit{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:6px;padding:.4rem .5rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.8rem;text-align:center;width:100%}.zone-input.svelte-1uhipit:focus,.pace-input.svelte-1uhipit:focus{border-color:var(--accent)}.help-details.svelte-1uhipit{margin-top:1rem;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.help-details.svelte-1uhipit summary:where(.svelte-1uhipit){padding:.75rem 1rem;font-size:.8rem;font-weight:500;color:var(--text-muted);cursor:pointer;background:var(--bg-tertiary);transition:all var(--transition-fast)}.help-details.svelte-1uhipit summary:where(.svelte-1uhipit):hover{color:var(--text-secondary)}.help-details[open].svelte-1uhipit summary:where(.svelte-1uhipit){border-bottom:1px solid var(--border-subtle)}.help-content.svelte-1uhipit{padding:1rem;font-size:.8rem;color:var(--text-secondary);line-height:1.6}.help-content.svelte-1uhipit ol:where(.svelte-1uhipit),.help-content.svelte-1uhipit ul:where(.svelte-1uhipit){margin:.5rem 0 .5rem 1.5rem}.help-content.svelte-1uhipit li:where(.svelte-1uhipit){margin-bottom:.25rem}.help-content.svelte-1uhipit p:where(.svelte-1uhipit){margin-bottom:.5rem}.help-content.svelte-1uhipit p:where(.svelte-1uhipit):last-child{margin-bottom:0}.help-note.svelte-1uhipit{font-style:italic;color:var(--text-muted)}.data-explainer.svelte-1uhipit{background:var(--bg-tertiary);border-radius:10px;padding:1rem 1.25rem;font-size:.85rem;line-height:1.6;color:var(--text-secondary)}.data-explainer.svelte-1uhipit p:where(.svelte-1uhipit){margin-bottom:.75rem}.data-explainer.svelte-1uhipit p:where(.svelte-1uhipit):last-child{margin-bottom:0}.data-action.svelte-1uhipit{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:10px;margin-bottom:.75rem}.data-action.svelte-1uhipit:last-of-type{margin-bottom:0}.data-action.danger.svelte-1uhipit{border:1px solid rgba(239,68,68,.3)}.data-action-info.svelte-1uhipit{display:flex;flex-direction:column;gap:.25rem}.data-action-title.svelte-1uhipit{font-size:.9rem;font-weight:500;color:var(--text-primary)}.data-action-desc.svelte-1uhipit{font-size:.8rem;color:var(--text-muted)}.data-btn.svelte-1uhipit{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--border-medium);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast);flex-shrink:0}.data-btn.svelte-1uhipit svg:where(.svelte-1uhipit){width:16px;height:16px}.data-btn.svelte-1uhipit:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.data-btn.export.svelte-1uhipit:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.data-btn.danger.svelte-1uhipit{border-color:#ef444480;color:#ef4444}.data-btn.danger.svelte-1uhipit:hover{background:#ef4444;border-color:#ef4444;color:#fff}.data-btn.help.svelte-1uhipit:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.import-status.svelte-1uhipit{margin-top:.75rem;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;text-align:center;background:var(--accent-glow);color:var(--accent)}.import-status.error.svelte-1uhipit{background:#ef44441a;color:#ef4444}.about-header.svelte-1uhipit{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.5rem}.about-title.svelte-1uhipit{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.about-version.svelte-1uhipit{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.2rem .5rem;border-radius:4px}.about-description.svelte-1uhipit{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.about-author.svelte-1uhipit{display:flex;flex-direction:column;gap:.25rem}.author-name.svelte-1uhipit{font-size:.95rem;font-weight:500;color:var(--text-primary)}.author-links.svelte-1uhipit{display:flex;align-items:center;gap:.5rem}.author-link.svelte-1uhipit{font-size:.85rem;color:var(--accent);text-decoration:none}.author-link.svelte-1uhipit:hover{text-decoration:underline}.author-separator.svelte-1uhipit{color:var(--text-muted)}.about-links.svelte-1uhipit{display:flex;flex-direction:column;gap:.5rem}.about-link.svelte-1uhipit{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);text-decoration:none;padding:.5rem 0;transition:color var(--transition-fast)}.about-link.svelte-1uhipit:hover{color:var(--accent)}.about-link.svelte-1uhipit svg:where(.svelte-1uhipit){width:18px;height:18px}.about-license.svelte-1uhipit{font-size:.85rem;color:var(--text-muted);margin:0}.modal-overlay.svelte-1jd9mi2{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:2rem;padding-top:5vh;opacity:0;visibility:hidden;transition:all var(--transition-normal);overflow-y:auto}.modal-overlay.active.svelte-1jd9mi2{opacity:1;visibility:visible}.import-help-modal.svelte-1jd9mi2{background:var(--bg-secondary);border-radius:20px;max-width:700px;width:100%;max-height:calc(90vh - 4rem);overflow:hidden;border:1px solid var(--border-medium);display:flex;flex-direction:column;flex-shrink:0}.modal-fixed-header.svelte-1jd9mi2{flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.modal-header.svelte-1jd9mi2{padding:1.5rem 2rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal-title.svelte-1jd9mi2{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-subtitle.svelte-1jd9mi2{font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.modal-close.svelte-1jd9mi2{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.modal-close.svelte-1jd9mi2:hover{background:var(--bg-tertiary);color:var(--text-primary)}.help-tabs.svelte-1jd9mi2{display:flex;gap:.25rem;padding:0 2rem 1rem;overflow-x:auto}.help-tab.svelte-1jd9mi2{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--text-muted);border-radius:8px;transition:all var(--transition-fast);white-space:nowrap}.help-tab.svelte-1jd9mi2:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.help-tab.active.svelte-1jd9mi2{background:var(--accent);color:var(--bg-primary)}.modal-body.svelte-1jd9mi2{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1}.help-section.svelte-1jd9mi2{display:flex;flex-direction:column;gap:1.5rem}.file-type-badge.svelte-1jd9mi2{display:inline-flex;align-items:center;padding:.4rem .8rem;background:var(--accent-glow);color:var(--accent);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;width:fit-content}.file-type-badge.small.svelte-1jd9mi2{padding:.25rem .5rem;font-size:.75rem}.help-intro.svelte-1jd9mi2{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0}.app-guide.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.app-name.svelte-1jd9mi2{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.app-logo.svelte-1jd9mi2{width:24px;height:24px;flex-shrink:0;color:var(--text-primary)}.app-logo.svelte-1jd9mi2 svg:where(.svelte-1jd9mi2){width:100%;height:100%}.app-logo.outlook-color.svelte-1jd9mi2{color:#0078d4}.app-logo.zwift-color.svelte-1jd9mi2{color:#fc6719}.app-logo.trainerroad-color.svelte-1jd9mi2{color:#e12726}.app-logo.rouvy-color.svelte-1jd9mi2{color:#00a8e8}.step-list.svelte-1jd9mi2{margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.8}.step-list.svelte-1jd9mi2 li:where(.svelte-1jd9mi2){margin-bottom:.5rem}.step-list.svelte-1jd9mi2 li:where(.svelte-1jd9mi2):last-child{margin-bottom:0}.step-list.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:var(--text-primary)}.step-list.svelte-1jd9mi2 a:where(.svelte-1jd9mi2){color:var(--accent);text-decoration:none}.step-list.svelte-1jd9mi2 a:where(.svelte-1jd9mi2):hover{text-decoration:underline}.path.svelte-1jd9mi2{background:var(--bg-primary);padding:.2rem .5rem;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--accent);display:inline-block;margin:.25rem 0;word-break:break-all}.tip.svelte-1jd9mi2{margin-top:1rem;padding:.75rem 1rem;background:var(--accent-glow);border-radius:8px;font-size:.85rem;color:var(--text-secondary);border-left:3px solid var(--accent)}.tip.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:var(--accent)}.note.svelte-1jd9mi2{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.warning-box.svelte-1jd9mi2{margin-top:1rem;padding:.75rem 1rem;background:#f973161a;border-radius:8px;font-size:.85rem;color:var(--text-secondary);border-left:3px solid #f97316}.warning-box.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:#f97316}.file-format-guide.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.format-title.svelte-1jd9mi2{display:flex;align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.file-format-guide.svelte-1jd9mi2 p:where(.svelte-1jd9mi2){color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 .75rem}.compatible-apps.svelte-1jd9mi2{display:flex;flex-wrap:wrap;gap:.5rem}.app-tag.svelte-1jd9mi2{padding:.3rem .6rem;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:4px;font-size:.75rem;color:var(--text-muted)}.general-tips.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.general-tips.svelte-1jd9mi2 h4:where(.svelte-1jd9mi2){font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.general-tips.svelte-1jd9mi2 ul:where(.svelte-1jd9mi2){margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.8}.general-tips.svelte-1jd9mi2 li:where(.svelte-1jd9mi2){margin-bottom:.25rem}@media(max-width:600px){.modal-overlay.svelte-1jd9mi2{padding:1rem;padding-top:2vh}.import-help-modal.svelte-1jd9mi2{max-height:calc(96vh - 2rem)}.modal-header.svelte-1jd9mi2{padding:1rem 1.25rem .75rem}.modal-title.svelte-1jd9mi2{font-size:1.2rem}.help-tabs.svelte-1jd9mi2{padding:0 1.25rem .75rem}.help-tab.svelte-1jd9mi2{padding:.4rem .75rem;font-size:.8rem}.modal-body.svelte-1jd9mi2{padding:1rem 1.25rem 1.5rem}.app-guide.svelte-1jd9mi2{padding:1rem}.path.svelte-1jd9mi2{font-size:.7rem}}.local-storage-banner.svelte-5d96j5{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-secondary);border-bottom:1px solid var(--border-medium);padding:.75rem 1rem;animation:svelte-5d96j5-slideDown .3s ease-out}@keyframes svelte-5d96j5-slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.banner-content.svelte-5d96j5{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.75rem}.banner-icon.svelte-5d96j5{flex-shrink:0;width:20px;height:20px;color:var(--accent)}.banner-icon.svelte-5d96j5 svg:where(.svelte-5d96j5){width:100%;height:100%}.banner-content.svelte-5d96j5 p:where(.svelte-5d96j5){flex:1;font-size:.9rem;color:var(--text-secondary);margin:0}.banner-link.svelte-5d96j5{background:none;border:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;padding:0}.banner-link.svelte-5d96j5:hover{color:var(--text-primary)}.banner-close.svelte-5d96j5{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.banner-close.svelte-5d96j5:hover{background:var(--bg-tertiary);color:var(--text-primary)}.banner-close.svelte-5d96j5 svg:where(.svelte-5d96j5){width:14px;height:14px}.main-content.svelte-5d96j5{flex:1;margin-left:var(--sidebar-width);padding:2rem}.mobile-header.svelte-5d96j5{display:none;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.menu-toggle.svelte-5d96j5{width:40px;height:40px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-medium);color:var(--text-primary);font-size:1.2rem}.mobile-title.svelte-5d96j5{font-size:1.1rem;font-weight:600}@media(max-width:700px){.main-content.svelte-5d96j5{margin-left:0;padding:1rem}.mobile-header.svelte-5d96j5{display:flex}}</style>
|
|
62
62
|
</head>
|
|
63
63
|
<body>
|