From 7d594d2632228fdc3aaf8772a08a3a87e4d662a9 Mon Sep 17 00:00:00 2001 From: Eli Date: Mon, 4 May 2026 16:21:38 -0400 Subject: [PATCH] make movement markers at least 12hrs in past --- frontend/src/App.svelte | 17 ++++++++++++++++- .../{index-Db_XzaZd.js => index-B9X0f-MM.js} | 4 ++-- site/index.html | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) rename site/assets/{index-Db_XzaZd.js => index-B9X0f-MM.js} (68%) diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index 99773f9..c815b4b 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -9,6 +9,8 @@ import Status from "./lib/Status.svelte"; const eventName = "event"; + // The minimum amount of seconds the previous leaderboard's comparison + const movementMarkerSecondsSince = 60 * 60 * 12; let dataFetched = $state(false); @@ -22,8 +24,21 @@ [currentLb, pastLb] = await Promise.all([ getLeaderboard(eventName, currentSnapshot), new Promise((resolve) => { + // If first snapshot, there's no snapshot to compare to if (currentSnapshot - 1 < 0) resolve(null); - getLeaderboard(eventName, currentSnapshot - 1).then(resolve); + // Get previous snapshot old enough to meet movementMarker requirement + let previousSnapshot = null; + for (let i = currentSnapshot - 1; i >= 0; i--) { + let snapshotTime = eventData.snapshot_times[i]; + let difference = Date.now() - new Date(snapshotTime).valueOf(); + if (difference >= movementMarkerSecondsSince * 1000) { + previousSnapshot = i; + break; + } + } + // Return null if none + if (!previousSnapshot) resolve(null); + getLeaderboard(eventName, previousSnapshot).then(resolve); }), ]); dataFetched = true; diff --git a/site/assets/index-Db_XzaZd.js b/site/assets/index-B9X0f-MM.js similarity index 68% rename from site/assets/index-Db_XzaZd.js rename to site/assets/index-B9X0f-MM.js index 97d2ae4..4a3ea3e 100644 --- a/site/assets/index-Db_XzaZd.js +++ b/site/assets/index-B9X0f-MM.js @@ -1,2 +1,2 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const jn=!1;var Ht=Array.isArray,qn=Array.prototype.indexOf,Le=Array.prototype.includes,at=Array.from,Bn=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Gn=Object.getOwnPropertyDescriptors,Hn=Object.prototype,Un=Array.prototype,Ut=Object.getPrototypeOf,kt=Object.isExtensible;const tt=()=>{};function Vn(e){for(var t=0;t{e=r,t=i});return{promise:n,resolve:e,reject:t}}function Yn(e,t){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const P=2,Ze=4,ft=8,Yt=1<<24,we=16,te=32,Ae=64,vt=128,K=512,R=1024,z=2048,ie=4096,H=8192,ee=16384,Ce=32768,Nt=1<<25,Te=65536,Ot=1<<17,Zn=1<<18,Be=1<<19,Kn=1<<20,re=1<<25,Me=65536,ht=1<<21,mt=1<<22,_e=1<<23,ut=Symbol("$state"),Wn=Symbol(""),ae=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Jn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Xn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Qn(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function $n(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function er(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function tr(e){throw new Error("https://svelte.dev/e/effect_orphan")}function nr(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function rr(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ir(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function sr(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function lr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const ar=1,fr=2,Zt=4,or=8,ur=16,cr=1,dr=2,I=Symbol(),Kt="http://www.w3.org/1999/xhtml";function vr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Wt(e){return e===this.v}function hr(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Jt(e){return!hr(e,this.v)}let _r=!1,U=null;function ze(e){U=e}function De(e,t=!1,n){U={p:U,i:!1,c:null,e:null,s:e,x:null,r:E,l:null}}function Fe(e){var t=U,n=t.e;if(n!==null){t.e=null;for(var r of n)pn(r)}return t.i=!0,U=t.p,{}}function Xt(){return!0}let Pe=[];function pr(){var e=Pe;Pe=[],Vn(e)}function xe(e){if(Pe.length===0){var t=Pe;queueMicrotask(()=>{t===Pe&&pr()})}Pe.push(e)}function Qt(e){var t=E;if(t===null)return b.f|=_e,e;if((t.f&Ce)===0&&(t.f&Ze)===0)throw e;ve(e,t)}function ve(e,t){for(;t!==null;){if((t.f&vt)!==0){if((t.f&Ce)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const gr=-7169;function O(e,t){e.f=e.f&gr|t}function wt(e){(e.f&K)!==0||e.deps===null?O(e,R):O(e,ie)}function $t(e){if(e!==null)for(const t of e)(t.f&P)===0||(t.f&Me)===0||(t.f^=Me,$t(t.deps))}function en(e,t,n){(e.f&z)!==0?t.add(e):(e.f&ie)!==0&&n.add(e),$t(e.deps),O(e,R)}const ce=new Set;let A=null,Q=null,_t=null,ct=!1,Ie=null,nt=null;var Rt=0;let mr=1;class me{id=mr++;current=new Map;previous=new Map;#t=new Set;#f=new Set;#e=new Map;#r=new Map;#i=null;#n=[];#s=new Set;#l=new Set;#a=new Map;is_fork=!1;#c=!1;#o=new Set;#d(){return this.is_fork||this.#r.size>0}#h(){for(const r of this.#o)for(const i of r.#r.keys()){for(var t=!1,n=i;n.parent!==null;){if(this.#a.has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1}skip_effect(t){this.#a.has(t)||this.#a.set(t,{d:[],m:[]})}unskip_effect(t){var n=this.#a.get(t);if(n){this.#a.delete(t);for(var r of n.d)O(r,z),this.schedule(r);for(r of n.m)O(r,ie),this.schedule(r)}}#v(){if(Rt++>1e3&&(ce.delete(this),wr()),!this.#d()){for(const f of this.#s)this.#l.delete(f),O(f,z),this.schedule(f);for(const f of this.#l)O(f,ie),this.schedule(f)}const t=this.#n;this.#n=[],this.apply();var n=Ie=[],r=[],i=nt=[];for(const f of t)try{this.#u(f,n,r)}catch(l){throw sn(f),l}if(A=null,i.length>0){var s=me.ensure();for(const f of i)s.schedule(f)}if(Ie=null,nt=null,this.#d()||this.#h()){this.#_(r),this.#_(n);for(const[f,l]of this.#a)rn(f,l)}else{this.#e.size===0&&ce.delete(this),this.#s.clear(),this.#l.clear();for(const f of this.#t)f(this);this.#t.clear(),Ct(r),Ct(n),this.#i?.resolve()}var a=A;if(this.#n.length>0){const f=a??=this;f.#n.push(...this.#n.filter(l=>!f.#n.includes(l)))}a!==null&&(ce.add(a),a.#v()),ce.has(this)||this.#m()}#u(t,n,r){t.f^=R;for(var i=t.first;i!==null;){var s=i.f,a=(s&(te|Ae))!==0,f=a&&(s&R)!==0,l=f||(s&H)!==0||this.#a.has(i);if(!l&&i.fn!==null){a?i.f^=R:(s&Ze)!==0?n.push(i):Xe(i)&&((s&we)!==0&&this.#l.add(i),qe(i));var o=i.first;if(o!==null){i=o;continue}}for(;i!==null;){var u=i.next;if(u!==null){i=u;break}i=i.parent}}}#_(t){for(var n=0;n!this.current.has(u));if(i.length===0)t&&o.discard();else if(n.length>0){o.activate();var s=new Set,a=new Map;for(var f of n)tn(f,i,s,a);if(o.#n.length>0){o.apply();for(var l of o.#n)o.#u(l,[],[]);o.#n=[]}o.deactivate()}}for(const o of ce)o.#o.has(this)&&(o.#o.delete(this),o.#o.size===0&&!o.#d()&&(o.activate(),o.#v()))}increment(t,n){let r=this.#e.get(n)??0;if(this.#e.set(n,r+1),t){let i=this.#r.get(n)??0;this.#r.set(n,i+1)}}decrement(t,n,r){let i=this.#e.get(n)??0;if(i===1?this.#e.delete(n):this.#e.set(n,i-1),t){let s=this.#r.get(n)??0;s===1?this.#r.delete(n):this.#r.set(n,s-1)}this.#c||r||(this.#c=!0,xe(()=>{this.#c=!1,this.flush()}))}transfer_effects(t,n){for(const r of t)this.#s.add(r);for(const r of n)this.#l.add(r);t.clear(),n.clear()}oncommit(t){this.#t.add(t)}ondiscard(t){this.#f.add(t)}settled(){return(this.#i??=Vt()).promise}static ensure(){if(A===null){const t=A=new me;ct||(ce.add(A),xe(()=>{A===t&&t.flush()}))}return A}apply(){{Q=null;return}}schedule(t){if(_t=t,t.b?.is_pending&&(t.f&(Ze|ft|Yt))!==0&&(t.f&Ce)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(Ie!==null&&n===E&&(b===null||(b.f&P)===0))return;if((r&(Ae|te))!==0){if((r&R)===0)return;n.f^=R}}this.#n.push(n)}}function wr(){try{nr()}catch(e){ve(e,_t)}}let le=null;function Ct(e){var t=e.length;if(t!==0){for(var n=0;n0)){pe.clear();for(const i of le){if((i.f&(ee|H))!==0)continue;const s=[i];let a=i.parent;for(;a!==null;)le.has(a)&&(le.delete(a),s.push(a)),a=a.parent;for(let f=s.length-1;f>=0;f--){const l=s[f];(l.f&(ee|H))===0&&qe(l)}}le.clear()}}le=null}}function tn(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const i of e.reactions){const s=i.f;(s&P)!==0?tn(i,t,n,r):(s&(mt|we))!==0&&(s&z)===0&&nn(i,t,r)&&(O(i,z),bt(i))}}function nn(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const i of e.deps){if(Le.call(t,i))return!0;if((i.f&P)!==0&&nn(i,t,n))return n.set(i,!0),!0}return n.set(e,!1),!1}function bt(e){A.schedule(e)}function rn(e,t){if(!((e.f&te)!==0&&(e.f&R)!==0)){(e.f&z)!==0?t.d.push(e):(e.f&ie)!==0&&t.m.push(e),O(e,R);for(var n=e.first;n!==null;)rn(n,t),n=n.next}}function sn(e){O(e,R);for(var t=e.first;t!==null;)sn(t),t=t.next}function br(e){let t=0,n=ke(0),r;return()=>{Et()&&(g(n),Gr(()=>(t===0&&(r=kn(()=>e(()=>Ye(n)))),t+=1,()=>{xe(()=>{t-=1,t===0&&(r?.(),r=void 0,Ye(n))})})))}}var yr=Te|Be;function xr(e,t,n,r){new Er(e,t,n,r)}class Er{parent;is_pending=!1;transform_error;#t;#f=null;#e;#r;#i;#n=null;#s=null;#l=null;#a=null;#c=0;#o=0;#d=!1;#h=new Set;#v=new Set;#u=null;#_=br(()=>(this.#u=ke(this.#c),()=>{this.#u=null}));constructor(t,n,r,i){this.#t=t,this.#e=n,this.#r=s=>{var a=E;a.b=this,a.f|=vt,r(s)},this.parent=E.b,this.transform_error=i??this.parent?.transform_error??(s=>s),this.#i=ot(()=>{this.#w()},yr)}#m(){try{this.#n=Y(()=>this.#r(this.#t))}catch(t){this.error(t)}}#y(t){const n=this.#e.failed;n&&(this.#l=Y(()=>{n(this.#t,()=>t,()=>()=>{})}))}#x(){const t=this.#e.pending;t&&(this.is_pending=!0,this.#s=Y(()=>t(this.#t)),xe(()=>{var n=this.#a=document.createDocumentFragment(),r=oe();n.append(r),this.#n=this.#g(()=>Y(()=>this.#r(r))),this.#o===0&&(this.#t.before(n),this.#a=null,Ee(this.#s,()=>{this.#s=null}),this.#p(A))}))}#w(){try{if(this.is_pending=this.has_pending_snippet(),this.#o=0,this.#c=0,this.#n=Y(()=>{this.#r(this.#t)}),this.#o>0){var t=this.#a=document.createDocumentFragment();Tt(this.#n,t);const n=this.#e.pending;this.#s=Y(()=>n(this.#t))}else this.#p(A)}catch(n){this.error(n)}}#p(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#v)}defer_effect(t){en(t,this.#h,this.#v)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#e.pending}#g(t){var n=E,r=b,i=U;se(this.#i),J(this.#i),ze(this.#i.ctx);try{return me.ensure(),t()}catch(s){return Qt(s),null}finally{se(n),J(r),ze(i)}}#b(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#b(t,n);return}this.#o+=t,this.#o===0&&(this.#p(n),this.#s&&Ee(this.#s,()=>{this.#s=null}),this.#a&&(this.#t.before(this.#a),this.#a=null))}update_pending_count(t,n){this.#b(t,n),this.#c+=t,!(!this.#u||this.#d)&&(this.#d=!0,xe(()=>{this.#d=!1,this.#u&&je(this.#u,this.#c)}))}get_effect_pending(){return this.#_(),g(this.#u)}error(t){var n=this.#e.onerror;let r=this.#e.failed;if(!n&&!r)throw t;this.#n&&(q(this.#n),this.#n=null),this.#s&&(q(this.#s),this.#s=null),this.#l&&(q(this.#l),this.#l=null);var i=!1,s=!1;const a=()=>{if(i){vr();return}i=!0,s&&lr(),this.#l!==null&&Ee(this.#l,()=>{this.#l=null}),this.#g(()=>{this.#w()})},f=l=>{try{s=!0,n?.(l,a),s=!1}catch(o){ve(o,this.#i&&this.#i.parent)}r&&(this.#l=this.#g(()=>{try{return Y(()=>{var o=E;o.b=this,o.f|=vt,r(this.#t,()=>l,()=>a)})}catch(o){return ve(o,this.#i.parent),null}}))};xe(()=>{var l;try{l=this.transform_error(t)}catch(o){ve(o,this.#i&&this.#i.parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(f,o=>ve(o,this.#i&&this.#i.parent)):f(l)})}}function Sr(e,t,n,r){const i=yt;var s=e.filter(c=>!c.settled);if(n.length===0&&s.length===0){r(t.map(i));return}var a=E,f=Ar(),l=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(c=>c.promise)):null;function o(c){f();try{r(c)}catch(h){(a.f&ee)===0&&ve(h,a)}st()}if(n.length===0){l.then(()=>o(t.map(i)));return}var u=ln();function v(){Promise.all(n.map(c=>Tr(c))).then(c=>o([...t.map(i),...c])).catch(c=>ve(c,a)).finally(()=>u())}l?l.then(()=>{f(),v(),st()}):v()}function Ar(){var e=E,t=b,n=U,r=A;return function(s=!0){se(e),J(t),ze(n),s&&(e.f&ee)===0&&(r?.activate(),r?.apply())}}function st(e=!0){se(null),J(null),ze(null),e&&A?.deactivate()}function ln(){var e=E,t=e.b,n=A,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(i=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,i)}}function yt(e){var t=P|z,n=b!==null&&(b.f&P)!==0?b:null;return E!==null&&(E.f|=Be),{ctx:U,deps:null,effects:null,equals:Wt,f:t,fn:e,reactions:null,rv:0,v:I,wv:0,parent:n??E,ac:null}}function Tr(e,t,n){let r=E;r===null&&Xn();var i=void 0,s=ke(I),a=!b,f=new Map;return Br(()=>{var l=E,o=Vt();i=o.promise;try{Promise.resolve(e()).then(o.resolve,o.reject).finally(st)}catch(h){o.reject(h),st()}var u=A;if(a){if((l.f&Ce)!==0)var v=ln();if(r.b.is_rendered())f.get(u)?.reject(ae),f.delete(u);else{for(const h of f.values())h.reject(ae);f.clear()}f.set(u,o)}const c=(h,_=void 0)=>{if(v){var w=_===ae;v(w)}if(!(_===ae||(l.f&ee)!==0)){if(u.activate(),_)s.f|=_e,je(s,_);else{(s.f&_e)!==0&&(s.f^=_e),je(s,h);for(const[d,p]of f){if(f.delete(d),d===u)break;p.reject(ae)}}u.deactivate()}};o.promise.then(c,h=>c(null,h||"unknown"))}),zr(()=>{for(const l of f.values())l.reject(ae)}),new Promise(l=>{function o(u){function v(){u===i?l(s):o(i)}u.then(v,v)}o(i)})}function L(e){const t=yt(e);return yn(t),t}function Mr(e){const t=yt(e);return t.equals=Jt,t}function kr(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n0&&!on&&Cr()}return t}function Cr(){on=!1;for(const e of pt)(e.f&R)!==0&&O(e,ie),Xe(e)&&qe(e);pt.clear()}function Ye(e){Z(e,e.v+1)}function un(e,t,n){var r=e.reactions;if(r!==null)for(var i=r.length,s=0;s{if(Se===s)return f();var l=b,o=Se;J(null),Pt(s);var u=f();return J(l),Pt(o),u};return r&&n.set("length",G(e.length)),new Proxy(e,{defineProperty(f,l,o){(!("value"in o)||o.configurable===!1||o.enumerable===!1||o.writable===!1)&&rr();var u=n.get(l);return u===void 0?a(()=>{var v=G(o.value);return n.set(l,v),v}):Z(u,o.value,!0),!0},deleteProperty(f,l){var o=n.get(l);if(o===void 0){if(l in f){const u=a(()=>G(I));n.set(l,u),Ye(i)}}else Z(o,I),Ye(i);return!0},get(f,l,o){if(l===ut)return e;var u=n.get(l),v=l in f;if(u===void 0&&(!v||Ve(f,l)?.writable)&&(u=a(()=>{var h=He(v?f[l]:I),_=G(h);return _}),n.set(l,u)),u!==void 0){var c=g(u);return c===I?void 0:c}return Reflect.get(f,l,o)},getOwnPropertyDescriptor(f,l){var o=Reflect.getOwnPropertyDescriptor(f,l);if(o&&"value"in o){var u=n.get(l);u&&(o.value=g(u))}else if(o===void 0){var v=n.get(l),c=v?.v;if(v!==void 0&&c!==I)return{enumerable:!0,configurable:!0,value:c,writable:!0}}return o},has(f,l){if(l===ut)return!0;var o=n.get(l),u=o!==void 0&&o.v!==I||Reflect.has(f,l);if(o!==void 0||E!==null&&(!u||Ve(f,l)?.writable)){o===void 0&&(o=a(()=>{var c=u?He(f[l]):I,h=G(c);return h}),n.set(l,o));var v=g(o);if(v===I)return!1}return u},set(f,l,o,u){var v=n.get(l),c=l in f;if(r&&l==="length")for(var h=o;hG(I)),n.set(h+"",_))}if(v===void 0)(!c||Ve(f,l)?.writable)&&(v=a(()=>G(void 0)),Z(v,He(o)),n.set(l,v));else{c=v.v!==I;var w=a(()=>He(o));Z(v,w)}var d=Reflect.getOwnPropertyDescriptor(f,l);if(d?.set&&d.set.call(u,o),!c){if(r&&typeof l=="string"){var p=n.get("length"),y=Number(l);Number.isInteger(y)&&y>=p.v&&Z(p,y+1)}Ye(i)}return!0},ownKeys(f){g(i);var l=Reflect.ownKeys(f).filter(v=>{var c=n.get(v);return c===void 0||c.v!==I});for(var[o,u]of n)u.v!==I&&!(o in f)&&l.push(o);return l},setPrototypeOf(){ir()}})}var Dt,cn,dn,vn;function Dr(){if(Dt===void 0){Dt=window,cn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;dn=Ve(t,"firstChild").get,vn=Ve(t,"nextSibling").get,kt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),kt(n)&&(n.__t=void 0)}}function oe(e=""){return document.createTextNode(e)}function he(e){return dn.call(e)}function Je(e){return vn.call(e)}function T(e,t){return he(e)}function Ne(e,t=!1){{var n=he(e);return n instanceof Comment&&n.data===""?Je(n):n}}function N(e,t=1,n=!1){let r=e;for(;t--;)r=Je(r);return r}function Fr(e){e.textContent=""}function hn(){return!1}function Pr(e,t,n){return document.createElementNS(Kt,e,void 0)}function _n(e){var t=b,n=E;J(null),se(null);try{return e()}finally{J(t),se(n)}}function Ir(e){E===null&&(b===null&&tr(),er()),Oe&&$n()}function Lr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function be(e,t){var n=E;n!==null&&(n.f&H)!==0&&(e|=H);var r={ctx:U,deps:null,nodes:null,f:e|z|K,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},i=r;if((e&Ze)!==0)Ie!==null?Ie.push(r):me.ensure().schedule(r);else if(t!==null){try{qe(r)}catch(a){throw q(r),a}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Be)===0&&(i=i.first,(e&we)!==0&&(e&Te)!==0&&i!==null&&(i.f|=Te))}if(i!==null&&(i.parent=n,n!==null&&Lr(i,n),b!==null&&(b.f&P)!==0&&(e&Ae)===0)){var s=b;(s.effects??=[]).push(i)}return r}function Et(){return b!==null&&!$}function zr(e){const t=be(ft,null);return O(t,R),t.teardown=e,t}function jr(e){Ir();var t=E.f,n=!b&&(t&te)!==0&&(t&Ce)===0;if(n){var r=U;(r.e??=[]).push(e)}else return pn(e)}function pn(e){return be(Ze|Kn,e)}function qr(e){me.ensure();const t=be(Ae|Be,e);return(n={})=>new Promise(r=>{n.outro?Ee(t,()=>{q(t),r(void 0)}):(q(t),r(void 0))})}function Br(e){return be(mt|Be,e)}function Gr(e,t=0){return be(ft|t,e)}function ge(e,t=[],n=[],r=[]){Sr(r,t,n,i=>{be(ft,()=>e(...i.map(g)))})}function ot(e,t=0){var n=be(we|t,e);return n}function Y(e){return be(te|Be,e)}function gn(e){var t=e.teardown;if(t!==null){const n=Oe,r=b;Ft(!0),J(null);try{t.call(null)}finally{Ft(n),J(r)}}}function St(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&_n(()=>{i.abort(ae)});var r=n.next;(n.f&Ae)!==0?n.parent=null:q(n,t),n=r}}function Hr(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&te)===0&&q(t),t=n}}function q(e,t=!0){var n=!1;(t||(e.f&Zn)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Ur(e.nodes.start,e.nodes.end),n=!0),O(e,Nt),St(e,t&&!n),Ke(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const s of r)s.stop();gn(e),e.f^=Nt,e.f|=ee;var i=e.parent;i!==null&&i.first!==null&&mn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Ur(e,t){for(;e!==null;){var n=e===t?null:Je(e);e.remove(),e=n}}function mn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Ee(e,t,n=!0){var r=[];wn(e,r,!0);var i=()=>{n&&q(e),t&&t()},s=r.length;if(s>0){var a=()=>--s||i();for(var f of r)f.out(a)}else i()}function wn(e,t,n){if((e.f&H)===0){e.f^=H;var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)(f.is_global||n)&&t.push(f);for(var i=e.first;i!==null;){var s=i.next,a=(i.f&Te)!==0||(i.f&te)!==0&&(e.f&we)!==0;wn(i,t,a?n:!1),i=s}}}function At(e){bn(e,!0)}function bn(e,t){if((e.f&H)!==0){e.f^=H,(e.f&R)===0&&(O(e,z),me.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&Te)!==0||(n.f&te)!==0;bn(n,i?t:!1),n=r}var s=e.nodes&&e.nodes.t;if(s!==null)for(const a of s)(a.is_global||t)&&a.in()}}function Tt(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Je(n);t.append(n),n=i}}let rt=!1,Oe=!1;function Ft(e){Oe=e}let b=null,$=!1;function J(e){b=e}let E=null;function se(e){E=e}let W=null;function yn(e){b!==null&&(W===null?W=[e]:W.push(e))}let j=null,B=0,V=null;function Vr(e){V=e}let xn=1,ye=0,Se=ye;function Pt(e){Se=e}function En(){return++xn}function Xe(e){var t=e.f;if((t&z)!==0)return!0;if(t&P&&(e.f&=~Me),(t&ie)!==0){for(var n=e.deps,r=n.length,i=0;ie.wv)return!0}(t&K)!==0&&Q===null&&O(e,R)}return!1}function Sn(e,t,n=!0){var r=e.reactions;if(r!==null&&!(W!==null&&Le.call(W,e)))for(var i=0;i{e.ac.abort(ae)}),e.ac=null);try{e.f|=ht;var u=e.fn,v=u();e.f|=Ce;var c=e.deps,h=A?.is_fork;if(j!==null){var _;if(h||Ke(e,B),c!==null&&B>0)for(c.length=B+j.length,_=0;_{throw d});throw c}}finally{e[Qe]=t,delete e.currentTarget,J(u),se(v)}}}const Jr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Xr(e){return Jr?.createHTML(e)??e}function Nn(e){var t=Pr("template");return t.innerHTML=Xr(e.replaceAll("","")),t.content}function We(e,t){var n=E;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function ne(e,t){var n=(t&cr)!==0,r=(t&dr)!==0,i,s=!e.startsWith("");return()=>{i===void 0&&(i=Nn(s?e:""+e),n||(i=he(i)));var a=r||cn?document.importNode(i,!0):i.cloneNode(!0);if(n){var f=he(a),l=a.lastChild;We(f,l)}else We(a,a);return a}}function Qr(e,t,n="svg"){var r=!e.startsWith(""),i=`<${n}>${r?e:""+e}`,s;return()=>{if(!s){var a=Nn(i),f=he(a);for(s=document.createDocumentFragment();he(f);)s.appendChild(he(f))}var l=s.cloneNode(!0);{var o=he(l),u=l.lastChild;We(o,u)}return l}}function $r(e,t){return Qr(e,t,"svg")}function it(e=""){{var t=oe(e+"");return We(t,t),t}}function Mt(){var e=document.createDocumentFragment(),t=document.createComment(""),n=oe();return e.append(t,n),We(t,n),e}function C(e,t){e!==null&&e.before(t)}function fe(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function ei(e,t){return ti(e,t)}const $e=new Map;function ti(e,{target:t,anchor:n,props:r={},events:i,context:s,intro:a=!0,transformError:f}){Dr();var l=void 0,o=qr(()=>{var u=n??t.appendChild(oe());xr(u,{pending:()=>{}},h=>{De({});var _=U;s&&(_.c=s),i&&(r.$$events=i),l=e(h,r)||{},Fe()},f);var v=new Set,c=h=>{for(var _=0;_{for(var h of v)for(const d of[t,document]){var _=$e.get(d),w=_.get(h);--w==0?(d.removeEventListener(h,zt),_.delete(h),_.size===0&&$e.delete(d)):_.set(h,w)}It.delete(c),u!==n&&u.parentNode?.removeChild(u)}});return ni.set(l,o),l}let ni=new WeakMap;class On{anchor;#t=new Map;#f=new Map;#e=new Map;#r=new Set;#i=!0;constructor(t,n=!0){this.anchor=t,this.#i=n}#n=t=>{if(this.#t.has(t)){var n=this.#t.get(t),r=this.#f.get(n);if(r)At(r),this.#r.delete(n);else{var i=this.#e.get(n);i&&(this.#f.set(n,i.effect),this.#e.delete(n),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),r=i.effect)}for(const[s,a]of this.#t){if(this.#t.delete(s),s===t)break;const f=this.#e.get(a);f&&(q(f.effect),this.#e.delete(a))}for(const[s,a]of this.#f){if(s===n||this.#r.has(s))continue;const f=()=>{if(Array.from(this.#t.values()).includes(s)){var o=document.createDocumentFragment();Tt(a,o),o.append(oe()),this.#e.set(s,{effect:a,fragment:o})}else q(a);this.#r.delete(s),this.#f.delete(s)};this.#i||!r?(this.#r.add(s),Ee(a,f,!1)):f()}}};#s=t=>{this.#t.delete(t);const n=Array.from(this.#t.values());for(const[r,i]of this.#e)n.includes(r)||(q(i.effect),this.#e.delete(r))};ensure(t,n){var r=A,i=hn();if(n&&!this.#f.has(t)&&!this.#e.has(t))if(i){var s=document.createDocumentFragment(),a=oe();s.append(a),this.#e.set(t,{effect:Y(()=>n(a)),fragment:s})}else this.#f.set(t,Y(()=>n(this.anchor)));if(this.#t.set(r,t),i){for(const[f,l]of this.#f)f===t?r.unskip_effect(l):r.skip_effect(l);for(const[f,l]of this.#e)f===t?r.unskip_effect(l.effect):r.skip_effect(l.effect);r.oncommit(this.#n),r.ondiscard(this.#s)}else this.#n(r)}}function Re(e,t,n=!1){var r=new On(e),i=n?Te:0;function s(a,f){r.ensure(a,f)}ot(()=>{var a=!1;t((f,l=0)=>{a=!0,s(l,f)}),a||s(-1,null)},i)}function Rn(e,t){return t}function ri(e,t,n){for(var r=[],i=t.length,s,a=t.length,f=0;f{if(s){if(s.pending.delete(v),s.done.add(v),s.pending.size===0){var c=e.outrogroups;gt(e,at(s.done)),c.delete(s),c.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var l=r.length===0&&n!==null;if(l){var o=n,u=o.parentNode;Fr(u),u.append(o),e.items.clear()}gt(e,t,!l)}else s={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(s)}function gt(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const a of e.pending.values())for(const f of a)r.add(e.items.get(f).e)}for(var i=0;i{var m=n();return Ht(m)?m:m==null?[]:at(m)}),c,h=new Map,_=!0;function w(m){(y.effect.f&ee)===0&&(y.pending.delete(m),y.fallback=u,ii(y,c,a,t,r),u!==null&&(c.length===0?(u.f&re)===0?At(u):(u.f^=re,Ue(u,null,a)):Ee(u,()=>{u=null})))}function d(m){y.pending.delete(m)}var p=ot(()=>{c=g(v);for(var m=c.length,x=new Set,D=A,S=hn(),M=0;Ms(a)):(u=Y(()=>s(jt??=oe())),u.f|=re)),m>x.size&&Qn(),!_)if(h.set(D,x),S){for(const[Ln,zn]of f)x.has(Ln)||D.skip_effect(zn.e);D.oncommit(w),D.ondiscard(d)}else w(D);g(v)}),y={effect:p,items:f,pending:h,outrogroups:null,fallback:u};_=!1}function Ge(e){for(;e!==null&&(e.f&te)===0;)e=e.next;return e}function ii(e,t,n,r,i){var s=(r&or)!==0,a=t.length,f=e.items,l=Ge(e.effect.first),o,u=null,v,c=[],h=[],_,w,d,p;if(s)for(p=0;p0){var ue=(r&Zt)!==0&&a===0?n:null;if(s){for(p=0;p{if(v!==void 0)for(d of v)d.nodes?.a?.apply()})}function si(e,t,n,r,i,s,a,f){var l=(a&ar)!==0?(a&ur)===0?Rr(n,!1,!1):ke(n):null,o=(a&fr)!==0?ke(i):null;return{v:l,i:o,e:Y(()=>(s(t,l??n,o??i,f),()=>{e.delete(r)}))}}function Ue(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,s=t&&(t.f&re)===0?t.nodes.start:n;r!==null;){var a=Je(r);if(s.before(r),r===i)return;r=a}}function de(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function li(e,t,...n){var r=new On(e);ot(()=>{const i=t()??null;r.ensure(i,i&&(s=>i(s,...n)))},Te)}const qt=[...` -\r\f \v\uFEFF`];function ai(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+" "+i:i;else if(r.length)for(var s=i.length,a=0;(a=r.indexOf(i,a))>=0;){var f=a+s;(a===0||qt.includes(r[a-1]))&&(f===r.length||qt.includes(r[f]))?r=(a===0?"":r.substring(0,a))+r.substring(f+1):a=f}}return r===""?null:r}function fi(e,t){return e==null?null:String(e)}function lt(e,t,n,r,i,s){var a=e.__className;if(a!==n||a===void 0){var f=ai(n,r,s);f==null?e.removeAttribute("class"):t?e.className=f:e.setAttribute("class",f),e.__className=n}else if(s&&i!==s)for(var l in s){var o=!!s[l];(i==null||o!==!!i[l])&&e.classList.toggle(l,o)}return s}function dt(e,t,n,r){var i=e.__style;if(i!==t){var s=fi(t);s==null?e.removeAttribute("style"):e.style.cssText=s,e.__style=t}return r}const oi=Symbol("is custom element"),ui=Symbol("is html");function k(e,t,n,r){var i=ci(e);i[t]!==(i[t]=n)&&(t==="loading"&&(e[Wn]=n),n==null?e.removeAttribute(t):typeof n!="string"&&di(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ci(e){return e.__attributes??={[oi]:e.nodeName.includes("-"),[ui]:e.namespaceURI===Kt}}var Bt=new Map;function di(e){var t=e.getAttribute("is")||e.nodeName,n=Bt.get(t);if(n)return n;Bt.set(t,n=[]);for(var r,i=e,s=Element.prototype;s!==i;){r=Gn(i);for(var a in r)r[a].set&&n.push(a);i=Ut(i)}return n}function vi(e,t,n,r){var i=r,s=!0,a=()=>(s&&(s=!1,i=r),i),f;f=e[t],f===void 0&&r!==void 0&&(f=a());var l;return l=()=>{var o=e[t];return o===void 0?a():(s=!0,o)},l}function Dn(e){U===null&&Jn(),jr(()=>{const t=kn(e);if(typeof t=="function")return t})}const hi="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(hi);const _i="/pprace/assets/pepeMeltdown-fBHTAGCg.avif",pi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='300'%20height='300'%20viewBox='0%200%203%203'%20%3e%3crect%20x='0'%20y='0'%20height='1'%20width='1'%20fill='%23fff'%20/%3e%3crect%20x='2'%20y='0'%20height='1'%20width='1'%20fill='%23fff'%20/%3e%3crect%20x='1'%20y='1'%20height='1'%20width='1'%20fill='%23bb3874'%20/%3e%3crect%20x='0'%20y='2'%20height='1'%20width='1'%20fill='%23fff'%20/%3e%3crect%20x='2'%20y='2'%20height='1'%20width='1'%20fill='%23fff'%20/%3e%3c/svg%3e",Fn="https://kv.clxxiii.dev",Pn="public:pprace",gi=async e=>{const t=`${Fn}/GET/${Pn}:${e}:config`,r=await(await fetch(t)).json();return JSON.parse(r.GET)},Gt=async(e,t)=>{const n=`${Fn}/ZRANGE/${Pn}:${e}:snapshot:${t}/0/-1/WITHSCORES`,i=await(await fetch(n)).json(),s=[];for(let a=i.ZRANGE.length-1;a>=0;a=a-2){const f=parseInt(i.ZRANGE[a-1]),l=parseFloat(i.ZRANGE[a]);s.push({user_id:f,score:l})}return s};var mi=ne('
');function In(e,t){let n=vi(t,"title",3,"title");var r=mi(),i=T(r),s=T(i),a=N(i,2);li(a,()=>t.children),ge(()=>{lt(r,1,`border-zinc-500 border-[1.5px] overflow-hidden rounded-lg ${(t.class?t.class:"")??""}`),fe(s,`⁙ ${n()??""}`)}),C(e,r)}var wi=$r('',1);function bi(e,t){De(t,!0);const n=20,r=2.5;let i=L(()=>t.path.points.length-1),s=L(()=>t.path.points[g(i)]),a=L(()=>`M ${n/2} ${t.height-n/2} ${t.path.points.map(_=>[_[0]+n/2,_[1]-n/2]).map(_=>_.join(" ")).join(" L ")}`);var f=wi(),l=Ne(f);k(l,"stroke-width",1.5);let o;var u=N(l),v=T(u);k(v,"r",n/2);var c=N(u);k(c,"r",n/2+r);var h=N(c);k(h,"width",n),k(h,"height",n),ge(()=>{k(l,"d",g(a)),o=lt(l,0,"",null,o,{"stroke-amber-400":t.place==1,"stroke-gray-400":t.place==2,"stroke-orange-800":t.place==3,"stroke-zinc-600":t.place>3}),k(u,"id",`circle-${t.path.user.id??""}-clip`),k(v,"cx",g(s)[0]+n/2),k(v,"cy",g(s)[1]-n/2),k(c,"cx",g(s)[0]+n/2),k(c,"cy",g(s)[1]-n/2),k(h,"href",t.path.user.avatar_url),k(h,"x",g(s)[0]),k(h,"y",g(s)[1]-n),k(h,"clip-path",`url(#circle-${t.path.user.id??""}-clip`)}),C(e,f),Fe()}const yi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='3'%20height='2'%20viewBox='0%200%203%202'%3e%3crect%20x='0'%20y='0'%20height='1'%20width='1'%20fill='%23dadada'%20/%3e%3crect%20x='2'%20y='0'%20height='1'%20width='1'%20fill='%23dadada'%20/%3e%3crect%20x='1'%20y='1'%20height='1'%20width='1'%20fill='%23dadada'%20/%3e%3c/svg%3e";var xi=ne('
'),Ei=ne('
'),Si=ne('
');function Ai(e,t){De(t,!0);const n=300,r=900,i=30,s=L(()=>{if(!t.event)return[];const l=t.event.snapshot_times[t.event.snapshot_times.length-1],o=[...t.event.snapshot_times];t.event.end_date&&o.push(t.event.end_date);const u=o.map(m=>new Date(m).valueOf()),v=Math.min(...u),c=u.map(m=>m-v),h=[Math.min(...c),Math.max(...c)];console.log(h),h[1]==0&&(h[1]=1);const _=t.event.users.flatMap(m=>m.pp_history),w=(u[u.length-1]-u[0])/(new Date(l).valueOf()-u[0])*Math.max(..._),d=[Math.min(..._),w+i];isNaN(d[1])&&(d[1]=i);const p=[...t.event.users];p.sort((m,x)=>m.pp_history[x.pp_history.length-1]-x.pp_history[m.pp_history.length-1]);const y=[];for(let m=0;m{var u=Ei();dt(u,"--ar: 3");var v=T(u);{var c=d=>{var p=xi();ge(()=>dt(p,`background-image: url(${`"${yi}"`}); background-size: contain;`)),C(d,p)};Re(v,d=>{t.event&&t.event.end_date&&d(c)})}var h=N(v,2);k(h,"viewBox",`${[8,0,r,n]}`);var _=T(h);{var w=d=>{var p=Mt(),y=Ne(p);Cn(y,17,()=>g(s),Rn,(m,x,D)=>{{let S=L(()=>t.event.users.length-D);bi(m,{get path(){return g(x)},height:n,width:r,get place(){return g(S)}})}}),C(d,p)};Re(_,d=>{g(s)&&d(w)})}C(l,u)},$$slots:{default:!0}}),C(e,a),Fe()}var Ti=ne('
');function Mi(e,t){De(t,!0);let n=L(()=>t.pastplace-t.place+1);var r=Ti(),i=T(r),s=T(i);let a;var f=T(s),l=N(s,2);let o;var u=T(l);{var v=S=>{var M=it();ge(()=>fe(M,`↑${g(n)??""}`)),C(S,M)},c=S=>{var M=it();ge(X=>fe(M,`↓${X??""}`),[()=>Math.abs(g(n))]),C(S,M)},h=S=>{var M=it("-");C(S,M)};Re(u,S=>{g(n)>0?S(v):g(n)<0?S(c,1):S(h,-1)})}var _=N(l,2),w=T(_),d=N(w,2),p=T(d),y=N(d,2),m=T(y),x=N(i),D=T(x);ge(S=>{a=lt(s,1,"text-zinc-800 w-6 grid justify-center items-center rounded-full place-self-center text-xs font-bold",null,a,{"bg-amber-400":t.place==1,"bg-gray-400":t.place==2,"bg-orange-800":t.place==3,"bg-zinc-600":t.place>3,"h-4":t.place>3,"h-6":t.place<=3}),fe(f,t.place),o=lt(l,1,"grid place-self-center w-5 text-sm font-light",null,o,{"text-green-600":g(n)>0,"text-red-600":g(n)<0}),k(w,"src",t.user.avatar_url),k(w,"alt",`${t.user.username??""}'s avatar`),fe(p,t.user.username),fe(m,`@ ${t.user.initial_pp??""}pp`),fe(D,`+${S??""}pp`)},[()=>t.score.toFixed(2)]),C(e,r),Fe()}var ki=ne('
');function Ni(e,t){De(t,!0);let n=L(()=>{let i={};return t.event.users.forEach(s=>{i[s.id]=s}),i});t.past||t.current.sort((i,s)=>g(n)[i.user_id].initial_rank-g(n)[s.user_id].initial_rank);let r=L(()=>t.past?.map(i=>i.user_id));In(e,{title:"leaderboard",children:(i,s)=>{var a=ki(),f=T(a);Cn(f,21,()=>t.current,Rn,(l,o,u)=>{{let v=L(()=>g(r)?.indexOf(g(o).user_id));Mi(l,{get user(){return g(n)[g(o).user_id]},get score(){return g(o).score},place:u+1,get pastplace(){return g(v)}})}}),C(i,a)},$$slots:{default:!0}}),Fe()}const et=(e,t=tt,n=tt,r=tt)=>{var i=Mt(),s=Ne(i);{var a=f=>{var l=Oi(),o=T(l),u=T(o),v=N(o,2),c=T(v);ge(()=>{fe(u,n()),fe(c,t())}),C(f,l)};Re(s,f=>{r()>0&&f(a)})}C(e,i)};var Oi=ne('
'),Ri=ne('
Time Remaining
',1),Ci=ne('
The race is on!
');function Di(e,t){De(t,!0);let n=G(null);Dn(()=>{let l=setInterval(()=>{t.event?.end_date&&Z(n,new Date(t.event.end_date).valueOf()-Date.now())},12);return()=>clearInterval(l)});var r=Mt(),i=Ne(r);{var s=l=>{},a=L(()=>t.event.end_date&&new Date(t.event.end_date).valueOf(){var o=Ci(),u=N(T(o),2);{var v=c=>{var h=Ri(),_=Ne(h),w=T(_);{let m=L(()=>Math.floor(g(n)/1e3/60/60/24)),x=L(()=>Math.floor(g(n)/1e3/60/60/24));et(w,()=>"days",()=>g(m),()=>g(x))}var d=N(w,2);{let m=L(()=>Math.floor(g(n)/1e3/60/60%24)),x=L(()=>Math.floor(g(n)/1e3/60/60));et(d,()=>"hours",()=>g(m),()=>g(x))}var p=N(d,2);{let m=L(()=>Math.floor(g(n)/1e3/60%60)),x=L(()=>Math.floor(g(n)/1e3/60/60));et(p,()=>"minutes",()=>g(m),()=>g(x))}var y=N(p,2);{let m=L(()=>Number.parseFloat(g(n)/1e3%60).toFixed(2));et(y,()=>"seconds",()=>g(m),()=>g(n))}C(c,h)};Re(u,c=>{g(n)&&c(v)})}C(l,o)};Re(i,l=>{g(a)?l(s):l(f,-1)})}C(e,r),Fe()}var Fi=ne(" ",1),Pi=ne('
pprace icon pprace
',1);function Ii(e,t){De(t,!0);const n="event";let r=G(!1),i=G(null),s=G(null),a=G(null);Dn(async()=>{Z(i,await gi(n),!0);const p=g(i).snapshot_times.length-1;await(async y=>{var m=Yn(y,2);Z(s,m[0],!0),Z(a,m[1],!0)})(await Promise.all([Gt(n,p),new Promise(y=>{p-1<0&&y(null),Gt(n,p-1).then(y)})])),Z(r,!0)});var f=Pi(),l=Ne(f),o=T(l),u=T(o),v=N(l,2),c=T(v);{var h=p=>{var y=Fi(),m=Ne(y);Di(m,{get event(){return g(i)}});var x=N(m,2);Ai(x,{get event(){return g(i)}});var D=N(x,2);Ni(D,{get event(){return g(i)},get current(){return g(s)},get past(){return g(a)}}),C(p,y)},_=p=>{var y=it("Loading...");C(p,y)};Re(c,p=>{g(r)?p(h):p(_,-1)})}var w=N(v,2),d=N(T(w),2);ge(()=>{k(u,"src",pi),k(d,"src",_i)}),C(e,f),Fe()}ei(Ii,{target:document.getElementById("app")}); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const jn=!1;var Ht=Array.isArray,qn=Array.prototype.indexOf,Le=Array.prototype.includes,at=Array.from,Bn=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Gn=Object.getOwnPropertyDescriptors,Hn=Object.prototype,Un=Array.prototype,Ut=Object.getPrototypeOf,Mt=Object.isExtensible;const tt=()=>{};function Vn(e){for(var t=0;t{e=r,t=i});return{promise:n,resolve:e,reject:t}}function Yn(e,t){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const P=2,Ze=4,ft=8,Yt=1<<24,we=16,te=32,Te=64,vt=128,K=512,C=1024,z=2048,ie=4096,H=8192,ee=16384,Ce=32768,Nt=1<<25,Ae=65536,Ot=1<<17,Zn=1<<18,Be=1<<19,Kn=1<<20,re=1<<25,ke=65536,ht=1<<21,mt=1<<22,_e=1<<23,ut=Symbol("$state"),Wn=Symbol(""),ae=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Jn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Xn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Qn(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function $n(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function er(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function tr(e){throw new Error("https://svelte.dev/e/effect_orphan")}function nr(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function rr(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ir(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function sr(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function lr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const ar=1,fr=2,Zt=4,or=8,ur=16,cr=1,dr=2,I=Symbol(),Kt="http://www.w3.org/1999/xhtml";function vr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Wt(e){return e===this.v}function hr(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Jt(e){return!hr(e,this.v)}let _r=!1,U=null;function ze(e){U=e}function De(e,t=!1,n){U={p:U,i:!1,c:null,e:null,s:e,x:null,r:E,l:null}}function Fe(e){var t=U,n=t.e;if(n!==null){t.e=null;for(var r of n)pn(r)}return t.i=!0,U=t.p,{}}function Xt(){return!0}let Pe=[];function pr(){var e=Pe;Pe=[],Vn(e)}function xe(e){if(Pe.length===0){var t=Pe;queueMicrotask(()=>{t===Pe&&pr()})}Pe.push(e)}function Qt(e){var t=E;if(t===null)return x.f|=_e,e;if((t.f&Ce)===0&&(t.f&Ze)===0)throw e;ve(e,t)}function ve(e,t){for(;t!==null;){if((t.f&vt)!==0){if((t.f&Ce)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const gr=-7169;function R(e,t){e.f=e.f&gr|t}function wt(e){(e.f&K)!==0||e.deps===null?R(e,C):R(e,ie)}function $t(e){if(e!==null)for(const t of e)(t.f&P)===0||(t.f&ke)===0||(t.f^=ke,$t(t.deps))}function en(e,t,n){(e.f&z)!==0?t.add(e):(e.f&ie)!==0&&n.add(e),$t(e.deps),R(e,C)}const ce=new Set;let A=null,Q=null,_t=null,ct=!1,Ie=null,nt=null;var Rt=0;let mr=1;class me{id=mr++;current=new Map;previous=new Map;#t=new Set;#f=new Set;#e=new Map;#r=new Map;#i=null;#n=[];#s=new Set;#l=new Set;#a=new Map;is_fork=!1;#c=!1;#o=new Set;#d(){return this.is_fork||this.#r.size>0}#h(){for(const r of this.#o)for(const i of r.#r.keys()){for(var t=!1,n=i;n.parent!==null;){if(this.#a.has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1}skip_effect(t){this.#a.has(t)||this.#a.set(t,{d:[],m:[]})}unskip_effect(t){var n=this.#a.get(t);if(n){this.#a.delete(t);for(var r of n.d)R(r,z),this.schedule(r);for(r of n.m)R(r,ie),this.schedule(r)}}#v(){if(Rt++>1e3&&(ce.delete(this),wr()),!this.#d()){for(const f of this.#s)this.#l.delete(f),R(f,z),this.schedule(f);for(const f of this.#l)R(f,ie),this.schedule(f)}const t=this.#n;this.#n=[],this.apply();var n=Ie=[],r=[],i=nt=[];for(const f of t)try{this.#u(f,n,r)}catch(l){throw sn(f),l}if(A=null,i.length>0){var s=me.ensure();for(const f of i)s.schedule(f)}if(Ie=null,nt=null,this.#d()||this.#h()){this.#_(r),this.#_(n);for(const[f,l]of this.#a)rn(f,l)}else{this.#e.size===0&&ce.delete(this),this.#s.clear(),this.#l.clear();for(const f of this.#t)f(this);this.#t.clear(),Ct(r),Ct(n),this.#i?.resolve()}var a=A;if(this.#n.length>0){const f=a??=this;f.#n.push(...this.#n.filter(l=>!f.#n.includes(l)))}a!==null&&(ce.add(a),a.#v()),ce.has(this)||this.#m()}#u(t,n,r){t.f^=C;for(var i=t.first;i!==null;){var s=i.f,a=(s&(te|Te))!==0,f=a&&(s&C)!==0,l=f||(s&H)!==0||this.#a.has(i);if(!l&&i.fn!==null){a?i.f^=C:(s&Ze)!==0?n.push(i):Xe(i)&&((s&we)!==0&&this.#l.add(i),qe(i));var o=i.first;if(o!==null){i=o;continue}}for(;i!==null;){var u=i.next;if(u!==null){i=u;break}i=i.parent}}}#_(t){for(var n=0;n!this.current.has(u));if(i.length===0)t&&o.discard();else if(n.length>0){o.activate();var s=new Set,a=new Map;for(var f of n)tn(f,i,s,a);if(o.#n.length>0){o.apply();for(var l of o.#n)o.#u(l,[],[]);o.#n=[]}o.deactivate()}}for(const o of ce)o.#o.has(this)&&(o.#o.delete(this),o.#o.size===0&&!o.#d()&&(o.activate(),o.#v()))}increment(t,n){let r=this.#e.get(n)??0;if(this.#e.set(n,r+1),t){let i=this.#r.get(n)??0;this.#r.set(n,i+1)}}decrement(t,n,r){let i=this.#e.get(n)??0;if(i===1?this.#e.delete(n):this.#e.set(n,i-1),t){let s=this.#r.get(n)??0;s===1?this.#r.delete(n):this.#r.set(n,s-1)}this.#c||r||(this.#c=!0,xe(()=>{this.#c=!1,this.flush()}))}transfer_effects(t,n){for(const r of t)this.#s.add(r);for(const r of n)this.#l.add(r);t.clear(),n.clear()}oncommit(t){this.#t.add(t)}ondiscard(t){this.#f.add(t)}settled(){return(this.#i??=Vt()).promise}static ensure(){if(A===null){const t=A=new me;ct||(ce.add(A),xe(()=>{A===t&&t.flush()}))}return A}apply(){{Q=null;return}}schedule(t){if(_t=t,t.b?.is_pending&&(t.f&(Ze|ft|Yt))!==0&&(t.f&Ce)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(Ie!==null&&n===E&&(x===null||(x.f&P)===0))return;if((r&(Te|te))!==0){if((r&C)===0)return;n.f^=C}}this.#n.push(n)}}function wr(){try{nr()}catch(e){ve(e,_t)}}let le=null;function Ct(e){var t=e.length;if(t!==0){for(var n=0;n0)){pe.clear();for(const i of le){if((i.f&(ee|H))!==0)continue;const s=[i];let a=i.parent;for(;a!==null;)le.has(a)&&(le.delete(a),s.push(a)),a=a.parent;for(let f=s.length-1;f>=0;f--){const l=s[f];(l.f&(ee|H))===0&&qe(l)}}le.clear()}}le=null}}function tn(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const i of e.reactions){const s=i.f;(s&P)!==0?tn(i,t,n,r):(s&(mt|we))!==0&&(s&z)===0&&nn(i,t,r)&&(R(i,z),bt(i))}}function nn(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const i of e.deps){if(Le.call(t,i))return!0;if((i.f&P)!==0&&nn(i,t,n))return n.set(i,!0),!0}return n.set(e,!1),!1}function bt(e){A.schedule(e)}function rn(e,t){if(!((e.f&te)!==0&&(e.f&C)!==0)){(e.f&z)!==0?t.d.push(e):(e.f&ie)!==0&&t.m.push(e),R(e,C);for(var n=e.first;n!==null;)rn(n,t),n=n.next}}function sn(e){R(e,C);for(var t=e.first;t!==null;)sn(t),t=t.next}function br(e){let t=0,n=Me(0),r;return()=>{Et()&&(p(n),Gr(()=>(t===0&&(r=Mn(()=>e(()=>Ye(n)))),t+=1,()=>{xe(()=>{t-=1,t===0&&(r?.(),r=void 0,Ye(n))})})))}}var yr=Ae|Be;function xr(e,t,n,r){new Er(e,t,n,r)}class Er{parent;is_pending=!1;transform_error;#t;#f=null;#e;#r;#i;#n=null;#s=null;#l=null;#a=null;#c=0;#o=0;#d=!1;#h=new Set;#v=new Set;#u=null;#_=br(()=>(this.#u=Me(this.#c),()=>{this.#u=null}));constructor(t,n,r,i){this.#t=t,this.#e=n,this.#r=s=>{var a=E;a.b=this,a.f|=vt,r(s)},this.parent=E.b,this.transform_error=i??this.parent?.transform_error??(s=>s),this.#i=ot(()=>{this.#w()},yr)}#m(){try{this.#n=Y(()=>this.#r(this.#t))}catch(t){this.error(t)}}#y(t){const n=this.#e.failed;n&&(this.#l=Y(()=>{n(this.#t,()=>t,()=>()=>{})}))}#x(){const t=this.#e.pending;t&&(this.is_pending=!0,this.#s=Y(()=>t(this.#t)),xe(()=>{var n=this.#a=document.createDocumentFragment(),r=oe();n.append(r),this.#n=this.#g(()=>Y(()=>this.#r(r))),this.#o===0&&(this.#t.before(n),this.#a=null,Ee(this.#s,()=>{this.#s=null}),this.#p(A))}))}#w(){try{if(this.is_pending=this.has_pending_snippet(),this.#o=0,this.#c=0,this.#n=Y(()=>{this.#r(this.#t)}),this.#o>0){var t=this.#a=document.createDocumentFragment();At(this.#n,t);const n=this.#e.pending;this.#s=Y(()=>n(this.#t))}else this.#p(A)}catch(n){this.error(n)}}#p(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#v)}defer_effect(t){en(t,this.#h,this.#v)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#e.pending}#g(t){var n=E,r=x,i=U;se(this.#i),J(this.#i),ze(this.#i.ctx);try{return me.ensure(),t()}catch(s){return Qt(s),null}finally{se(n),J(r),ze(i)}}#b(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#b(t,n);return}this.#o+=t,this.#o===0&&(this.#p(n),this.#s&&Ee(this.#s,()=>{this.#s=null}),this.#a&&(this.#t.before(this.#a),this.#a=null))}update_pending_count(t,n){this.#b(t,n),this.#c+=t,!(!this.#u||this.#d)&&(this.#d=!0,xe(()=>{this.#d=!1,this.#u&&je(this.#u,this.#c)}))}get_effect_pending(){return this.#_(),p(this.#u)}error(t){var n=this.#e.onerror;let r=this.#e.failed;if(!n&&!r)throw t;this.#n&&(q(this.#n),this.#n=null),this.#s&&(q(this.#s),this.#s=null),this.#l&&(q(this.#l),this.#l=null);var i=!1,s=!1;const a=()=>{if(i){vr();return}i=!0,s&&lr(),this.#l!==null&&Ee(this.#l,()=>{this.#l=null}),this.#g(()=>{this.#w()})},f=l=>{try{s=!0,n?.(l,a),s=!1}catch(o){ve(o,this.#i&&this.#i.parent)}r&&(this.#l=this.#g(()=>{try{return Y(()=>{var o=E;o.b=this,o.f|=vt,r(this.#t,()=>l,()=>a)})}catch(o){return ve(o,this.#i.parent),null}}))};xe(()=>{var l;try{l=this.transform_error(t)}catch(o){ve(o,this.#i&&this.#i.parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(f,o=>ve(o,this.#i&&this.#i.parent)):f(l)})}}function Sr(e,t,n,r){const i=yt;var s=e.filter(c=>!c.settled);if(n.length===0&&s.length===0){r(t.map(i));return}var a=E,f=Tr(),l=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(c=>c.promise)):null;function o(c){f();try{r(c)}catch(h){(a.f&ee)===0&&ve(h,a)}st()}if(n.length===0){l.then(()=>o(t.map(i)));return}var u=ln();function v(){Promise.all(n.map(c=>Ar(c))).then(c=>o([...t.map(i),...c])).catch(c=>ve(c,a)).finally(()=>u())}l?l.then(()=>{f(),v(),st()}):v()}function Tr(){var e=E,t=x,n=U,r=A;return function(s=!0){se(e),J(t),ze(n),s&&(e.f&ee)===0&&(r?.activate(),r?.apply())}}function st(e=!0){se(null),J(null),ze(null),e&&A?.deactivate()}function ln(){var e=E,t=e.b,n=A,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(i=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,i)}}function yt(e){var t=P|z,n=x!==null&&(x.f&P)!==0?x:null;return E!==null&&(E.f|=Be),{ctx:U,deps:null,effects:null,equals:Wt,f:t,fn:e,reactions:null,rv:0,v:I,wv:0,parent:n??E,ac:null}}function Ar(e,t,n){let r=E;r===null&&Xn();var i=void 0,s=Me(I),a=!x,f=new Map;return Br(()=>{var l=E,o=Vt();i=o.promise;try{Promise.resolve(e()).then(o.resolve,o.reject).finally(st)}catch(h){o.reject(h),st()}var u=A;if(a){if((l.f&Ce)!==0)var v=ln();if(r.b.is_rendered())f.get(u)?.reject(ae),f.delete(u);else{for(const h of f.values())h.reject(ae);f.clear()}f.set(u,o)}const c=(h,_=void 0)=>{if(v){var w=_===ae;v(w)}if(!(_===ae||(l.f&ee)!==0)){if(u.activate(),_)s.f|=_e,je(s,_);else{(s.f&_e)!==0&&(s.f^=_e),je(s,h);for(const[d,m]of f){if(f.delete(d),d===u)break;m.reject(ae)}}u.deactivate()}};o.promise.then(c,h=>c(null,h||"unknown"))}),zr(()=>{for(const l of f.values())l.reject(ae)}),new Promise(l=>{function o(u){function v(){u===i?l(s):o(i)}u.then(v,v)}o(i)})}function L(e){const t=yt(e);return yn(t),t}function kr(e){const t=yt(e);return t.equals=Jt,t}function Mr(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n0&&!on&&Cr()}return t}function Cr(){on=!1;for(const e of pt)(e.f&C)!==0&&R(e,ie),Xe(e)&&qe(e);pt.clear()}function Ye(e){Z(e,e.v+1)}function un(e,t,n){var r=e.reactions;if(r!==null)for(var i=r.length,s=0;s{if(Se===s)return f();var l=x,o=Se;J(null),Pt(s);var u=f();return J(l),Pt(o),u};return r&&n.set("length",G(e.length)),new Proxy(e,{defineProperty(f,l,o){(!("value"in o)||o.configurable===!1||o.enumerable===!1||o.writable===!1)&&rr();var u=n.get(l);return u===void 0?a(()=>{var v=G(o.value);return n.set(l,v),v}):Z(u,o.value,!0),!0},deleteProperty(f,l){var o=n.get(l);if(o===void 0){if(l in f){const u=a(()=>G(I));n.set(l,u),Ye(i)}}else Z(o,I),Ye(i);return!0},get(f,l,o){if(l===ut)return e;var u=n.get(l),v=l in f;if(u===void 0&&(!v||Ve(f,l)?.writable)&&(u=a(()=>{var h=He(v?f[l]:I),_=G(h);return _}),n.set(l,u)),u!==void 0){var c=p(u);return c===I?void 0:c}return Reflect.get(f,l,o)},getOwnPropertyDescriptor(f,l){var o=Reflect.getOwnPropertyDescriptor(f,l);if(o&&"value"in o){var u=n.get(l);u&&(o.value=p(u))}else if(o===void 0){var v=n.get(l),c=v?.v;if(v!==void 0&&c!==I)return{enumerable:!0,configurable:!0,value:c,writable:!0}}return o},has(f,l){if(l===ut)return!0;var o=n.get(l),u=o!==void 0&&o.v!==I||Reflect.has(f,l);if(o!==void 0||E!==null&&(!u||Ve(f,l)?.writable)){o===void 0&&(o=a(()=>{var c=u?He(f[l]):I,h=G(c);return h}),n.set(l,o));var v=p(o);if(v===I)return!1}return u},set(f,l,o,u){var v=n.get(l),c=l in f;if(r&&l==="length")for(var h=o;hG(I)),n.set(h+"",_))}if(v===void 0)(!c||Ve(f,l)?.writable)&&(v=a(()=>G(void 0)),Z(v,He(o)),n.set(l,v));else{c=v.v!==I;var w=a(()=>He(o));Z(v,w)}var d=Reflect.getOwnPropertyDescriptor(f,l);if(d?.set&&d.set.call(u,o),!c){if(r&&typeof l=="string"){var m=n.get("length"),y=Number(l);Number.isInteger(y)&&y>=m.v&&Z(m,y+1)}Ye(i)}return!0},ownKeys(f){p(i);var l=Reflect.ownKeys(f).filter(v=>{var c=n.get(v);return c===void 0||c.v!==I});for(var[o,u]of n)u.v!==I&&!(o in f)&&l.push(o);return l},setPrototypeOf(){ir()}})}var Dt,cn,dn,vn;function Dr(){if(Dt===void 0){Dt=window,cn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;dn=Ve(t,"firstChild").get,vn=Ve(t,"nextSibling").get,Mt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Mt(n)&&(n.__t=void 0)}}function oe(e=""){return document.createTextNode(e)}function he(e){return dn.call(e)}function Je(e){return vn.call(e)}function k(e,t){return he(e)}function Ne(e,t=!1){{var n=he(e);return n instanceof Comment&&n.data===""?Je(n):n}}function O(e,t=1,n=!1){let r=e;for(;t--;)r=Je(r);return r}function Fr(e){e.textContent=""}function hn(){return!1}function Pr(e,t,n){return document.createElementNS(Kt,e,void 0)}function _n(e){var t=x,n=E;J(null),se(null);try{return e()}finally{J(t),se(n)}}function Ir(e){E===null&&(x===null&&tr(),er()),Oe&&$n()}function Lr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function be(e,t){var n=E;n!==null&&(n.f&H)!==0&&(e|=H);var r={ctx:U,deps:null,nodes:null,f:e|z|K,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},i=r;if((e&Ze)!==0)Ie!==null?Ie.push(r):me.ensure().schedule(r);else if(t!==null){try{qe(r)}catch(a){throw q(r),a}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Be)===0&&(i=i.first,(e&we)!==0&&(e&Ae)!==0&&i!==null&&(i.f|=Ae))}if(i!==null&&(i.parent=n,n!==null&&Lr(i,n),x!==null&&(x.f&P)!==0&&(e&Te)===0)){var s=x;(s.effects??=[]).push(i)}return r}function Et(){return x!==null&&!$}function zr(e){const t=be(ft,null);return R(t,C),t.teardown=e,t}function jr(e){Ir();var t=E.f,n=!x&&(t&te)!==0&&(t&Ce)===0;if(n){var r=U;(r.e??=[]).push(e)}else return pn(e)}function pn(e){return be(Ze|Kn,e)}function qr(e){me.ensure();const t=be(Te|Be,e);return(n={})=>new Promise(r=>{n.outro?Ee(t,()=>{q(t),r(void 0)}):(q(t),r(void 0))})}function Br(e){return be(mt|Be,e)}function Gr(e,t=0){return be(ft|t,e)}function ge(e,t=[],n=[],r=[]){Sr(r,t,n,i=>{be(ft,()=>e(...i.map(p)))})}function ot(e,t=0){var n=be(we|t,e);return n}function Y(e){return be(te|Be,e)}function gn(e){var t=e.teardown;if(t!==null){const n=Oe,r=x;Ft(!0),J(null);try{t.call(null)}finally{Ft(n),J(r)}}}function St(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&_n(()=>{i.abort(ae)});var r=n.next;(n.f&Te)!==0?n.parent=null:q(n,t),n=r}}function Hr(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&te)===0&&q(t),t=n}}function q(e,t=!0){var n=!1;(t||(e.f&Zn)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Ur(e.nodes.start,e.nodes.end),n=!0),R(e,Nt),St(e,t&&!n),Ke(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const s of r)s.stop();gn(e),e.f^=Nt,e.f|=ee;var i=e.parent;i!==null&&i.first!==null&&mn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Ur(e,t){for(;e!==null;){var n=e===t?null:Je(e);e.remove(),e=n}}function mn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Ee(e,t,n=!0){var r=[];wn(e,r,!0);var i=()=>{n&&q(e),t&&t()},s=r.length;if(s>0){var a=()=>--s||i();for(var f of r)f.out(a)}else i()}function wn(e,t,n){if((e.f&H)===0){e.f^=H;var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)(f.is_global||n)&&t.push(f);for(var i=e.first;i!==null;){var s=i.next,a=(i.f&Ae)!==0||(i.f&te)!==0&&(e.f&we)!==0;wn(i,t,a?n:!1),i=s}}}function Tt(e){bn(e,!0)}function bn(e,t){if((e.f&H)!==0){e.f^=H,(e.f&C)===0&&(R(e,z),me.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&Ae)!==0||(n.f&te)!==0;bn(n,i?t:!1),n=r}var s=e.nodes&&e.nodes.t;if(s!==null)for(const a of s)(a.is_global||t)&&a.in()}}function At(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Je(n);t.append(n),n=i}}let rt=!1,Oe=!1;function Ft(e){Oe=e}let x=null,$=!1;function J(e){x=e}let E=null;function se(e){E=e}let W=null;function yn(e){x!==null&&(W===null?W=[e]:W.push(e))}let j=null,B=0,V=null;function Vr(e){V=e}let xn=1,ye=0,Se=ye;function Pt(e){Se=e}function En(){return++xn}function Xe(e){var t=e.f;if((t&z)!==0)return!0;if(t&P&&(e.f&=~ke),(t&ie)!==0){for(var n=e.deps,r=n.length,i=0;ie.wv)return!0}(t&K)!==0&&Q===null&&R(e,C)}return!1}function Sn(e,t,n=!0){var r=e.reactions;if(r!==null&&!(W!==null&&Le.call(W,e)))for(var i=0;i{e.ac.abort(ae)}),e.ac=null);try{e.f|=ht;var u=e.fn,v=u();e.f|=Ce;var c=e.deps,h=A?.is_fork;if(j!==null){var _;if(h||Ke(e,B),c!==null&&B>0)for(c.length=B+j.length,_=0;_{throw d});throw c}}finally{e[Qe]=t,delete e.currentTarget,J(u),se(v)}}}const Jr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Xr(e){return Jr?.createHTML(e)??e}function Nn(e){var t=Pr("template");return t.innerHTML=Xr(e.replaceAll("","")),t.content}function We(e,t){var n=E;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function ne(e,t){var n=(t&cr)!==0,r=(t&dr)!==0,i,s=!e.startsWith("");return()=>{i===void 0&&(i=Nn(s?e:""+e),n||(i=he(i)));var a=r||cn?document.importNode(i,!0):i.cloneNode(!0);if(n){var f=he(a),l=a.lastChild;We(f,l)}else We(a,a);return a}}function Qr(e,t,n="svg"){var r=!e.startsWith(""),i=`<${n}>${r?e:""+e}`,s;return()=>{if(!s){var a=Nn(i),f=he(a);for(s=document.createDocumentFragment();he(f);)s.appendChild(he(f))}var l=s.cloneNode(!0);{var o=he(l),u=l.lastChild;We(o,u)}return l}}function $r(e,t){return Qr(e,t,"svg")}function it(e=""){{var t=oe(e+"");return We(t,t),t}}function kt(){var e=document.createDocumentFragment(),t=document.createComment(""),n=oe();return e.append(t,n),We(t,n),e}function D(e,t){e!==null&&e.before(t)}function fe(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function ei(e,t){return ti(e,t)}const $e=new Map;function ti(e,{target:t,anchor:n,props:r={},events:i,context:s,intro:a=!0,transformError:f}){Dr();var l=void 0,o=qr(()=>{var u=n??t.appendChild(oe());xr(u,{pending:()=>{}},h=>{De({});var _=U;s&&(_.c=s),i&&(r.$$events=i),l=e(h,r)||{},Fe()},f);var v=new Set,c=h=>{for(var _=0;_{for(var h of v)for(const d of[t,document]){var _=$e.get(d),w=_.get(h);--w==0?(d.removeEventListener(h,zt),_.delete(h),_.size===0&&$e.delete(d)):_.set(h,w)}It.delete(c),u!==n&&u.parentNode?.removeChild(u)}});return ni.set(l,o),l}let ni=new WeakMap;class On{anchor;#t=new Map;#f=new Map;#e=new Map;#r=new Set;#i=!0;constructor(t,n=!0){this.anchor=t,this.#i=n}#n=t=>{if(this.#t.has(t)){var n=this.#t.get(t),r=this.#f.get(n);if(r)Tt(r),this.#r.delete(n);else{var i=this.#e.get(n);i&&(this.#f.set(n,i.effect),this.#e.delete(n),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),r=i.effect)}for(const[s,a]of this.#t){if(this.#t.delete(s),s===t)break;const f=this.#e.get(a);f&&(q(f.effect),this.#e.delete(a))}for(const[s,a]of this.#f){if(s===n||this.#r.has(s))continue;const f=()=>{if(Array.from(this.#t.values()).includes(s)){var o=document.createDocumentFragment();At(a,o),o.append(oe()),this.#e.set(s,{effect:a,fragment:o})}else q(a);this.#r.delete(s),this.#f.delete(s)};this.#i||!r?(this.#r.add(s),Ee(a,f,!1)):f()}}};#s=t=>{this.#t.delete(t);const n=Array.from(this.#t.values());for(const[r,i]of this.#e)n.includes(r)||(q(i.effect),this.#e.delete(r))};ensure(t,n){var r=A,i=hn();if(n&&!this.#f.has(t)&&!this.#e.has(t))if(i){var s=document.createDocumentFragment(),a=oe();s.append(a),this.#e.set(t,{effect:Y(()=>n(a)),fragment:s})}else this.#f.set(t,Y(()=>n(this.anchor)));if(this.#t.set(r,t),i){for(const[f,l]of this.#f)f===t?r.unskip_effect(l):r.skip_effect(l);for(const[f,l]of this.#e)f===t?r.unskip_effect(l.effect):r.skip_effect(l.effect);r.oncommit(this.#n),r.ondiscard(this.#s)}else this.#n(r)}}function Re(e,t,n=!1){var r=new On(e),i=n?Ae:0;function s(a,f){r.ensure(a,f)}ot(()=>{var a=!1;t((f,l=0)=>{a=!0,s(l,f)}),a||s(-1,null)},i)}function Rn(e,t){return t}function ri(e,t,n){for(var r=[],i=t.length,s,a=t.length,f=0;f{if(s){if(s.pending.delete(v),s.done.add(v),s.pending.size===0){var c=e.outrogroups;gt(e,at(s.done)),c.delete(s),c.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var l=r.length===0&&n!==null;if(l){var o=n,u=o.parentNode;Fr(u),u.append(o),e.items.clear()}gt(e,t,!l)}else s={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(s)}function gt(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const a of e.pending.values())for(const f of a)r.add(e.items.get(f).e)}for(var i=0;i{var g=n();return Ht(g)?g:g==null?[]:at(g)}),c,h=new Map,_=!0;function w(g){(y.effect.f&ee)===0&&(y.pending.delete(g),y.fallback=u,ii(y,c,a,t,r),u!==null&&(c.length===0?(u.f&re)===0?Tt(u):(u.f^=re,Ue(u,null,a)):Ee(u,()=>{u=null})))}function d(g){y.pending.delete(g)}var m=ot(()=>{c=p(v);for(var g=c.length,b=new Set,T=A,S=hn(),M=0;Ms(a)):(u=Y(()=>s(jt??=oe())),u.f|=re)),g>b.size&&Qn(),!_)if(h.set(T,b),S){for(const[Ln,zn]of f)b.has(Ln)||T.skip_effect(zn.e);T.oncommit(w),T.ondiscard(d)}else w(T);p(v)}),y={effect:m,items:f,pending:h,outrogroups:null,fallback:u};_=!1}function Ge(e){for(;e!==null&&(e.f&te)===0;)e=e.next;return e}function ii(e,t,n,r,i){var s=(r&or)!==0,a=t.length,f=e.items,l=Ge(e.effect.first),o,u=null,v,c=[],h=[],_,w,d,m;if(s)for(m=0;m0){var ue=(r&Zt)!==0&&a===0?n:null;if(s){for(m=0;m{if(v!==void 0)for(d of v)d.nodes?.a?.apply()})}function si(e,t,n,r,i,s,a,f){var l=(a&ar)!==0?(a&ur)===0?Rr(n,!1,!1):Me(n):null,o=(a&fr)!==0?Me(i):null;return{v:l,i:o,e:Y(()=>(s(t,l??n,o??i,f),()=>{e.delete(r)}))}}function Ue(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,s=t&&(t.f&re)===0?t.nodes.start:n;r!==null;){var a=Je(r);if(s.before(r),r===i)return;r=a}}function de(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function li(e,t,...n){var r=new On(e);ot(()=>{const i=t()??null;r.ensure(i,i&&(s=>i(s,...n)))},Ae)}const qt=[...` +\r\f \v\uFEFF`];function ai(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+" "+i:i;else if(r.length)for(var s=i.length,a=0;(a=r.indexOf(i,a))>=0;){var f=a+s;(a===0||qt.includes(r[a-1]))&&(f===r.length||qt.includes(r[f]))?r=(a===0?"":r.substring(0,a))+r.substring(f+1):a=f}}return r===""?null:r}function fi(e,t){return e==null?null:String(e)}function lt(e,t,n,r,i,s){var a=e.__className;if(a!==n||a===void 0){var f=ai(n,r,s);f==null?e.removeAttribute("class"):t?e.className=f:e.setAttribute("class",f),e.__className=n}else if(s&&i!==s)for(var l in s){var o=!!s[l];(i==null||o!==!!i[l])&&e.classList.toggle(l,o)}return s}function dt(e,t,n,r){var i=e.__style;if(i!==t){var s=fi(t);s==null?e.removeAttribute("style"):e.style.cssText=s,e.__style=t}return r}const oi=Symbol("is custom element"),ui=Symbol("is html");function N(e,t,n,r){var i=ci(e);i[t]!==(i[t]=n)&&(t==="loading"&&(e[Wn]=n),n==null?e.removeAttribute(t):typeof n!="string"&&di(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ci(e){return e.__attributes??={[oi]:e.nodeName.includes("-"),[ui]:e.namespaceURI===Kt}}var Bt=new Map;function di(e){var t=e.getAttribute("is")||e.nodeName,n=Bt.get(t);if(n)return n;Bt.set(t,n=[]);for(var r,i=e,s=Element.prototype;s!==i;){r=Gn(i);for(var a in r)r[a].set&&n.push(a);i=Ut(i)}return n}function vi(e,t,n,r){var i=r,s=!0,a=()=>(s&&(s=!1,i=r),i),f;f=e[t],f===void 0&&r!==void 0&&(f=a());var l;return l=()=>{var o=e[t];return o===void 0?a():(s=!0,o)},l}function Dn(e){U===null&&Jn(),jr(()=>{const t=Mn(e);if(typeof t=="function")return t})}const hi="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(hi);const _i="/pprace/assets/pepeMeltdown-fBHTAGCg.avif",pi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='300'%20height='300'%20viewBox='0%200%203%203'%20%3e%3crect%20x='0'%20y='0'%20height='1'%20width='1'%20fill='%23fff'%20/%3e%3crect%20x='2'%20y='0'%20height='1'%20width='1'%20fill='%23fff'%20/%3e%3crect%20x='1'%20y='1'%20height='1'%20width='1'%20fill='%23bb3874'%20/%3e%3crect%20x='0'%20y='2'%20height='1'%20width='1'%20fill='%23fff'%20/%3e%3crect%20x='2'%20y='2'%20height='1'%20width='1'%20fill='%23fff'%20/%3e%3c/svg%3e",Fn="https://kv.clxxiii.dev",Pn="public:pprace",gi=async e=>{const t=`${Fn}/GET/${Pn}:${e}:config`,r=await(await fetch(t)).json();return JSON.parse(r.GET)},Gt=async(e,t)=>{const n=`${Fn}/ZRANGE/${Pn}:${e}:snapshot:${t}/0/-1/WITHSCORES`,i=await(await fetch(n)).json(),s=[];for(let a=i.ZRANGE.length-1;a>=0;a=a-2){const f=parseInt(i.ZRANGE[a-1]),l=parseFloat(i.ZRANGE[a]);s.push({user_id:f,score:l})}return s};var mi=ne('
');function In(e,t){let n=vi(t,"title",3,"title");var r=mi(),i=k(r),s=k(i),a=O(i,2);li(a,()=>t.children),ge(()=>{lt(r,1,`border-zinc-500 border-[1.5px] overflow-hidden rounded-lg ${(t.class?t.class:"")??""}`),fe(s,`⁙ ${n()??""}`)}),D(e,r)}var wi=$r('',1);function bi(e,t){De(t,!0);const n=20,r=2.5;let i=L(()=>t.path.points.length-1),s=L(()=>t.path.points[p(i)]),a=L(()=>`M ${n/2} ${t.height-n/2} ${t.path.points.map(_=>[_[0]+n/2,_[1]-n/2]).map(_=>_.join(" ")).join(" L ")}`);var f=wi(),l=Ne(f);N(l,"stroke-width",1.5);let o;var u=O(l),v=k(u);N(v,"r",n/2);var c=O(u);N(c,"r",n/2+r);var h=O(c);N(h,"width",n),N(h,"height",n),ge(()=>{N(l,"d",p(a)),o=lt(l,0,"",null,o,{"stroke-amber-400":t.place==1,"stroke-gray-400":t.place==2,"stroke-orange-800":t.place==3,"stroke-zinc-600":t.place>3}),N(u,"id",`circle-${t.path.user.id??""}-clip`),N(v,"cx",p(s)[0]+n/2),N(v,"cy",p(s)[1]-n/2),N(c,"cx",p(s)[0]+n/2),N(c,"cy",p(s)[1]-n/2),N(h,"href",t.path.user.avatar_url),N(h,"x",p(s)[0]),N(h,"y",p(s)[1]-n),N(h,"clip-path",`url(#circle-${t.path.user.id??""}-clip`)}),D(e,f),Fe()}const yi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='3'%20height='2'%20viewBox='0%200%203%202'%3e%3crect%20x='0'%20y='0'%20height='1'%20width='1'%20fill='%23dadada'%20/%3e%3crect%20x='2'%20y='0'%20height='1'%20width='1'%20fill='%23dadada'%20/%3e%3crect%20x='1'%20y='1'%20height='1'%20width='1'%20fill='%23dadada'%20/%3e%3c/svg%3e";var xi=ne('
'),Ei=ne('
'),Si=ne('
');function Ti(e,t){De(t,!0);const n=300,r=900,i=30,s=L(()=>{if(!t.event)return[];const l=t.event.snapshot_times[t.event.snapshot_times.length-1],o=[...t.event.snapshot_times];t.event.end_date&&o.push(t.event.end_date);const u=o.map(g=>new Date(g).valueOf()),v=Math.min(...u),c=u.map(g=>g-v),h=[Math.min(...c),Math.max(...c)];console.log(h),h[1]==0&&(h[1]=1);const _=t.event.users.flatMap(g=>g.pp_history),w=(u[u.length-1]-u[0])/(new Date(l).valueOf()-u[0])*Math.max(..._),d=[Math.min(..._),w+i];isNaN(d[1])&&(d[1]=i);const m=[...t.event.users];m.sort((g,b)=>g.pp_history[b.pp_history.length-1]-b.pp_history[g.pp_history.length-1]);const y=[];for(let g=0;g{var u=Ei();dt(u,"--ar: 3");var v=k(u);{var c=d=>{var m=xi();ge(()=>dt(m,`background-image: url(${`"${yi}"`}); background-size: contain;`)),D(d,m)};Re(v,d=>{t.event&&t.event.end_date&&d(c)})}var h=O(v,2);N(h,"viewBox",`${[8,0,r,n]}`);var _=k(h);{var w=d=>{var m=kt(),y=Ne(m);Cn(y,17,()=>p(s),Rn,(g,b,T)=>{{let S=L(()=>t.event.users.length-T);bi(g,{get path(){return p(b)},height:n,width:r,get place(){return p(S)}})}}),D(d,m)};Re(_,d=>{p(s)&&d(w)})}D(l,u)},$$slots:{default:!0}}),D(e,a),Fe()}var Ai=ne('
');function ki(e,t){De(t,!0);let n=L(()=>t.pastplace-t.place+1);var r=Ai(),i=k(r),s=k(i);let a;var f=k(s),l=O(s,2);let o;var u=k(l);{var v=S=>{var M=it();ge(()=>fe(M,`↑${p(n)??""}`)),D(S,M)},c=S=>{var M=it();ge(X=>fe(M,`↓${X??""}`),[()=>Math.abs(p(n))]),D(S,M)},h=S=>{var M=it("-");D(S,M)};Re(u,S=>{p(n)>0?S(v):p(n)<0?S(c,1):S(h,-1)})}var _=O(l,2),w=k(_),d=O(w,2),m=k(d),y=O(d,2),g=k(y),b=O(i),T=k(b);ge(S=>{a=lt(s,1,"text-zinc-800 w-6 grid justify-center items-center rounded-full place-self-center text-xs font-bold",null,a,{"bg-amber-400":t.place==1,"bg-gray-400":t.place==2,"bg-orange-800":t.place==3,"bg-zinc-600":t.place>3,"h-4":t.place>3,"h-6":t.place<=3}),fe(f,t.place),o=lt(l,1,"grid place-self-center w-5 text-sm font-light",null,o,{"text-green-600":p(n)>0,"text-red-600":p(n)<0}),N(w,"src",t.user.avatar_url),N(w,"alt",`${t.user.username??""}'s avatar`),fe(m,t.user.username),fe(g,`@ ${t.user.initial_pp??""}pp`),fe(T,`+${S??""}pp`)},[()=>t.score.toFixed(2)]),D(e,r),Fe()}var Mi=ne('
');function Ni(e,t){De(t,!0);let n=L(()=>{let i={};return t.event.users.forEach(s=>{i[s.id]=s}),i});t.past||t.current.sort((i,s)=>p(n)[i.user_id].initial_rank-p(n)[s.user_id].initial_rank);let r=L(()=>t.past?.map(i=>i.user_id));In(e,{title:"leaderboard",children:(i,s)=>{var a=Mi(),f=k(a);Cn(f,21,()=>t.current,Rn,(l,o,u)=>{{let v=L(()=>p(r)?.indexOf(p(o).user_id));ki(l,{get user(){return p(n)[p(o).user_id]},get score(){return p(o).score},place:u+1,get pastplace(){return p(v)}})}}),D(i,a)},$$slots:{default:!0}}),Fe()}const et=(e,t=tt,n=tt,r=tt)=>{var i=kt(),s=Ne(i);{var a=f=>{var l=Oi(),o=k(l),u=k(o),v=O(o,2),c=k(v);ge(()=>{fe(u,n()),fe(c,t())}),D(f,l)};Re(s,f=>{r()>0&&f(a)})}D(e,i)};var Oi=ne('
'),Ri=ne('
Time Remaining
',1),Ci=ne('
The race is on!
');function Di(e,t){De(t,!0);let n=G(null);Dn(()=>{let l=setInterval(()=>{t.event?.end_date&&Z(n,new Date(t.event.end_date).valueOf()-Date.now())},12);return()=>clearInterval(l)});var r=kt(),i=Ne(r);{var s=l=>{},a=L(()=>t.event.end_date&&new Date(t.event.end_date).valueOf(){var o=Ci(),u=O(k(o),2);{var v=c=>{var h=Ri(),_=Ne(h),w=k(_);{let g=L(()=>Math.floor(p(n)/1e3/60/60/24)),b=L(()=>Math.floor(p(n)/1e3/60/60/24));et(w,()=>"days",()=>p(g),()=>p(b))}var d=O(w,2);{let g=L(()=>Math.floor(p(n)/1e3/60/60%24)),b=L(()=>Math.floor(p(n)/1e3/60/60));et(d,()=>"hours",()=>p(g),()=>p(b))}var m=O(d,2);{let g=L(()=>Math.floor(p(n)/1e3/60%60)),b=L(()=>Math.floor(p(n)/1e3/60/60));et(m,()=>"minutes",()=>p(g),()=>p(b))}var y=O(m,2);{let g=L(()=>Number.parseFloat(p(n)/1e3%60).toFixed(2));et(y,()=>"seconds",()=>p(g),()=>p(n))}D(c,h)};Re(u,c=>{p(n)&&c(v)})}D(l,o)};Re(i,l=>{p(a)?l(s):l(f,-1)})}D(e,r),Fe()}var Fi=ne(" ",1),Pi=ne('
pprace icon pprace
',1);function Ii(e,t){De(t,!0);const n="event",r=3600*12;let i=G(!1),s=G(null),a=G(null),f=G(null);Dn(async()=>{Z(s,await gi(n),!0);const y=p(s).snapshot_times.length-1;await(async g=>{var b=Yn(g,2);Z(a,b[0],!0),Z(f,b[1],!0)})(await Promise.all([Gt(n,y),new Promise(g=>{y-1<0&&g(null);let b=null;for(let T=y-1;T>=0;T--){let S=p(s).snapshot_times[T];if(Date.now()-new Date(S).valueOf()>=r*1e3){b=T;break}}b||g(null),Gt(n,b).then(g)})])),Z(i,!0)});var l=Pi(),o=Ne(l),u=k(o),v=k(u),c=O(o,2),h=k(c);{var _=y=>{var g=Fi(),b=Ne(g);Di(b,{get event(){return p(s)}});var T=O(b,2);Ti(T,{get event(){return p(s)}});var S=O(T,2);Ni(S,{get event(){return p(s)},get current(){return p(a)},get past(){return p(f)}}),D(y,g)},w=y=>{var g=it("Loading...");D(y,g)};Re(h,y=>{p(i)?y(_):y(w,-1)})}var d=O(c,2),m=O(k(d),2);ge(()=>{N(v,"src",pi),N(m,"src",_i)}),D(e,l),Fe()}ei(Ii,{target:document.getElementById("app")}); diff --git a/site/index.html b/site/index.html index 7284375..80750e5 100644 --- a/site/index.html +++ b/site/index.html @@ -8,7 +8,7 @@ pprace - + -- 2.51.2